2016-03-21 10 views
0

Ich versuche zu zwingen, meine App zu schließen, um zu verbergen, was Benutzer getan hat. Ich benutze den nächsten Code (der halb arbeitet). Es verschwindet vom Bildschirm, aber wenn ich den Knopf der geöffneten Apps drücke (die Taste unten, neben den Tasten für Zuhause und zurück), kann ich es immer noch sehen. Weißt du, was ist der beste Weg, um die App vollständig zu töten?Versuchen, meine App zu töten

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

Ich werde versuchen, es besser zu erklären: Die Sache ist, ich eine Aktivität haben, wenn ich die angegebene Taste drücken es ein anderes öffnet, die einen Timer hat. Wenn der Benutzer vor Ablauf des Timers keine Kombination durchführt, möchte ich alle Apps schließen. Die Sache ist, dass, wenn ich das mache, was ich im Code geschrieben habe, meine App minimiert und wenn ich den unteren Knopf drücke (den einen, um alle meine geöffneten Apps zu sehen), kann ich immer noch sehen, dass es geöffnet ist, nicht in der zweiten Aktivität sondern in der Erster.

Ich möchte es nicht aus der Liste der letzten Anwendungen entfernen, ist nicht dort, wo es ist, sobald ich versuche, es zu schließen.

danke euch

+5

Je nach Gerät, die Anwendungen in dieser Liste möglicherweise nicht offen, sondern vor kurzem eröffnet. Sie könnten verhindern, in der Liste zu erscheinen: http://stackoverflow.com/questions/3762763/how-to-remove-application-from-recent-application-list –

+0

das Problem ist, dass es die Tätigkeit schließt, wo ich aber es bin schließt die Hauptaktivität nicht ... –

+1

Wie Pztar darauf hinweist, kannst du 'noHistory' hinzufügen. Siehe hier: http://stackoverflow.com/questions/2550099/how-to-kill-an-android-activity-when-leaving-it-so-that-it-cannot-be-accessed-fr –

Antwort

0

Try this: Runtime.getRuntime().exit(0);

+0

funktioniert nicht, ich kann meine App immer noch in den offenen sehen. –

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

funktioniert nicht, ich kann meine App immer noch in den offenen sehen. –

+0

Während dieser Code die Frage beantworten kann, verbessert das Bereitstellen zusätzlichen Kontexts, warum und/oder wie dieser Code die Frage beantwortet, seinen langfristigen Wert. – Ajean

1

Nur android:noHistory="true" in Ihrer manifest Datei unter der Aktivität, die Sie auf diese Weise verhalten wollen hinzuzufügen.

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

+0

Dies funktioniert nicht –

+0

@ ÁlvaroKoke basierend auf Ihrer neuen Bearbeitung, stellen Sie sicher, dass Sie die oben genannten zu Ihren Aktivitäten hinzufügen, das heißt nicht unter dem '' Tag, aber unter beiden sagen' MainActivity' und 'SecondActivity' oder was auch immer es ist in Ihrem Fall – Pztar