0

如何获取可以使用数据的应用程序列表并在我的屏幕上显示它们。我试过使用 intent.Action_Main 。我在互联网上看到了一些代码,但我只能找到所有已安装应用程序的列表。

4

1 回答 1

1

您可以使用下面的代码找到使用 Internet 权限的应用程序。

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;
}
于 2016-03-14T10:44:11.363 回答