Maneira correta de lidar com o botão de barra de ação?

Eu uso o ActionBarSherlock (embora eu não ache que isso importe).

Eu tenho uma atividade principal e uma atividade sobre. Eu quero que a atividade Sobre exiba a seta para trás por seu logotipo, e faça a animação apropriada e tal. Eu não sei como fazer isso corretamente.

Atualmente, eu tenho sob onOptionsMenuItemSelected para iniciar a atividade principal quando o botão Up / Home é pressionado, mas é hacky e realmente não funciona direito. Ele reproduz a animação errada e lida com multitarefa mal.

Como faço para configurar isso certo?

Aqui está a parte da minha atividade principal que lança o Sobre:

Intent aboutIntent = new Intent(MainActivity.this, About.class);
MainActivity.this.startActivity(aboutIntent);

Aqui está minha atividade Sobre:

package com.stevenschoen.test;

import android.content.Intent;
import android.os.Bundle;

import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.MenuItem;

public class About extends SherlockActivity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.about);

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowTitleEnabled(false);
    }

    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {

            case android.R.id.home:
                // app icon in action bar clicked; go home
                Intent intentHome = new Intent(this, MainActivity.class);
                intentHome.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intentHome);
                return true;

            default:
                return super.onOptionsItemSelected(item);
        }
    }
}

questionAnswers(6)

yourAnswerToTheQuestion