Der Fragetitel klingt vielleicht kompliziert, aber hier ist meine Situation.onCreate() wird beim erneuten Öffnen der letzten Aufgabe aufgerufen, nachdem die Berechtigungseinstellungen geändert wurden
Ich habe ein Kartenfragment innerhalb einer Aktivität. Einfach. Storage-Berechtigung aktivieren, um die Anzeige von Map zu ermöglichen, funktioniert einwandfrei. Hintergründe der App durch Drücken der Home-Taste, dann deaktivieren Sie die Speicherberechtigung und öffnen Sie die App von der letzten Aufgabe, app stürzt ab.
Das Problem ist, anstatt onResume() der Host-Aktivität aufzurufen, onCreate() wird sowohl auf der Host-Aktivität als auch onCreateView() des Map-Fragments aufgerufen. Daher wirft es Ausnahmen.
Es scheint, als ob der App-Prozess beendet wird, wenn die Berechtigung geändert wird und somit die Aktivität neu erstellt wird.
09-24 14:42:55.071: E/AndroidRuntime(12918): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
09-24 14:42:55.071: E/AndroidRuntime(12918): Caused by:
java.lang.NullPointerException: Attempt to write to field 'int android.support.v4.app.Fragment.mNextAnim' on a null object reference
09-24 14:42:55.071: E/AndroidRuntime(12918): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:718)
09-24 14:42:55.071: E/AndroidRuntime(12918): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
09-24 14:42:55.071: E/AndroidRuntime(12918): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548)
Von super.onStart() aus der Aktivität
Die Lebenszyklusmethoden wurden nicht geändert. Was passiert, ist, dass die Aktivität vom System zerstört wurde. Aus diesem Grund wird Ihre Aktivität neu erstellt und warum onCreate aufgerufen wird. – eddiecubed
Sagst du, dass die Aktivität aufgrund von Änderungen der Berechtigung zerstört wurde? Da onResume() normal aufgerufen wird, wird stattdessen onCreate() aufgerufen, wenn die Berechtigung für diese Aktivität geändert wird, in meinem Fall das Kartenfragment in der Aktivität. – WenChao
Wenn es eine Erlaubnis Änderung gibt, wird die Aktivität immer zerstört – greywolf82