最近做到一个扫码功能,需要在设备上请求摄像头权限,但是如果用户拒绝了该权限程序就会崩溃。在网上找了很多关于这个问题的解决方法,但是都没能很好的解决问题。下面给出自己的解决方案
有几点值得注意的
1.此处打开摄像头驱动会捕获异常,之前用的是IOException,一定要改成Exception,这样就不会直接崩溃,而是由程序员自己来操作一些事。
2.记得return(这点就不多说了)
3.不要想着去监听权限状态,android是没有提供这个接口的。
4.判断权限是否已经获取也是很有局限性的,毕竟此处是RuntimeException
5.一旦用户拒绝了敏感权限就只能用户手动去开启,程序不能控制
效果图
注:如果你的targetSDK是6.0及以上的版本,请前方右转 http://developer.android.com/training/permissions/requesting.html