嘿,我正在 android studio 中设计一个应用程序。在其中我需要相机的许可。我在 AndroidManifest.xml 文件中包含了 <uses-permission android:name="android.permission.CAMERA" />
。它在除 Marshmallow 之外的所有版本的 android 中都能正常工作。我如何默认获得相机权限?如果不可能,我该如何向用户询问?
原文由 Toyas 发布,翻译遵循 CC BY-SA 4.0 许可协议
嘿,我正在 android studio 中设计一个应用程序。在其中我需要相机的许可。我在 AndroidManifest.xml 文件中包含了 <uses-permission android:name="android.permission.CAMERA" />
。它在除 Marshmallow 之外的所有版本的 android 中都能正常工作。我如何默认获得相机权限?如果不可能,我该如何向用户询问?
原文由 Toyas 发布,翻译遵循 CC BY-SA 4.0 许可协议
获得许可的最简单方法之一是使用 detex 库。像下面在你的 gradle 中实现以下库。
implementation 'com.karumi:dexter:6.2.2'
添加库后使用此权限,如下所示
Dexter.withContext(this)
.withPermissions(
Manifest.permission.CAMERA
).withListener(new MultiplePermissionsListener() {
@Override public void onPermissionsChecked(MultiplePermissionsReport report) {/* ... */}
@Override public void onPermissionRationaleShouldBeShown(List<PermissionRequest> permissions, PermissionToken token) {/*
... */}
}).check();
不要忘记在清单中添加用户权限
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
原文由 Mazhar Iqbal 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答938 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
1 回答817 阅读✓ 已解决
2 回答929 阅读
2 回答868 阅读
1 回答803 阅读
1 回答854 阅读
首先检查用户是否已授予权限:
然后,您可以使用它向用户请求:
而在 Marshmallow 中,它会出现在一个对话框中