Подтвердить что ты не робот

Как начать намерение из ResolveInfo

Я пытаюсь создать пользовательскую пусковую установку для Android, и я пытаюсь понять, как запустить другую форму приложения. Я понял, как это сделать, и я нашел здесь сообщение:

Откройте другое приложение из своего собственного (намеренного)

Я действительно не понимаю ответа! Может ли кто-нибудь дать мне краткий фрагмент или ряд шагов, чтобы перейти от одного ResolveInfo к запуску приложения, представленного этим ResolveInfo?

4b9b3361

Ответ 1

Учитывая ResolveInfo с именем launchable:

ActivityInfo activity=launchable.activityInfo;
ComponentName name=new ComponentName(activity.applicationInfo.packageName,
                                     activity.name);
Intent i=new Intent(Intent.ACTION_MAIN);

i.addCategory(Intent.CATEGORY_LAUNCHER);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
            Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
i.setComponent(name);

startActivity(i);

(из https://github.com/commonsguy/cw-omnibus/tree/master/Introspection/Launchalot)

Ответ 2

Создайте новый намерение таким образом.

    Intent intent = new Intent();
    intent.setClassName(resolveInfo.activityInfo.applicationInfo.packageName,
            resolveInfo.activityInfo.name);
    startActivity(intent);