0

How do I get a list of apps that can use data a display them on my screen . I have tried using intent.Action_Main . I saw some code on Internet but i could only find the list of all apps installed .

Shantam Mittal
  • 383
  • 4
  • 8

1 Answers1

1

You can find apps that are using internet permission by using the code below.

private ArrayList<String> getInstalledApps(Context context) {
    ArrayList<String> results = new ArrayList<String>();
    PackageManager packageManager = context.getPackageManager();
    List<PackageInfo> applist = packageManager.getInstalledPackages(0);
    Iterator<PackageInfo> it = applist.iterator();
    while (it.hasNext()) {
        PackageInfo pk = (PackageInfo) it.next();
        if ((pk.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
            Log.v("system app using internet = ", ""+pk.applicationInfo.loadLabel(packageManager));
            continue;
        }
        if (PackageManager.PERMISSION_GRANTED == packageManager
                .checkPermission(Manifest.permission.INTERNET,
                        pk.packageName))
            results.add("" + pk.applicationInfo.loadLabel(packageManager));
    }

    Log.v("app using internet = ", results.toString());

    return results;
}
Kamalone
  • 4,045
  • 5
  • 40
  • 64