1. 程式人生 > >Android6.0以下系統判斷相機許可權

Android6.0以下系統判斷相機許可權

關於Android許可權檢測問題 在6.0系統以後由於使用的是動態許可權 很好判斷 關鍵是6.0之前的系統發現沒有可用的API來獲取相應的許可權是否被使用者禁用或者允許使用。 其中有相應的checkPermission()方法  但是這些方法只是判斷清單檔案中是否註冊過此類許可權。使用者的操作是獲取不到的。
                
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;
    }



這種方式目前也是一種折中的方法。