一、简介
CameraManager 是系统服务之一,专门用于 检测 和 打开相机,以及 获取相机设备特性。
二、获取 CameraManager 实例
通过 Context 类的 getSystemService() 方法来获取一个系统服务,参数使用 Context.CAMERA_SERVICE 或 CameraManager.class 都行。
// 方式一
CameraManager manager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE);
// 方式二
CameraManager manager = (CameraManager) context.getSystemService(CameraManager.class);
三、内部类
CameraManager 中包含两个公有的内部类,分别为:
1. CameraManager.AvailabilityCallback
当一个相机设备的可用状态发生变化时,就会回调这个类的 onCameraAvailable(String cameraId) 和 onCameraUnavailable(String cameraId) 方法。
2. CameraManager.TorchCallback
当一个相机设备的闪光灯的 Torch 模式可用状态发生变化时,就会回调这个类的 onTorchModeChanged(String cameraId, boolean enabled) 和 onTorchModeUnavailable(String cameraId) 方法。
通过 setTorchMode(String cameraId, boolean enabled) 方法设置 Torch 模式。<