Chaitanya Reddy
Chaitanya Reddy

Reputation: 43

Retrieve All the permissions declared in Android Manifest

I am trying to retrieve permissions declared in Manifest files using below code.

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

But permissions returns null. In the app some of the permissions are declared. But still it returns NULL.

I am executing this code on Android 6.0

Please help to retrieve permissions declared in Android Manifest file.

Upvotes: 2

Views: 856

Answers (1)

Annahl
Annahl

Reputation: 11

Change your pkgInfo.permissions to 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");
    }

Upvotes: 1

Related Questions