获取开机启动项列表public class BootStartUtils { private static final String BOOT_START_PERMISSION = "android.permission.RECEIVE_BOOT_COMPLETED"; private Context mContext; public BootStartUtils(Context context) { mContext = context; } /** * 获取Android开机启动列表 */ public List<Map<String, Object>> fetchInstalledApps() { PackageManager pm = mContext.getPackageManager(); List<ApplicationInfo> appInfo = pm.getInstalledApplications(0); Iterator<ApplicationInfo> appInfoIterator = appInfo.iterator(); List<Map<String, Object>> appList = new ArrayList<Map<String, Object>>(appInfo.size()); while (appInfoIterator.hasNext()) { ApplicationInfo app = appInfoIterator.next(); int flag = pm.checkPermission( BOOT_START_PERMISSION, app.packageName); if (flag == PackageManager.PERMISSION_GRANTED) { Map<String, Object> appMap = new HashMap<String, Object>(); String label = pm.getApplicationLabel(app).toString(); Drawable icon = pm.getApplicationIcon(app); String desc = app.packageName; appMap.put("label", label); appMap.put("icon", icon); appMap.put("desc", desc); appList.add(appMap); } } return appList; }
Android获取开机启动项列表
最新推荐文章于 2021-05-28 13:27:25 发布