2016-03-21 1 views
0

J'essaye de forcer la fermeture de mon application afin de cacher ce que l'utilisateur a fait. J'utilise le code suivant (qui fonctionne à moitié). Il disparaît de l'écran mais quand j'appuie sur le bouton des applications ouvertes (le bouton en bas, à côté des boutons home et back) je peux toujours le voir. Est-ce que vous savez quelle est la meilleure façon de tuer l'application complètement?Essayer de tuer mon application

finish(); 
moveTaskToBack(true); 
System.exit(0); 

Je vais essayer d'expliquer mieux: La chose est que j'ai une activité, quand j'appuyez sur le bouton indiqué qu'il ouvre une autre qui a une minuterie. Si l'utilisateur ne fait pas une combinaison avant l'expiration du délai, je veux forcer fermer toute l'application. La chose est que faire ce que j'ai écrit dans le code, mon application minimise et quand j'appuie sur le bouton du bas (celui de voir toutes mes applications ouvertes) je peux encore voir qu'il est ouvert, pas dans la deuxième activité mais dans le Premier.

Je ne veux pas l'enlever de la liste des applications récentes, n'est pas là où il est une fois que je tente de le fermer.

vous remercier

+5

Selon l'appareil, les applications de cette liste ne peuvent pas être ouverts, mais, récemment ouvert. Vous pourriez empêcher d'apparaître dans la liste: http://stackoverflow.com/questions/3762763/how-to-remove-application-from-recent-application-list –

+0

le problème est qu'il ferme l'activité où je suis mais il ne ferme pas l'activité principale ... –

+1

Comme le souligne Pztar, vous pouvez ajouter 'noHistory'. Voir ici: http://stackoverflow.com/questions/2550099/how-to-kill-an-android-activity-when-leaving-it-so-that-it-cannot-be-accessed-fr –

Répondre

0

Essayez ceci: Runtime.getRuntime().exit(0);

+0

ne fonctionne pas, je peux toujours voir mon application dans les ouverts. –

0
android.os.Process.killProcess(android.os.Process.myPid()); 
+0

ne fonctionne pas, je peux toujours voir mon application dans les ouverts. –

+0

Bien que ce code puisse répondre à la question, fournir un contexte supplémentaire expliquant pourquoi et/ou comment ce code répond à la question améliore sa valeur à long terme. – Ajean

1

Il suffit d'ajouter android:noHistory="true" dans votre fichier manifest sous l'activité que vous voulez à se comporter de cette façon.

http://developer.android.com/guide/topics/manifest/activity-element.html#nohist

+0

cela ne fonctionne pas –

+0

@ ÁlvaroKoke basé sur votre nouvelle édition, assurez-vous d'ajouter ce qui précède à vos deux activités, ce qui signifie pas sous la balise '' mais à la fois dire 'MainActivity' et' SecondActivity' ou quoi que ce soit dans ton cas – Pztar