之前在做项目过程中遇到了一个相机权限改变导致应用奔溃的问题,具体实现场景如下:
1、进入需要使用相机的页面,首次进入一般都会弹出打开相机权限的请求,打开相机权限;
2、停留在当前页面或者进入其他页面都可以;
3、点击手机home键退到后台;
4、进入手机系统设置页面,找到刚才使用的应用,然后关闭相机权限;
5、回到手机桌面,点击应用图标进入前台。
按照以上步骤操作,最后点击应用图标时,会出现应用崩溃的问题,主要原因就是因为相机权限改变导致的崩溃,
解决办法为在应用崩溃时重新启动该页面,并且需要设置页面的启动方式为
Intent.FLAG_ACTIVITY_NEW_TASK,如下,需要的activity的onCreate中设置:
由于该崩溃可在任意页面出现,所以最好是在BaseActivity中设置,如果某个页面不是继承的BaseActivity,则在该页面单独再设置即可。