Android6.0以下系統判斷相機許可權
阿新 • • 發佈:2019-01-07
關於Android許可權檢測問題 在6.0系統以後由於使用的是動態許可權 很好判斷 關鍵是6.0之前的系統發現沒有可用的API來獲取相應的許可權是否被使用者禁用或者允許使用。
其中有相應的checkPermission()方法 但是這些方法只是判斷清單檔案中是否註冊過此類許可權。使用者的操作是獲取不到的。
那我們如何在6.0以下的系統檢測許可權呢? 目前的方法是使用 try{ } catch() {} 的方式 :
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; }
這種方式目前也是一種折中的方法。