android 12.0控制Camera开启功能实现

本文介绍了在Android 12.0版本中如何通过系统属性控制Camera的开启,包括利用CameraManager限制摄像头打开,控制第三方应用访问Camera,以及在DevicePolicyManagerService中设置权限控制。
摘要由CSDN通过智能技术生成

1.概述

在12.0的产品开发中,需要增加系统属性, 通过系统属性值来控制camera开关来实现是否可用camera的目的,这就需要通过相关管理类来控制相机是否可用打开来实现

2.控制Camera开启功能实现的核心代码

frameworks/base/core/java/android/hardware/camera2/CameraManager.java
frameworks/base/core/java/android/hardware/Camera.java
frameworks/base/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java

3.控制Camera开启功能实现的核心代码
3.1控制系统打开camera,通过CameraManager来实现控制打开camera

在系统中,framework中的CameraManager类负责关于camera相机的管理,而在这里当打开camera的时候根据属性来判断是否打开摄像头,接下来分析相关的核心代码部分

private CameraDevice openCameraDeviceUserAsync(String cameraId,
              CameraDevice.StateCallback callback, Executor executor, final int uid)
              throws CameraAccessException {
          CameraCharacteristics characteristics = getCameraCharacteristics(cameraId);
          CameraDevice device = null;
  
          sync
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安卓兼职framework应用工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值