Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 包管理器中的addPermission()API方法_Android - Fatal编程技术网

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

Android 包管理器中的addPermission()API方法,android,Android,我试图在我的Android代码中动态地向系统添加权限。方法似乎将对象作为参数,我尝试了以下操作,但它抛出了一个“java.lang.SecurityException:必须在权限中指定标签”错误: 我也在清单文件中添加了组件。我在网上找不到任何例子。如果你能告诉我怎么做或者给我举个例子,那就太好了 非常感谢 此代码应该可以工作: PermissionInfo pi = new PermissionInfo(); pi.name = myCustomPermission;

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

我也在清单文件中添加了组件。我在网上找不到任何例子。如果你能告诉我怎么做或者给我举个例子,那就太好了

非常感谢

此代码应该可以工作:

    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);

(如中所述)

免费阅读并不能解释addPermission()添加的动态权限。好的,它不起作用,因为我们似乎需要额外的权限,这些权限需要使用平台密钥签名,这在上面的书中没有提到。需要这些权限的原因是什么?
    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);