Android6.0以下系统判断相机权限

关于Android权限检测问题 在6.0系统以后由于使用的是动态权限 很好判断 关键是6.0之前的系统发现没有可用的API来获取相应的权限是否被用户禁用或者允许使用。

其中有相应的checkPermission()方法 但是这些方法只是判断清单文件中是否注册过此类权限。用户的操作是获取不到的。

Android6.0的处理方式:

PackageManager packageManager = getPackageManager();  
int permission = packageManager.checkPermission("android.permission.CAMERA", "your packageName");  
if(PackageManager.PERMISSION_GRANTED == permission){  
    //有这个权限   
}else {  
    //没有这个权限  
}  

那我们如何在6.0以下的系统检测权限呢?
目前的方法是使用 try{ } catch() {} 的方式 :

/** 
*  返回true 表示可以使用  返回false表示不可以使用 
*/  
public boolean cameraIsCanUse() {  
        boolean isCanUse = true;  
        Camera mCamera = null;  
        try {  
            mCamera = Camera.open();  
            Camera.Parameters mParameters = mCamera.getParameters(); //针对魅族手机  
            mCamera.setParameters(mParameters);  
        } catch (Exception e) {  
            isCanUse = false;  
        }  
  
        if (mCamera != null) {  
            try {  
                mCamera.release();  
            } catch (Exception e) {  
                e.printStackTrace();  
                return isCanUse;  
            }  
        }  
        return isCanUse;  
    }  

这也算是一种折中方式实现拍照权限的判断。

你可能感兴趣的:(Android6.0以下系统判断相机权限)