1

現在、電話にインストールされているすべてのアプリケーションから特定の権限を見つけるためにリストを反復処理しようとしていますが、リストを反復処理する正しい方法を教えてもらえますか?

public void getPermissions(Context context) {
    PackageManager packageManager = context.getPackageManager();
    final List<PackageInfo> apps = context.getPackageManager()
        .getInstalledPackages(PackageManager.GET_PERMISSIONS);

    for (PackageInfo pi : apps) {
        String[] permissions = pi.requestedPermissions;
        if (permissions != null) {
            for (String permission : permissions) {
                Log.d("TAG", permission);
                            if (permission.equals("android.permission.INTERNET")) {

                                String appname=pi.applicationInfo.loadLabel(packageManager).toString();
                                ImageView appicon;

                                appicon = pi.applicationInfo.setImageDrawable(packageManager);
                                Log.e("TAG", "Permission found for "+ appname);

                                internetArray.add(appname);
                            }
            }
        }
    }

} //getPermissions メソッドの終わり

編集:私は、配列リストで作業して表示することができました。

4

1 に答える 1

2
public void getPermissions(Context context) {
     PackageManager packageManager = context.getPackageManager();
     final List<PackageInfo> apps = context.getPackageManager()
         .getInstalledPackages(PackageManager.GET_PERMISSIONS);

     for (PackageInfo pi : apps) {
         String[] permissions = pi.requestedPermissions;
         if (permissions != null) {
             for (String permission : permissions) {
                 Log.d("TAG", permission);
                 if (permission.equals("android.permission.INTERNET")) {
                     // do something
                 }
             }
         }
     }
}
于 2012-07-23T23:21:55.993 に答える