【发布时间】:2017-01-10 07:31:26
【问题描述】:
我制作了一个简单的闪光灯应用程序,用于切换手电筒。一切正常,但我在 API 高于 23 的权限方面遇到了一些问题。
在 API 23 中添加了一种新方法来处理手电筒模式。更准确地说是CameraManager.setTorchMode(String cameraId, boolean enabled)。
这种新方法不再需要仅仅为了处理手电筒动作而打开相机。
我的问题是API 23以下,此方法不存在,因此我需要访问相机,这迫使我在Manifest中使用相机权限:<uses-permission android:name="android.permission.CAMERA"/>。
但我想避免在高于 23 的 API 上请求相机权限,因为这不会影响应用程序的功能。
有谁知道我如何仅在 23 岁以下的 API 上请求相机权限?
【问题讨论】:
-
不可能。除非您创建一个仅适用于 API 23+ 的新 apk。
-
@TOP,我正在考虑这个问题,但这对于权限检查来说可能太多了。我只会将此视为最后的解决方案。
-
@GSerg 我不认为这是相同的情况。我已经阅读了那一篇,对于那一篇,可以使用以下方法进行修复:
<uses-permission-sdk-23 android:name="string" android:maxSdkVersion="integer" />。我想做相反的事情。 -
找到了解决方案。为此发布了答案。
标签: android permissions camera android-6.0-marshmallow flashlight