问题
I want to list of application which have internet access permission. I have this example
PackageManager p = context.getPackageManager();
final List<PackageInfo> apps = p.getInstalledPackages(PackageManager.GET_PERMISSIONS);
for (PackageInfo pkg : apps) {
for (String permission : pkg.requestedPermissions) {
// Check if permission is the internet permission
}
}
but i am not getting this, how this code will check for internet permission?
can someone give full example???
thank you.
回答1:
This example fills packageNames
with all the package name of the apps that require the internet permission:
ArrayList<String> packageNames = new ArrayList<String>();
PackageManager p = getPackageManager();
final List<PackageInfo> apps = p.getInstalledPackages(PackageManager.GET_PERMISSIONS);
for (PackageInfo packageInfo : apps) {
if (packageInfo.requestedPermissions == null)
continue;
for (String permission : packageInfo.requestedPermissions) {
if (TextUtils.equals(permission, android.Manifest.permission.INTERNET)) {
packageNames.add(packageInfo.packageName);
break;
}
}
}
回答2:
how this code will check for internet permission?
By checking permission
to see if it is the desired value:
PackageManager p = context.getPackageManager();
final List<PackageInfo> apps = p.getInstalledPackages(PackageManager.GET_PERMISSIONS);
for (PackageInfo pkg : apps) {
for (String permission : pkg.requestedPermissions) {
if (Manifest.permission.INTERNET.equals(permission)) {
// do something
break;
}
}
}
来源:https://stackoverflow.com/questions/30131270/get-list-of-application-which-have-internet-permission-in-android