仅 API 23 以下的摄像头权限

Camera permission below API 23 only

我制作了一个简单的 Flash 应用程序来切换手电筒。一切正常,但我在 API 高于 23.

的权限方面遇到了一些问题

在API23 中添加了一种处理手电筒模式的新方法。更准确地说 CameraManager.setTorchMode(String cameraId, boolean enabled)。 这种新方法不再需要打开相机来处理手电筒动作。

我的问题是在API23以下,这个方法不存在因此我需要访问相机,这迫使我使用相机权限:<uses-permission android:name="android.permission.CAMERA"/> in Manifest.

但我想避免在 API 高于 23 时请求相机权限,因为这不会影响应用程序的功能。

有谁知道我如何才能仅在 23 岁以下的 API 上请求相机权限?

我找到了解决方案。 uses-permission 似乎允许进行一些自定义,我发现 android:maxSdkVersion 属性 可以做我想做的事。

<uses-permission android:name="android.permission.CAMERA" android:maxSdkVersion="23"/>

我希望这对处于类似情况的其他人有所帮助。

更多信息可以在官方文档中找到:uses-permission

在清单文件中尝试此权限:
<uses-feature android:name="android.hardware.camera2"/> <uses-feature android:name="android.hardware.camera" />