我制作了一个简单的闪光应用程序来切换手电筒。一切正常,但我对API的许可有一些问题高于23。
在API 23中,添加了一种处理手电筒模式的新方法。更准确地说是CameraManager.setTorchMode(String cameraId, boolean enabled)
。
这种新方法不再需要再打开相机来处理手电筒动作。
我的问题是,在API 23下面,此方法不存在,因此我需要访问相机,这迫使我使用相机权限:<uses-permission android:name="android.permission.CAMERA"/>
在清单中。
但我想避免在高于23的API上请求相机权限,因为这不会影响应用程序的功能。
是否有人知道如何仅在23以下的API上申请相机许可?
答案 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" />