Android6.0以下系統(tǒng)判斷相機(jī)權(quán)限

關(guān)于Android權(quán)限檢測問題 在6.0系統(tǒng)以后由于使用的是動態(tài)權(quán)限 很好判斷 關(guān)鍵是6.0之前的系統(tǒng)發(fā)現(xiàn)沒有可用的API來獲取相應(yīng)的權(quán)限是否被用戶禁用或者允許使用。

其中有相應(yīng)的checkPermission()方法 但是這些方法只是判斷清單文件中是否注冊過此類權(quán)限。用戶的操作是獲取不到的。

Android6.0的處理方式:

PackageManager packageManager = getPackageManager();  
int permission = packageManager.checkPermission("android.permission.CAMERA", "your packageName");  
if(PackageManager.PERMISSION_GRANTED == permission){  
    //有這個(gè)權(quán)限   
}else {  
    //沒有這個(gè)權(quán)限  
}  

那我們?nèi)绾卧?.0以下的系統(tǒng)檢測權(quán)限呢?
目前的方法是使用 try{ } catch() {} 的方式 :

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

這也算是一種折中方式實(shí)現(xiàn)拍照權(quán)限的判斷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容