仅限API 23以下的相机权限

时间:2017-01-10 07:31:26

标签: android permissions camera android-6.0-marshmallow flashlight

我制作了一个简单的闪光应用程序来切换手电筒。一切正常,但我对API的许可有一些问题高于23。

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

我的问题是,在API 23下面,此方法不存在,因此我需要访问相机,这迫使我使用相机权限:<uses-permission android:name="android.permission.CAMERA"/>在清单中。

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

是否有人知道如何仅在23以下的API上申请相机许可?

2 个答案:

答案 0 :(得分:3)

我找到了解决方法。似乎uses-permission允许进行一些自定义,我发现android:maxSdkVersion属性可以满足我的需要。

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

我希望在类似情况下帮助其他人。

有关详情,请参阅官方文档:uses-permission

答案 1 :(得分:0)

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