包管理器中的addPermission()API方法

时间:2017-01-26 02:56:02

标签: android

我正在尝试在Android代码中动态添加系统权限。 addPermission方法似乎将PermissionInfo对象作为参数,我尝试了以下但是它抛出了一个" java.lang.SecurityException:必须在权限中指定标签"错误:

    PermissionInfo pi = new PermissionInfo();
    pi.name = myCustomPermission;
    pi.protectionLevel = PermissionInfo.PROTECTION_DANGEROUS;
    final PackageManager packageManager = getApplicationContext().getPackageManager();
    packageManager.addPermission(pi);

我也在清单文件中添加了组件。我无法在网上找到任何例子。如果您能描述我如何做到这一点或指出我的例子,那就太好了。

非常感谢!

1 个答案:

答案 0 :(得分:0)

此代码应该有效:

    PermissionInfo pi = new PermissionInfo();
    pi.name = myCustomPermission;
    pi.labelRes = R.string.permission_label;
    pi.protectionLevel = PermissionInfo.PROTECTION_DANGEROUS;
    final PackageManager packageManager = getApplicationContext().getPackageManager();
    packageManager.addPermission(pi);

(由this book教导)