Получение списка установленных приложений, легко.Но как запустить один из них?
-
18-09-2020 - |
Вопрос
Мое первое приложение просто будет своего рода запуска, которую я хотел бы улучшить. Эта установка запускает пользовательский дом, который пользователь установил.
Это похоже на приложение «Главная переключатель, но я хотел бы сделать это сам.
Итак, мой первый гол состоит в том, чтобы получить все «домашние» список приложений: это действительно просто и код там:
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 - или смысл - или adw Галерея Wallaper
Я думаю, что я близок к тому, что я хотел бы сделать, но я думаю, что я что-то упускаю, я?
Решение