Android 判断摄像头权限方法
生活随笔
收集整理的這篇文章主要介紹了
Android 判断摄像头权限方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
由于項目需要,我們需要在啟動攝像頭前,預先判斷一下我們的應用是否有攝像頭權限(包括系統設置以及第三方安全軟件是否禁止了攝像頭打開權限)。
目前主要用到了一下兩個方法結合起來判斷。
1.通過系統的檢查權限方法檢查。
/*** @return if we have the camera permission*/public boolean isCameraGranted() {return ContextCompat.checkSelfPermission(mContext, CAMERA) == PERMISSION_GRANTED;}2.通過try-cache檢查攝像頭權限。
/*** 測試當前攝像頭能否被使用* @return*/public static boolean isCameraCanUse() {boolean canUse = true;Camera mCamera = null;try {mCamera = Camera.open(0);mCamera.setDisplayOrientation(90);} catch (Exception e) {canUse = false;}if (canUse) {mCamera.release();mCamera = null;}Timber.v("isCameraCanuse="+canUse);return canUse;}通過結合以上兩種方法,基本可以判斷大部分機型的攝像頭權限,但是仍然有以下地方需要改進:
1.使用try-catch方法需要打開攝像頭,某些機型打開攝像頭速度比較慢,造成界面容易出現卡頓情況,影響用戶體驗。此時,我們可以增加一些等待動畫,優化用戶體驗。
2.部分手機采用此方法,無法正確返回攝像頭權限的正常情況,try-catch中并沒有報異常,后續需要繼續改進。
總結
以上是生活随笔為你收集整理的Android 判断摄像头权限方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: API设计原则
- 下一篇: matlab中使用ode方法解范德波尔微