queryPermissionsByGroup在Android Q上返回null

时间:2019-08-01 13:47:07

标签: permissions android-10.0

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

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

任何人都知道有关android Q权限组中查询权限的详细更改以及如何在此版本中更正吗?

1 个答案:

答案 0 :(得分:1)

the release notes中提到了这一点:

  

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

您需要手动收集该信息并将其编码在您的应用中。例如,here is the platform manifest from Q Beta 5。如果您手动搜索android.permission.CAMERA,您将看到该组中的唯一权限是let m1 = Maybe<String>.empty() let m2 = Maybe<String>.just("AA") let s1 = m1.asObservable().asSingle() let s2 = m2.asObservable().asSingle() Single.zip(s1, s2).subscribe(onSuccess: { a, b in print("==================") print(a) print(b) print("==================") }, onError: { e in print("EEEEE") print(e) // Sequence doesn't contain any elements. }).disposed(by: disposeBag) 。如果在将来的Android版本中,其他权限已添加到该组,则您会在平台清单中找到该权限,并能够更新您的应用。尽管这种方法没有考虑到制造商的任何更改,但我怀疑这是唯一的解决方法。