我正在使用Camera Package开发Android应用程序以打开闪光灯,如下所示:
Camera mCamera = Camera.open();
List<String> flashModes = mCamera.getParameters().getSupportedFlashModes();
if(flashModes != null && flashModes.contains(Parameters.FLASH_MODE_TORCH)){
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(parameters);
} else if (flashModes != null && flashModes.contains(Parameters.FLASH_MODE_ON)){
parameters.setFlashMode(Parameters.FLASH_MODE_ON);
mCamera.setParameters(parameters);
}
if(!previewing){
mCamera.startPreview();
previewing = true;
}
检查支持相机闪光模式,并进行调整。它适用于三星Android设备和其他一些设备,但不适用于LG V20,LG V30和Mi Android。我搜索了这个并尝试了:
mCamera.autoFocus(Camera.AutoFocusCallback)
mCamera.setPreviewTexture(SurfaceTexture)
但没有任何作用。所以我使用了Camera2包api> 23,如:
CameraManager mCameraManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE);
mCameraManager.setTorchMode("0", true);
它有效,但在三星设备中,通知显示“手电筒开启”,这非常烦人。
因此,我需要使用Camera包开启所有设备的手电筒,或者不使用Camera2包显示“手电筒开启”通知。
我期待着你的回复,谢谢。
答案 0 :(得分:0)