Maison >Java >javaDidacticiel >Android dispose-t-il d'une fonctionnalité intégrée de double-clic pour quitter ?

Android dispose-t-il d'une fonctionnalité intégrée de double-clic pour quitter ?

DDD
DDDoriginal
2024-11-03 20:07:02248parcourir

Does Android Have a Built-in Double-Click to Exit Feature?

Bouton Retour d'Android : double-cliquez pour quitter l'activité

Dans de nombreuses applications Android, une fonctionnalité « double-cliquez pour quitter » est devenue courante . Ce mécanisme empêche les fermetures indésirables d'applications en affichant un message toast après la première pression sur le bouton de retour et en mettant fin à l'activité uniquement après un deuxième clic.

Est-ce une fonctionnalité intégrée ?

Malgré une analyse approfondie du code, vous n'avez peut-être pas réussi à localiser une fonctionnalité Android intégrée qui exécute cette fonctionnalité. Cependant, il existe une méthode simple pour la répliquer :

Implémentation personnalisée :

En conservant une variable booléenne au sein de l'activité, vous pouvez implémenter cette fonctionnalité vous-même :

<code class="java">boolean doubleBackToExitPressedOnce = false;

@Override
public void onBackPressed() {
    if (doubleBackToExitPressedOnce) {
        super.onBackPressed();
        return;
    }

    this.doubleBackToExitPressedOnce = true;
    Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();

    new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {

        @Override
        public void run() {
            doubleBackToExitPressedOnce = false;
        }
    }, 2000);
}</code>

Explication :

  • Après le premier bouton de retour appuyez, doubleBackToExitPressedOnce devient true.
  • Un message s'affiche pour avertir l'utilisateur.
  • Un gestionnaire est configuré pour réinitialiser doubleBackToExitPressedOnce sur false après un délai de 2 secondes.
  • Sur le deuxième pression, l'activité se termine comme habituel.

Remarque :

Cette implémentation n'imite pas entièrement le comportement du lanceur d'application. Si l'application a été lancée via une intention, elle sera remplacée par l'intention précédente au lieu de l'écran d'accueil.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn