Android开发_Android如何获取开机启动项列表_查找package是否有开机启动权限

来源:互联网 发布:儿童 编程 编辑:程序博客网 时间:2024/04/28 01:52

Android如何获取开机启动项列表 ,代码如下:

static final String BOOT_START_PERMISSION = "android.permission.RECEIVE_BOOT_COMPLETED";

    public List<Map<String,Object>> fetch_installed_apps(Context context)
    {
        List<ApplicationInfo> packages = context.getPackageManager().getInstalledApplications(0);
        List<Map<String, Object>>list = new ArrayList<Map<String,Object>>(packages.size());
        Iterator<ApplicationInfo> appInfoIterator = packages.iterator();

        while(appInfoIterator.hasNext())
        {
            ApplicationInfo app = (ApplicationInfo) appInfoIterator.next();
            // 查找安装的package是否有开机启动权限
            if(PackageManager.PERMISSION_GRANTED == context.getPackageManager().checkPermission(BOOT_START_PERMISSION, app.packageName))
            {
                String label = context.getPackageManager().getApplicationLabel(app).toString();
                Drawable appIcon = context.getPackageManager().getApplicationIcon(app);
                Map<String,Object> map = new HashMap<String,Object>();
                map.put("name", label);
                map.put("desc", app.packageName);
                map.put("img", appIcon);
                list.add(map);
            }
        }
        return list;
    }

原创粉丝点击