Quitter une Application Android Sur le bouton de retour

J'ai une application dans laquelle j'ai différentes activités. Dans l'activité 1, je veux que lorsque l'utilisateur appuie sur le bouton retour, je veux la fermeture de l'application et de l'écran d'accueil est affiché

Code

public boolean onKeyDown(int keyCode, KeyEvent event) 
        {
            //Handle the back button
            if(keyCode == KeyEvent.KEYCODE_BACK) 
                {
                    //Ask the user if they want to quit
                    new AlertDialog.Builder(this)
                    .setIcon(android.R.drawable.ic_dialog_alert)
                    .setTitle("Exit")
                    .setMessage("Really Exit ?")
                    .setPositiveButton("Yes", new DialogInterface.OnClickListener() 
                        {
                            public void onClick(DialogInterface dialog, int which) 
                                {
                                 Intent intent = new Intent(Intent.ACTION_MAIN);
                                intent.addCategory(Intent.CATEGORY_HOME);
                                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                startActivity(intent);
                                }
                        })
                    .setNegativeButton("No", null)
                    .show();
                    return true;
                }
            else 
                {
                return super.onKeyDown(keyCode, event);
                }
        }

Quand je lance le et appuyez sur le bouton de retour, l'écran d'accueil s'affiche, mais quand je le lance pour la deuxième fois, je reçois une sortie de la console comme

ActivityManager: Avertissement: Activité qui n'est pas commencé, sa tâche a été porté à l'avant.

Et de l'activité dans laquelle le dos pressé le bouton est affiché.
Je pense que l'application ne permet pas de se faire tuer et s'exécute en arrière-plan. Juste pour dire, ce n'est pas le départ de l'activité de mon application.

Quelqu'un peut-il m'aider, je suis débutant.

  • Votre question n'est pas claire chers.
  • écrire finish(); dans onPause()...
  • Point d'Information: Depuis Android 2.0 par défaut de niveau supérieur gestionnaire pour le bouton de retour a été à la valeur par défaut (classe d'Activité) de la mise en œuvre de onKeyUp(), pas onKeyDown(). Donc, si vous allez tenter de modifier ce comportement (par exemple, par des invites de confirmation), l'endroit pour le faire, ce serait sans doute dans une substitution de onKeyUp(). Cette Activité par défaut.onKeyUp() elle-même appelle onBackPressed(), et son implémentation par défaut est l'appel de finition(), qui met fin à votre actuel (principale) de l'activité.
  • Donc, si vous êtes intercepté le bouton de retour et de mettre en place un dialogue au lieu de cela, alors vous aurez à appeler la fin (de) - vous dans le onClick() gestionnaire pour le bouton Oui dans la boîte de dialogue.
InformationsquelleAutor kumar piyush | 2012-06-18