Android 应用详情中修改权限后应用崩溃
一 问题描述
在有fragment(没有空构造函数、或者私有空构造)的页面,应用进入后台,手动进入应用详情修改应用权限,重新打开应用,应用崩溃
二 问题排查
1、经网络查询得知后台修改应用权限后,重新进入页面,
onCreate
方法中savedInstanceState
不为空。
2、在没有启用fragment情况下后台修改权限,进入应用,打印onCreate
方法中savedInstanceState
的信息。
3、复现问题流程,打印onCreate
方法中savedInstanceState
的信息。
没有启用fragment的savedInstanceState
信息
启用fragment后的savedInstanceState
信息
三 解决方案
override fun onCreate(savedInstanceState: Bundle?) {
if (savedInstanceState != null) {
savedInstanceState.remove("android:support:request_fragment_who")
savedInstanceState.remove("android:support:fragments")
savedInstanceState.remove("android:support:request_indicies")
savedInstanceState.remove("android:support:next_request_index")
}
LogUtils.e(savedInstanceState)
super.onCreate(savedInstanceState)
}