安卓7.0以后如何开启手电筒
安卓7.0以后应该如何打开手电筒,使用闪光灯?
来看一下代码:
private CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
String[] ids = manager.getCameraIdList();
for (String id : ids) {
CameraCharacteristics c = manager.getCameraCharacteristics(id);
//查询该摄像头组件是否包含闪光灯
Boolean flashAvailable = c.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);
/*
* 获取相机面对的方向
* CameraCharacteristics.LENS_FACING_FRONT 前置摄像头
* CameraCharacteristics.LENS_FACING_BACK 后只摄像头
* CameraCharacteristics.LENS_FACING_EXTERNAL 外部的摄像头
*/
Integer lensFacing = c.get(CameraCharacteristics.LENS_FACING);
if (flashAvailable != null && flashAvailable
&& lensFacing != null && lensFacing == CameraCharacteristics.LENS_FACING_BACK) {
//打开或关闭手电筒
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
manager.setTorchMode(id, true);
}
}
}
} catch (CameraAccessException e) {
e.printStackTrace();
}
在7.0以后的版本中 再也不能像以前的版本的方法直接开启手电筒了,现在在开启手电筒之前要逐一检查,是否包含闪光灯和相机面对的方向,才能正确的开启手电筒,我们别忘了添加权限
<uses-feature android:name="android.hardware.camera.autofocus" />```
droid.hardware.camera.autofocus" />```