【问题标题】:Android: Get localized permission group namesAndroid:获取本地化权限组名称
【发布时间】:2015-11-24 17:06:01
【问题描述】:

在marshmallow的运行时权限中,用户可以在权限请求中选择“不再询问”。在这种情况下,我们必须将用户重定向到应用设置,让他们启用应用的权限。此外,Android 权限是基于组的,在我们将用户发送到设置之前,显示应用所需权限组的名称会非常方便。

我在 android.Manifest 中看到了字符串,例如“android.permission-group.LOCATION”。是否可以通过编程方式获取权限组名称?

【问题讨论】:

    标签: android android-manifest android-permissions android-6.0-marshmallow android-package-managers


    【解决方案1】:

    getPermissionGroupInfo() on PackageManager 为该组名 (android.permission-group.LOCATION) 返回一个 PermissionGroupInfo。为此,调用loadLabel(),提供PackageManager 作为输入,以获取权限组的可读名称。这应该针对用户选择的设备区域设置进行本地化。

    【讨论】:

    • Loadlabel() 总是返回本地化字符串,但我想要非本地化字符串。任何 API 都可用于检索非本地化字符串。
    • @parul:“非本地化字符串”是什么?
    • 它在 Android 10 中不起作用,它会抛出“NameNotFoundException”
    • @Zijian:我不知道“它”是什么。也许您正在请求一个在 Android 10 上不存在的权限组。
    • @Zijian:我猜你看到的是this bug report的精炼版本,标记为“按预期工作”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-12
    • 1970-01-01
    • 2011-06-30
    相关资源
    最近更新 更多