安卓检查APP是否被用户拒绝调用摄像头和麦克风权限

这里介绍一个自己写的权限获取检测工具类,使用后台调用的方法,获取用户是否允许了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;
		}

	}

}

写法中有什么不足,大牛们可以给一些指导性建议,谢谢。

转载于:https://my.oschina.net/u/2341720/blog/613305

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安卓操作系统上的应用程序可以通过调用设备的摄像头来进行条形码的识别。首先,应用程序需要获得摄像头权限,可以通过在AndroidManifest.xml文件中声明相机权限来实现。在调用摄像头之前,还需要检查设备是否具有摄像头功能,可以使用Camera类来检测设备的摄像头功能。 一旦应用程序获得了相机权限检查了设备的摄像头功能,就可以通过调用相机进行条形码的识别。可以使用Android的Camera类来实现这个功能。首先,需要实例化相机对象,并将其与预览视图进行绑定。然后,可以设置相机参数,如预览尺寸、对焦模式等。接下来,可以通过设置监听器来获取预览帧,并将预览帧传递给条形码识别引擎进行处理。识别引擎可以使用开源的ZXing库或Google的移动视觉库(Mobile Vision API)等来实现。 在获取到条形码数据之后,可以根据应用程序的需求进行后续处理。例如,可以解析条形码数据并显示在应用程序中,或者进行进一步的网络请求、数据库操作等。 总之,安卓应用程序可以通过调用设备的摄像头来进行条形码的识别。通过获取相机权限、检测设备摄像头功能、实例化相机对象、设置相机参数、设置预览监听器以及使用条形码识别引擎等步骤,可以实现条形码的识别功能。通过获取识别到的条形码数据,应用程序可以进行后续的处理和应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值