Get a list of apps that have internet permission in android

I want to view a list of applications that have permission to access the Internet. 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 don't understand how this code will check the internet access permission?

can someone give a complete example ???

thank.

+3


source to share


2 answers


This example populates the packageNames

entire name of an app package that requires Internet access 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


source


how will this code check the internet access permission?

Checking permission

to see if this 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;
        }
    }
}

      

+2


source







All Articles