获取手机中所有有Internet访问权限的应用程序

 1     /**
 2      * 得到有Internet访问权限的应用
 3      * @return
 4      */
 5     public List<TrafficInfo> getInternetTrafficInfos(){
 6         List<TrafficInfo> trafficInofs = new ArrayList<TrafficInfo>();
 7         List<PackageInfo> packageInfos = pm.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_PERMISSIONS);
 8         for (PackageInfo info : packageInfos) {
 9             String[] permissions = info.requestedPermissions; // 获取所有的权限节点
10             // 有的应用程序没有权限    需要判断是否为null
11             if(permissions != null){
12                 for(String permission:permissions){
13                     if(permission.equals(Manifest.permission.INTERNET)){
14                         ApplicationInfo appInfo = info.applicationInfo;
15                         Drawable appicon = appInfo.loadIcon(pm);
16                         String appname = appInfo.loadLabel(pm).toString();
17                         String packageName = appInfo.packageName;
18                         int uid = appInfo.uid;
19                         trafficInofs.add(new TrafficInfo(appicon, appname, packageName, uid));
20                     }
21                 }
22             }
23 
24         }
25         return trafficInofs;
26     }
原文地址:https://www.cnblogs.com/androidez/p/2934038.html