当前活动跳转到系统设置页面以禁用权限然后再次切换当前活动时,应用程序崩溃
第1步:打开应用并提供所有必要的权限
第2步:点击主页按钮(所以应用程序在后台)
步骤3:手动更改设置
中的权限第4步:从多任务启动应用程序,现在因应用程序上下文无效而崩溃
观察到应用再次创建,不明白为什么会发生这种情况。任何纠正这个问题的建议都会受到欢迎!
答案 0 :(得分:0)
我发现这个问题对我的用例最有效的解决方案是在我的“设置”屏幕中更改权限后,在返回应用程序时检查我确定为空的特定视图。这导致几个视图在恢复应用程序时为空,导致致命错误。
基本上,在应用程序处于后台时更改权限的阶段,Android会在恢复应用时为您的应用创建新流程;使您之前的流程无效。您可以使用 Log 语句使用类似的内容记录差异以进行测试,您应该看到Activity标识符不同:
Log.v("YOURTAGHERE", String.valueOf(activity));
我遇到了同样的问题并实现了以下简单重启应用程序,这解决了我的用例问题:
if (mTabView == null) {
Intent intent = new Intent(sActivity, SplashActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TASK);
sActivity.startActivity(intent);
sActivity.finish();
}