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