Tytuł pytania może wydawać się skomplikowany, ale tutaj jest moja sytuacja.Funkcja onCreate() zostaje wywołana po ponownym otwarciu ostatniego zadania po zmianie ustawień uprawnień
Mam fragment mapy w ramach działania. Prosty. Włącz zezwolenie na przechowywanie, aby zezwolić na wyświetlanie mapy, działa poprawnie. Tła aplikacji, naciskając przycisk strony głównej, a następnie wyłącz uprawnienia do przechowywania i otwórz aplikację z ostatniego zadania, awarie aplikacji.
Problem polega na tym, że zamiast wywoływać funkcję Resume() działania hosta, funkcja onCreate() jest wywoływana na aktywności hosta, a także onCreateView() fragmentu mapy. Tak więc rzuca Wyjątki.
Wygląda na to, że proces aplikacji zostanie zabity po zmianie uprawnień i tym samym Aktywność zostanie odtworzona.
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)
Od super.onStart() z działalności
Metody cyklu życia nie zostały zmienione. Co się dzieje, działanie zostało zniszczone przez system. Właśnie dlatego twoja aktywność jest odtwarzana i dlaczego wywoływana jest metoda onCreate. – eddiecubed
Czy mówisz, że działanie zostało zniszczone z powodu zmian uprawnień? Ponieważ funkcja onResume() jest wywoływana normalnie, metoda onCreate() jest wywoływana w przypadku zmiany uprawnień dla tego działania, w moim przypadku fragment mapy w działaniu. – WenChao
Gdy pojawia się zmiana uprawnień, działanie jest zawsze niszczone. – greywolf82