Comment désactiver le bouton retour dans Android lors de la déconnexion de l'application ?
C'est beaucoup mieux et plus propre que de surcharger les méthodes de gestion des clés, et cela a le même effet. Excellente réponse !
Comment désactiver le bouton retour dans Android lors de la déconnexion de l'application ?
C'est beaucoup mieux et plus propre que de surcharger les méthodes de gestion des clés, et cela a le même effet. Excellente réponse !
C'est génial ! En fait, je voulais toujours revenir à mon activité principale lorsque j'appuyais sur le bouton de retour d'une autre activité, et le remplacement de cette méthode me permet de le faire très facilement.
Si vous recherchez un niveau d'api plus élevé (2.0 et plus) ceci fonctionnera très bien
@Override
public void onBackPressed() {
// Do Here what ever you want do on back press;
}
Si vous recherchez le niveau d'api d'Android jusqu'à 1.6.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//preventing default implementation previous to android.os.Build.VERSION_CODES.ECLAIR
return true;
}
return super.onKeyDown(keyCode, event);
}
Écrivez le code ci-dessus dans votre activité pour empêcher l'appui sur le bouton "retour".
Cette méthode est plus rétrocompatible que l'utilisation de onbackpressed en raison de l'exigence du niveau d'api de onbackpressed.
Bonne réponse. Bien que je n'en aie pas besoin pour mon projet, j'apprécie que vous ayez fourni l'ancienne et la nouvelle méthode. Ceci devrait être marqué comme une réponse correcte. +1
Si vous voulez vous assurer que votre application client Android est déconnectée d'un serveur avant que votre activité ne soit tuée --> déconnexion avec un service sur son propre thread (c'est ce que vous êtes censé faire de toute façon).
Désactiver le bouton retour ne résoudra rien pour vous. Vous aurez toujours le même problème lorsque l'utilisateur reçoit un appel téléphonique par exemple. Lorsqu'un appel téléphonique est reçu, votre activité a autant de chances d'être tuée avant d'obtenir une réponse fiable du réseau.
C'est pourquoi il faut laisser un service attendre la réponse du réseau sur son propre fil de discussion, puis le faire réessayer s'il n'y parvient pas. Le service Android est non seulement beaucoup moins susceptible d'être tué avant d'avoir reçu une réponse, mais s'il est vraiment tué avant d'avoir terminé son travail, il peut toujours être réactivé par AlarmManager pour réessayer.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
Pouvez-vous être un peu plus clair sur la question ? Si vous cherchez à remplacer le comportement par défaut du bouton de retour, consultez cette question ici. stackoverflow.com/questions/2000102/
27 votes
Veuillez ne pas le faire à moins d'avoir une bonne raison, car le fait de briser le modèle de fonctionnement attendu nuit très légèrement à l'ensemble de la plate-forme.
15 votes
Vous voudriez le faire si vous devez faire face à un Samsung S4 stupide où le bouton arrière est sensible au toucher (non physique), juste sur le bord du téléphone, qui est déjà si sensible au toucher qu'une paume reposant contre le côté va revenir en arrière.
1 votes
C'est contre Guide de la qualité et de la conception d'Android , rôle UX-N1.