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

2023-12-23

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

第 1 步:打开应用程序并授予所有必要的权限

第 2 步:单击“主页”按钮(因此应用程序处于后台)

第 3 步:在“设置”中手动更改权限

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

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


对于我的用例,我发现针对此问题的最有效解决方案是在更改“设置”屏幕中的权限后返回应用程序时,简单地检查我确定为空的特定视图。这导致恢复应用程序时多个视图为空,从而导致致命错误。

基本上,在您的应用程序处于后台时更改权限的阶段,Android 会为您的应用程序创建一个恢复应用程序的新进程;使您之前的过程无效。您可以使用Log使用类似这样的语句来记录差异进行测试,您应该看到活动标识符是不同的:

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();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从设置禁用权限并返回到我们的应用程序后崩溃 的相关文章

随机推荐