Android - onBackPressed () funktioniert nicht

Ich habe eine Anwendung, die gegen Android 2.1 erstellt wird, und ich möchte die Schaltfläche "Zurück" überschreiben.

Ich bin dem Beispiel hier gefolgt:

http: //android-developers.blogspot.com/2009_12_01_archive.htm

Und mein Code lautet wie folgt:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)  {
        if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
                && keyCode == KeyEvent.KEYCODE_BACK
                && event.getRepeatCount() == 0) {
            Log.d("CDA", "onKeyDown Called");
            onBackPressed();
        }

        return true;
    }

    @Override
    public void onBackPressed() {
    Log.d("CDA", "onBackPressed Called");
        Intent setIntent = new Intent(Intent.ACTION_MAIN);
        setIntent.addCategory(Intent.CATEGORY_HOME);
        setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(setIntent); 

        return;
    }   

Es funktioniert auf Geräten vor 2.x, aber nicht auf einem Hero mit 2.1 Update-1 und einem Nexus One mit 2.2.

Ist da etwas, was ich im Beispiel vermisse? Oder kann jemand darauf hinweisen, warum es nicht funktioniert?

Ich bekomme nicht einmal den Knopf im Logcat gedrückt.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage