首页 > 解决方案 > 为什么在此代码中 PermissionInfo.name 返回 null

问题描述

我试图获取请求权限 SYSTEM_ALERT_WINDOW 的应用程序的所有包名称并将它们添加到 ArrayList 但它返回 null,我是新来的。这是我的代码。

//Initialize array list
    aList = new ArrayList<String>();
    //get packagemanager from activity
    PackageManager pm = getPackageManager();
    //get list of installed packages from package manager
    List<PackageInfo> info = pm.getInstalledPackages(PackageManager.GET_PERMISSIONS);
    //itirate for each package
    for(PackageInfo packageInfo : info) {
        //get array of PermissionInfo of each package once
        PermissionInfo[] permissionInfo = packageInfo.permissions;
            //check if array is not null
            if(permissionInfo!=null){
                //itirate for each permission
                for(PermissionInfo aPermission : permissionInfo) {
                    //check if a permission contains this string
                    if(aPermission.name.contains("SYSTEM_ALERT_WINDOW")) {
                        //if yes then add package name to drawers
                        aList.add(packageInfo.packageName);
                    }
                }
            }
    }

有人可以告诉我出了什么问题吗?

标签: javaandroidandroid-permissions

解决方案


推荐阅读