J'ai deux activités A et B. Quand je clique sur le bouton dans A, B. apparaît lorsque je clique sur le Bouton dans B, il revient à A. J'avais défini la méthode overridePendingTransition après la méthode finish (). cela fonctionne correctement. mais au cas où l'activité en cours est B., à ce moment-là, je clique sur le bouton Précédent par défaut du périphérique. il montre la transition de droite à gauche pour montrer l'activité A.
Comment puis-je écouter cette touche de retour par défaut sur l'appareil?
MODIFIER:
Log.v(TAG, "back pressed");
finish();
overridePendingTransition(R.anim.slide_top_to_bottom, R.anim.hold);
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// do something on back.
return true;
}
return super.onKeyDown(keyCode, event);
}
Le lien suivant contient une explication détaillée sur la gestion des événements clés écrits par les développeurs Android eux-mêmes:
Pour Android 2.0 et versions ultérieures, il existe une méthode spécifique dans la classe d'activité:
@Override
public void onBackPressed() {
super.onBackPressed();
// Do extra stuff here
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
//Do stuff
}
return super.onKeyDown(keyCode, event);
}
Vous trouverez plus d’informations sur les éléments clés à l’arrière: http://Android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html
J'utilise ce code lors d'une activité avec un lecteur multimédia. Je devais arrêter la lecture lorsque l'utilisateur appuyait sur le bouton Retour, mais je pouvais toujours revenir à l'activité précédente.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// do something on back.
try{
mp.stop(); //this line stops the player
return super.onKeyDown(keyCode, event);//this line does the rest
}
catch(IllegalStateException e){
e.printStackTrace();
}
return true;
}
return super.onKeyDown(keyCode, event); //handles other keys
}