get list of application which have internet permission in android

做~自己de王妃 提交于 2019-12-10 09:28:36

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!