Получить список установленных приложений легко. Но как запустить один из них? - PullRequest
2 голосов
/ 20 июля 2010

Мое первое приложение будет просто своего рода пусковой установкой, которую я хотел бы улучшить.Этот модуль запуска запускает пользовательский 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

Я думаю, что я близок к тому, что я хотел бы сделать, но, я думаю, я что-то упускаю, я?

1 Ответ

4 голосов
/ 20 июля 2010

Вот пример проекта , реализующего деятельность в стиле запуска.

...