【问题标题】:Retrieve All the permissions declared in Android Manifest检索 Android Manifest 中声明的所有权限
【发布时间】:2016-11-19 07:30:23
【问题描述】:

我正在尝试使用以下代码检索清单文件中声明的权限。

    try {
        PackageInfo pkgInfo = getPackageManager().getPackageInfo(
                mPkg,
                PackageManager.GET_PERMISSIONS
        );
        PermissionInfo[] permissions = pkgInfo.permissions;
        if (permissions == null) {
            source.setText("No declared permissions");
        } else {
            String permissionsText = "";
            for (int i = 0; i < permissions.length; i++) {
                permissionsText += permissions[i].name + "\n";
            }
            source.setText(permissionsText);
        }

    } catch (PackageManager.NameNotFoundException e) {
        source.setText("Package Not Found");
    }

但权限返回 null。在应用程序中声明了一些权限。但它仍然返回 NULL。

我在 Android 6.0 上执行此代码

请帮助检索在 Android Manifest 文件中声明的权限。

【问题讨论】:

标签: android android-permissions


【解决方案1】:

将您的 pkgInfo.permissions 更改为 pkgInfo.requestedPermissions。

    try {
        PackageInfo pkgInfo = getPackageManager().getPackageInfo(mPkg, PackageManager.GET_PERMISSIONS);
        String[] requestedPermissions = pkgInfo.requestedPermissions;

        if (requestedPermissions == null) {
            source.setText("No declared permissions");
        } else {
            String permissionsText = "";
            for (int i = 0; i < pkgInfo.requestedPermissions.length; i++) {
                permissionsText += requestedPermissions[i] + "\n";
            }
            source.setText(permissionsText);
        }

    } catch (PackageManager.NameNotFoundException e) {
        source.setText("Package Not Found");
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多