安卓6.0之前的系统 判断app是否有录音权限


	public static synchronized boolean isVoicePermission() {
		AudioRecord record = null;
		try {
			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;
			}
			//第一次  为true时,先释放资源,在进行一次判定
			//************
			record.release();
			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 recordingState1 = record.getRecordingState();
			if (recordingState1 == AudioRecord.RECORDSTATE_STOPPED) {
			}
			//**************
			//如果两次都是true, 就返回true  原因未知
			return true;
		} catch (Exception e) {
			return false;
		} finally {
			if (record != null) {
				record.release();
			}
		}

	}

  只判定一次的话 ,一般第一次拒绝 会得到true,表示有权限,但是再次获取 就会为false,不知道什么原理

  据说是判定有没有被占用,表示疑问


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM