【问题标题】:queryPermissionsByGroup return null on android QqueryPermissionsByGroup 在 android Q 上返回 null
【发布时间】:2019-12-10 03:22:57
【问题描述】:

我需要在我的应用中使用相机权限。代码使用 PackageManager.queryPermissionsByGroup 查询“android.permission-group.CAMERA”组的权限。

我在android Q中发现,这个方法返回null。但是没有找到关于如何替换这个的详细说明。

谁知道android Q中权限组中查询权限的详细变化,以及在这个版本中如何更正?

【问题讨论】:

    标签: permissions android-10.0


    【解决方案1】:

    the release notes中提到了这个:

    从 Android Q 开始,应用无法查看用户界面中权限的分组方式。

    您需要手动收集该信息并将其编码到您的应用中。例如,here is the platform manifest from Q Beta 5。如果您手动搜索android:permissionGroup="android.permission-group.CAMERA",您将看到该组中的唯一权限是android.permission.CAMERA。如果在未来的某个 Android 版本中,将其他权限添加到该组,您会在平台清单中找到它,并且能够更新您的应用程序。虽然这种方法没有考虑到任何制造商特定的变化,但我怀疑这是唯一的解决方法。

    【讨论】:

    • 谢谢!所以我无法通过代码在权限组中找到权限,那么我们是否应该假设权限组的概念在android Q中没有用?而且如果需要,我们必须一一请求单独的权限?
    • @tainy: “我们应该假设权限组的概念在 android Q 中没有用吗?” - 不。您只是无法查找组的元素。 “而且,如果需要,我们必须一一请求单独的权限?” -- 这一直是人们的期望,并且从 8.1 或 9.0 IIRC 开始就需要它。
    • @CommonsWare 在这里再见。我们如何获得权限的组名?这样我就可以在用户拒绝权限时将其显示给用户,并引导他们在系统设置中打开它
    • @Zijian:正如我几秒钟前向你提到的here,根据你描述的症状和this bug report,我怀疑这不再可能。
    猜你喜欢
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 2017-10-15
    • 2017-08-03
    相关资源
    最近更新 更多