应用切换至后台后,关闭应用权限,再重新打开应用,崩溃问题
2019-05-12 本文已影响0人
牙膏很好吃
当应用被关闭权限后,处于后台的应用会关闭,当再次打开时,应用的application会再次启动,执行生命周期的方法,然后启动上次位于activity栈顶的activity,并且onSaveInstance不为null
处理方法
在基类中,判断当activity的onSaveInstance不为null时,检查需要的权限是否被授予,如果发现必要权限被关闭,可以启动开屏activity,重新申请权限
onCreate(saveInstanceState:Bundle){
if(saveInstanceState != null){
//检查权限是否正常
if(!hasPermission(...)){
//没有权限
val intent = Intent(this,SplashActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
startActivity(intent)
}
}
}