java – Torch / Flashlight应用程序(不推荐使用android.hardware.camera)

我有一个使用此代码的火炬/手电筒应用程序

打开

    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调用,您甚至不需要询问任何特定的运行时权限.

上一篇:php – 函数ereg_replace()已弃用 – 如何清除此错误?


下一篇:Java Show Strike Line on Methods