You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android系统中通过编程获取权限图标?

获取Android权限对应的图标
  • Android系统中单个权限通常没有独立图标,权限组才有对应的官方图标,系统权限弹窗、系统应用里显示的都是权限组的图标。
  • 先通过权限名称获取其归属的权限组ID:
    String permissionGroup = null;
    try {
        PermissionInfo permissionInfo = getPackageManager().getPermissionInfo(Manifest.permission.READ_CONTACTS, 0);
        permissionGroup = permissionInfo.group;
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    
  • 再通过权限组ID获取组信息并加载图标:
    if (permissionGroup != null) {
        try {
            PermissionGroupInfo groupInfo = getPackageManager().getPermissionGroupInfo(permissionGroup, 0);
            Drawable permissionIcon = groupInfo.loadIcon(getPackageManager());
            // 此处可直接使用获取到的permissionIcon
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
    }
    
  • 关键注意事项:
    • 部分特殊权限(如SYSTEM_ALERT_WINDOW)无归属权限组,需自行设置默认图标。
    • 该方案仅适配Android 6.0(API 23)及以上版本,低版本需额外兼容。
    • 若返回UNKNOWN,建议先打印permissionInfo.group的值,确认权限对应的实际组ID,避免因组名拼写错误导致失败。

内容的提问来源于stack exchange,提问作者Rutherford Le Blang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 08:02:04