禁用设置权限后返回我们的应用程序崩溃

时间:2018-03-24 11:18:01

标签: android android-permissions runtime-permissions

当前活动跳转到系统设置页面以禁用权限然后再次切换当前活动时,应用程序崩溃

第1步:打开应用并提供所有必要的权限

第2步:点击主页按钮(所以应用程序在后台)

步骤3:手动更改设置

中的权限

第4步:从多任务启动应用程序,现在因应用程序上下文无效而崩溃

观察到应用再次创建,不明白为什么会发生这种情况。任何纠正这个问题的建议都会受到欢迎!

1 个答案:

答案 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();
}