以编程方式从android中的manifest.xml检索权限

Ale*_*pte 17 java permissions android android-manifest

我必须以编程方式从android应用程序的manifest.xml中检索权限,我不知道该怎么做.

在这里阅读了这篇文章,但我对答案并不完全满意.我想android API中应该有一个类允许从清单中检索信息.

谢谢.

Phi*_*hil 21

您可以使用此方法:

PackageInfo info = getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS);
String[] permissions = info.requestedPermissions;//This array contains the requested permissions.
Run Code Online (Sandbox Code Playgroud)

  • OP 能否发布他最终实际使用的代码,因为这个答案并不是真正要求的内容? (3认同)

Ani*_*oin 16

这是一个有用的实用方法,可以做到这一点.

public static String[] retrievePermissions(Context context) {
    try {
        return context
                .getPackageManager()
                .getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS)
                .requestedPermissions;
    } catch (PackageManager.NameNotFoundException e) {
        throw new RuntimeException ("This should have never happened.", e);
    }
}
Run Code Online (Sandbox Code Playgroud)

你可以从这个要点得到一个工人阶级.