当当前 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(使用前将#替换为@)