La manipulation Android bouton de Retour

J'ai un onKeyDown événement qui est seulement nécessaire pour la manutention, le Haut et Bas touches matérielles dans mon application. Pour ces elle renvoie true, comme ils sont traités.
Pour tout le reste il renvoie faux que je comprends, cela signifie que le système d'exploitation doit gérer.
Cependant, lorsque j'appuie sur le bouton de Retour, mon onKeyDown est appelé et renvoie la valeur false, mais il n'y a pas d'autre effet. Je veux attendre que l'OS fini le courant Activity et de reprendre la précédente.

Est ce comportement correct, ou est-il quelque chose d'amis?

Mise à jour:

Cheers les gars, mon onKeyDown routine ressemble à ça, maintenant, j'ai suivi CommonsWare conseils:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    super.onKeyDown(keyCode, event);

    boolean handled = true;

    //handle key presses
    switch (keyCode) {

    case KeyEvent.KEYCODE_DPAD_LEFT:
        mCursorX = mCursorX - 1;
        if (mCursorX < MAP_MIN_X) { mCursorX = MAP_MIN_X; }
        break;

    case KeyEvent.KEYCODE_DPAD_RIGHT:
        mCursorX = mCursorX + 1;
        if (mCursorX > MAP_MAX_X) { mCursorX = MAP_MAX_X; }
        break;

    default:
        handled = false;

    if (handled) {
        redrawCursorno();
        return true;
    }

    return super.onKeyDown(keyCode,event);
}

Ma classe ressemble à:

public class Map extends Activity implements OnClickListener, SurfaceHolder.Callback, OnTouchListener {

Je dois avouer que je ne sais pas pourquoi le @override et le premier "super" ligne étaient là, ils étaient juste dans toutes les routines j'ai regardé.
Si le super.onKeyDown exécute le onKeyDown pour l'Activité, puis j'ai probablement ne veux pas de ça au début, seulement à la fin si ma routine ne pas s'en occuper, je pense que c'est ce que j'ai ajouté.
Est-ce que son sujet de droit, ou suis-je encore confus?

-Frink

êtes-vous essayer cela sur une webview?
Poster votre code.

OriginalL'auteur FrinkTheBrave | 2010-08-22