2012-07-23 79 views
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方法结束

编辑:我设法在一个ArrayList获得工作和显示。

回答

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 
       } 
      } 
     } 
    } 
} 
+0

是否有可能将图标添加到数组列表中,就像我对包名称做了什么一样?我设法保存应用程序列表并将其保存到一个数组列表中并显示,但是我是否也可以显示该图标? – dythe 2012-07-23 23:56:07