這裏介紹一個自己寫的權限獲取檢測工具類,使用後臺調用的方法,獲取用戶是否允許了APP調用攝像頭和麥克風權限(唯一缺陷就是隻能在確認攝像頭和麥克風沒有被其他程序使用,否則會拋出異常,返回false)那麼可以看一下代碼:
import android.hardware.Camera; import android.media.AudioFormat; import android.media.AudioRecord; import android.media.MediaRecorder; /** * @author xiaoming 權限驗證工具類 */ public class PermissionTest { /** * 作用:用戶是否同意打開相機權限 * * @return true 同意 false 拒絕 */ public boolean isCameraPermission() { try { Camera.open().release(); return true; } catch (Exception e) { return false; } } /** * 作用:用戶是否同意錄音權限 * * @return true 同意 false 拒絕 */ public boolean isVoicePermission() { try { AudioRecord record = new AudioRecord(MediaRecorder.AudioSource.MIC, 22050, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, AudioRecord.getMinBufferSize(22050, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT)); record.startRecording(); int recordingState = record.getRecordingState(); if(recordingState == AudioRecord.RECORDSTATE_STOPPED){ return false; } record.release(); return true; } catch (Exception e) { return false; } } }
寫法中有什麼不足,大牛們可以給一些指導性建議,謝謝。