Reputation: 43
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
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