最近學習Android,想要寫一個手機信息助手,想獲取開機啓動項,但網上一直沒有搜到明確的方法。
蒐集了很多文章,發現其實還是可以獲取開機啓動項的。好了,廢話不說了,先貼出代碼如下,僅供參考:
static final String BOOT_START_PERMISSION = "android.permission.RECEIVE_BOOT_COMPLETED";
public List<Map<String, Object>> fetch_installed_apps(){
List<ApplicationInfo> packages = getPackageManager().getInstalledApplications(0);
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==getPackageManager().checkPermission(BOOT_START_PERMISSION, app.packageName))
{
String label = getPackageManager().getApplicationLabel(app).toString();
Drawable appIcon = 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;
}