質問タイトルは複雑に聞こえるかもしれませんが、私の状況です。権限設定が変更された後、最近のタスクから再度開くときにonCreate()が呼び出されます
私はアクティビティ内にマップフラグメントを持っています。シンプル。 マップの表示を許可するストレージ権限を有効にしてください。 ホームボタンを押してアプリケーションをバックグラウンドにしてから、ストレージ権限をオフにして最近のタスクからアプリを開くと、アプリがクラッシュします。
問題は、ホストアクティビティのonResume()を呼び出す代わりに、マップアクティビティのonCreate()とマップフラグメントのonCreateView()が呼び出されます。したがって例外を投げている。
権限が変更され、アクティビティが再作成されたときにアプリプロセスが強制終了されたようです。 super.onStartから
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)
()活動
ライフサイクルメソッドは変更されていません。何が起こっているのは、活動がシステムによって破壊されたことです。このため、アクティビティが再作成され、なぜonCreateが呼び出されているのですか。 – eddiecubed
権限が変更されたためにアクティビティが破棄されたとお考えですか? onResume()が正常に呼び出されるため、そのアクティビティのパーミッションが変更された場合は、代わりにonCreate()が呼び出されます。 – WenChao
権限の変更があると、アクティビティは常に破棄されます – greywolf82