Uzyskaj nazwy aplikacji ze specjalnym zezwoleniem

Chcę listę wszystkich aplikacji zainstalowanych na urządzeniu, które używają określonego uprawnienia, takiego jak INTERNET.

używam tego kodu, ale nie mogę pobrać wyników, proszę o pomoc.

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 (PackageManager.PERMISSION_GRANTED == packageManager.checkPermission(Manifest.permission.INTERNET, pk.packageName))
            results.add("" + pk.applicationInfo.loadLabel(packageManager));
    }

    for (int i = 0; i <= results.size(); i++) {
        Log.v("app using internet = ", results.toString());
    }

    return results;
}

questionAnswers(2)

yourAnswerToTheQuestion