在使用Android相机2 API时,可以通过以下代码示例来解决闪光灯问题:
CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
String cameraId = cameraManager.getCameraIdList()[0];
CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(cameraId);
boolean flashAvailable = characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);
if (flashAvailable) {
// 设备支持闪光灯功能
} else {
// 设备不支持闪光灯功能
}
} catch (CameraAccessException e) {
e.printStackTrace();
}
CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
String cameraId = cameraManager.getCameraIdList()[0];
cameraManager.setTorchMode(cameraId, true);
} catch (CameraAccessException e) {
e.printStackTrace();
}
CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
String cameraId = cameraManager.getCameraIdList()[0];
cameraManager.setTorchMode(cameraId, false);
} catch (CameraAccessException e) {
e.printStackTrace();
}
请注意,上述代码示例中的getCameraIdList()[0]
表示使用后置摄像头,如果需要使用前置摄像头,可以修改成getCameraIdList()[1]
。另外,需要添加相应的权限到Manifest文件中:
希望这些代码示例能够帮助你解决安卓相机2 API闪光灯问题。