【问题标题】:Iterating through a List to find for a permission遍历列表以查找权限
【发布时间】:2012-07-22 05:36:24
【问题描述】:

我目前正在尝试遍历列表以从手机上所有已安装的应用程序中查找特定权限,有人可以告诉我遍历列表的正确方法吗?

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 方法结束

编辑:我已经设法开始工作并在数组列表中显示。

【问题讨论】:

    标签: android list permissions iteration loops


    【解决方案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")) {
                         // do something
                     }
                 }
             }
         }
    }
    

    【讨论】:

    • 是否可以将图标添加到数组列表中,就像我如何使用包名一样?我设法保存应用程序列表并将其保存到数组列表中并显示它,但我是否也可以显示图标?
    • @dythe 我知道这是很久以前的事了,但这可能对其他人有所帮助。 PackageInfoApplicationInfo,其中有LoadLogo, LoadIcon。那应该返回应用程序的drawable
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 2016-06-13
    • 2019-08-17
    • 2020-08-21
    • 2021-09-15
    相关资源
    最近更新 更多