我想实现切换手电筒功能。因此,摄像头不会被捕获并发生崩溃 - 就像Lollipop一样 - 我正在使用API 23中的setTorchMode进行尝试。
我有一个代码实现打开或关闭火炬;但是,我不知道如何检查闪存的当前状态。
CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
String[] cameras = manager.getCameraIdList();
for (int i = 0; i < cameras.length; i++) {
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameras[i]);
boolean flashAvailable = characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);
if (flashAvailable) {
boolean flashState = getFlashState(); //MISSING METHOD
manager.setTorchMode(cameras[i], !flashState);
}
}
} catch (CameraAccessException e) {
e.printStackTrace();
}那么,如何在不使用旧相机API的情况下实现getFlashState?是否有可能在不捕获相机的情况下进行?