Вы можете сохранить имя пакета выбранного приложения в вашем приложении (sdCard, кеш и т. Д.).Затем, когда пользователь нажимает на ваш виджет и вызывает прослушиватель щелчков, вы делаете это:
PackageManager packageManager = this.getPackageManager();
Intent launchIntent = packageManager.getLaunchIntentForPackage(packageName);
launchIntent.addCategory(Intent.CATEGORY_LAUNCHER);
launchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(launchIntent);
ОБНОВЛЕНИЕ:
Это приведет к установке всех установленных приложенийтелефон пользователя:
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> applications = getPackageManager().queryIntentActivities(intent, 0);
Класс ResolveInfo содержит много полезной информации о приложении, включая имя его пакета.Как только пользователь выбирает приложение, вы получаете имя пакета из его объекта ResolveInfo и используете другой код для открытия программы.