2

マニフェスト ファイルにインターネット アクセス許可があるユーザー デバイスにインストールされているアプリケーションのリストを表示したいのですが、現在、次のコードを使用してすべてのアプリケーションを取得しています。

PackageManager packageManager = mainActivity.getPackageManager();
            apps = packageManager.getInstalledApplications(0);
            Collections.sort(apps, new ApplicationInfo.DisplayNameComparator(packageManager));
4

1 に答える 1

3

の代わりに、を含めて をgetInstalledApplications()使用します。結果のオブジェクトには、パーミッションを要求するパッケージのフィールドが入力されます。になり、必要な権限と一致するかどうかを確認できるフィールドがあります。このようなものが動作するはずです:getInstalledPackages()GET_PERMISSIONSflagsPackageInfopermissionspermissionsPermissionInfo[]PermissionInfoname

for (PackageInfo pkg : mgr.getInstalledPackages(PackageManager.GET_PERMISSIONS)) {
  for (PermissionInfo perm : pkg.permissions) { 
    if (Manifest.permission.INTERNET.equals(perm.name)) {
      // do something
    }
  }
}
于 2015-03-29T14:18:59.157 に答える