Comment détruire une activité dans Android?

Pendant que l'application est en cours d'exécution, j'appuie sur le bouton HOME pour fermer l'application. Lorsque je lance l'application à nouveau, elle reprend la page affichée avant de cliquer sur ACCUEIL. Je souhaite que l'application commence par l'affichage initial. J'ai utilisé finish () pour terminer l'activité, mais ça ne fonctionne pas. Aucune suggestion?

  • Une ressource existe avec un cas différent
  • Pourquoi Android Lint averte-t-il de String.format en utilisant les paramètres régionaux par défaut lors de l'utilisation explicite de Locale.US?
  • GetSupportFragmentManager () est indéfini
  • Comment puis-je ajouter un titre à mon groupe de menus
  • -bash: android: commande introuvable sur Mac OSX
  • Dans Android, comment redéfinir les vues?
  • 3 Solutions collect form web for “Comment détruire une activité dans Android?”

    Très probablement, vous avez plusieurs cas de la même activité. Pour résoudre ce type de problèmes, créez votre propre classe d'activité parent, par exemple MyRootActivity, qui contiendra une liste statique de toutes les activités disponibles / vivantes:

    public class MyRootActivity extends Activity { private static final String TAG=MyRootActivity.class.getName(); private static ArrayList<Activity> activities=new ArrayList<Activity>(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); activities.add(this); } @Override public void onDestroy() { super.onDestroy(); activities.remove(this); } public static void finishAll() { for(Activity activity:activities) activity.finish(); } } 

    Pour cela, toutes vos activités doivent être des enfants de MyRootActivity.

    Ensuite, lorsque vous êtes sûr que vous fermez votre application, appelez simplement MyRootActivity.finishAll ();

    Créez un objet d'activité statique dont l'activité se termine sur une autre activité et attribuez une activité dans ce cas, vous pouvez ajouter d'autres activités

     public class demoActivity extends AppCompatActivity { public static Activity self_intent; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.demo_activity); selfintent=this; } //Other functions-------------- } 

    Faire le même pour d'autres activités

    Sur d'autres

     public class finishingActivity extends AppCompatActivity { public Button activityCloseBtn; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.finishing_activity); activityCloseBtn= (Button) view.findViewById(R.id.activity_close_btn); activityCloseBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { demoActivity.selfintent.finish(); //for finish demoActivityactivity //for other activities Activity.selfintent.finish(); finish(); //for finish current activity } }); 

    Essayez d'appeler super.onPause() abord et plus tard call finish() dans votre onPause()

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.