问题标题可能听起来复杂,但这是我的情况。
我在一个活动中有一个地图片段。简单。 打开存储权限以允许地图显示,一切正常。 按Home按钮将应用程序置于后台,然后关闭存储权限并从最近的任务中打开应用程序,应用程序崩溃。
问题是,主活动不是调用 onResume(),而是调用主活动的 onCreate() 和 Map 片段的 onCreateView()。因此,会引发异常。
似乎当更改权限时,应用程序进程被终止,从而重新创建活动。
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)
来自Activity中super.onStart()的方法
Activity
的所有生命周期方法中添加日志记录,以便我们可以清楚地了解权限更改时发生的情况?这将非常有用,真正理解它。 - David Wasser