En appuyant sur le bouton de retour, j'aimerais que mon application passe à l'état arrêté, plutôt qu'à l'état détruit.
Dans les documents Android, il indique:
... toutes les activités n'ont pas le comportement qu'elles sont détruites lorsque vous appuyez sur BACK. Lorsque l'utilisateur commence à jouer de la musique dans l'application Musique, puis appuie sur RETOUR, l'application remplace le comportement normal du dos, empêchant l'activité du lecteur d'être détruite et continue à jouer de la musique, même si son activité n'est plus visible
Comment répliquer cette fonctionnalité dans ma propre application?
Je pense qu'il doit y avoir trois possibilités ...
Capturez le bouton de retour, appuyez sur (comme ci-dessous), puis appelez la ou les méthodes appelées par le bouton d'accueil.
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK)) { Log.d(this.getClass().getName(), "back button pressed"); } return super.onKeyDown(keyCode, event); }
Capturez la pression sur le bouton Retour, puis usurpez une pression sur le bouton Accueil.
Capturez la pression sur le bouton de retour, puis démarrez une activité de l'écran d'accueil, mettant effectivement l'activité de mon application à l'état arrêté.
Edit: je connais les services et j'en utilise un dans l'application à laquelle ce problème est lié. Cette question concerne spécifiquement le fait de mettre l'activité en état d'arrêt plutôt que l'état détruit en appuyant sur le bouton de retour.