在国产手机上经常碰到用户明明已经拒绝权限,check时返回的却是true,接着就崩溃了,这时候你不仁,就别怪我不义了,直接try{}catch(){},以相机权限为例
if (permission.granted) {
// 用户已经同意该权限,魅族等国产手机即使用户拒绝权限仍然会走这里
try{
Camera camera = Camera.open();//并且这里不会返回null
Camera.Parameters parameters = camera.getParameters();//如果被拒绝这里会抛异常
camera.setParameters(parameters);//如果被拒绝这里会抛异常
if(camera != null){
camera.release();//释放掉
}
useCamera();//真正拿到权限使用相机
}catch (Exception e){
ToastUtils.show(conetxt, "相机权限被拒绝");
}
}