Wie Sie wissen, "Don' T keep activities" ist aktiviert in ICS?
Wie Sie wissen, in den Einstellungen "bewahren Sie keine Aktivitäten" aktiviert ist ics über den code. Wenn es aktiviert ist,wie die Tätigkeit verhindern.
Hinweis: benutzt habe ich mehr Aktivitäten in meiner Anwendung.Wegen der Einstellungen, wenn ich verschieben einer Aktivität zur anderen der ersten Aktivität zerstört wird.Kann ich meine Daten speichern auf die onSaveInstanceState. Mit mit gespeicherten Instanz Staat gibt es eine Möglichkeit, das zu tun...
Vielen Dank im Voraus..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser Flagge gibt es genau aus diesem Grund. Die Idee ist, zu überprüfen, und stellen Sie sicher, dass Ihre app wickelt seine Aktivitäten zerstört wird. Sie können nicht überschreiben, weil in der realen Welt könnte es sogar passieren, ohne dass die Markierung auf, wenn das Gerät zu wenig Speicher. Müssen Sie code, Dinge zu behandeln in diesem Fall nicht außer Kraft setzen.
importieren Sie die folgenden Paket
Dann können Sie prüfen, ob die option aktivieren, mit diesem code:
und Sie können ändern Sie es mit diesem:
Hoffe es hilft
ist jetzt veraltet, so dass Sie verwenden sollten,
überprüfen wenn diese option aktiviert ist
update(Dank Aviv Ben Shabat Kommentar):
behandeln alle sdk-Versionen, die ich erstellt habe eine Methode:
Stimme ich mit @Kaediil, dass android-Anwendungen müssen gut funktionieren, während "Don' T keep activities" - option aktiviert ist.
Bu aus irgendeinem Grund, wenn Sie haben zu prüfen, "alwaysFinishActivities" Wert, den Sie verwenden können code unten;
Wenn alwaysFinishActivities option aktiviert ist und Sie wollen, dass es nicht deaktiviert werden;
Sie können direkt user zu "Einstellungen -> Entwickler-Optionen" zu deaktivieren, dass Wert. (Das ist besser, als wenn man extra beängstigend Berechtigungen und setzen Sie diesen Wert programmgesteuert)
Der Fragesteller hat Recht und er hat eine gute Frage, die noch nicht beantwortet werden 🙂
Getestet habe ich diese Frage mit einem schlichten Beispiel. Die Tatsache ist, dass, wenn die option "do not keep activities' aktiviert ist, dann werden sich die Aktivitäten getötet. Zum Beispiel: Eine Mainactivity fordert eine subactivity. Die mainactivity ist getötet. Drücken Sie wieder auf die subactivity Ergebnisse in Neustart der Mainactivity. Dies kann ein problem sein, wenn die mainactivity tut longrunning Stoffe wie das laden von Inhalten.
Mein Fazit an diesem. Die option 'nicht halten activites" ist eine Entwickler-option und sollte nicht gesetzt werden, unter normal-user-Bedingungen. Also Entwickler sollte in der Lage sein, zu erkennen, diese Einstellung.
int Wert = Einstellungen.System.getInt(getContentResolver(), Settings.System.ALWAYS_FINISH_ACTIVITIES, 0);
Könnten Sie auch einen Vorsatz und töten die Aktivität jedes mal. Rufen Sie einfach ReturnToMain in Ihrem onBackPressed(), und es sollte die Niederlage der "Don' T keep activities" - problem. Dies war eines der Probleme, die ich habe es mit übersee mit fremden Mobilteilen.
Die andere option wäre @ägäis-Lösung unten. Haben Sie die Benutzer anweisen, zu "Einstellungen -> Entwickler-Optionen" zu deaktivieren, dass Wert. Hier ist, was ich mit einem Dialogfeld.Stellen Sie sicher, dass Sie die finish() so, dass die app nicht Abstürzen, wenn Sie die zurück-Taste drücken, oder starten Sie die app durch drücken der home-Taste.