Мое первое приложение будет просто своего рода пусковой установкой, которую я хотел бы улучшить.Этот модуль запуска запускает пользовательский Home, который установил пользователь.
Это похоже на приложение "Home Switcher", но я бы хотел сделать это сам.
Так что моя первая цель - получить всеСписок «домашних» приложений: это действительно просто, и код есть:
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
pm=getBaseContext().getPackageManager();
mainIntent.addCategory(Intent.CATEGORY_HOME);
List<ResolveInfo> list = pm.queryIntentActivities(mainIntent,0);
Теперь я хотел бы сделать это в виде списка. Моя первая проблема - получить значок: я потерпел неудачу, но это не такмоя главная проблема (если вы можете мне помочь, я был бы счастлив)
Мне удалось сделать просмотр списка со всеми именами установленного дома:
for(...){
map = new HashMap<String, String>();
map.put("titre",info.activityInfo.applicationInfo.loadLabel( pm ).toString());
map.put("pck",info.activityInfo.packageName);
listItem.add(map);
}
SimpleAdapter homeAdapter = new SimpleAdapter (this.getBaseContext(), listItem, R.layout.row,
new String[] {"img", "titre"}, new int[] {R.id.img, R.id.titre});
myListView.setAdapter(homeAdapter);
И теперь, когда я нажимаю надом, я хотел бы запустить Дом, поэтому я сделал следующее:
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
HashMap<String, String> map = (HashMap<String, String>) myListView.getItemAtPosition(position);
Intent myIntent = new Intent();
myIntent.setPackage(map.get("pck"));
startActivity(myIntent);
}
Итак, появляется окно, которое спрашивает меня:
Завершите действие, используя: LauncherPro- или Sense - или ADW Wallaper Gallery
Я думаю, что я близок к тому, что я хотел бы сделать, но, я думаю, я что-то упускаю, я?