我有一个使用此代码的火炬/手电筒应用程序
打开
params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(params);
camera.startPreview();
关掉
params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(params);
camera.stopPreview();
但是现在
android.hardware.Camera has been deprecated and It is advised to use the new camera2 api instead.
有关如何使用camera2打开/关闭设备手电筒的任何帮助?
谢谢您的帮助
解决方法:
首先,不推荐使用的android.hardware.Camera API仍然可以正常工作,如果你需要支持早于5.0 Lollipop的Android版本,你仍然需要使用它.
最新Android版本(Android Marshmallow或更新版本)的最简单选项是新的直接手电筒控制:CameraManager.setTorchMode
它使用起来非常简单,不需要相机许可.
所以我建议如下:
在API 23之前,使用已弃用的Camera API和您现有的方法(不要忘记设置预览显示,虚拟SurfaceTexture是最简单的).您需要相机权限和运行时权限请求处理.
API 23或更新版本,使用setTorchMode调用,您甚至不需要询问任何特定的运行时权限.