我正在尝试为 android 制作一个自定义启动器,并且我正在尝试弄清楚如何启动一个不同的应用程序表单。我认为这样做的方法是意图,我在这里找到了一个帖子:
虽然我真的不明白答案!有人可以给我一个简明的片段或一系列步骤,从单个 ResolveInfo 到启动由该 ResolveInfo 代表的应用程序吗?
我正在尝试为 android 制作一个自定义启动器,并且我正在尝试弄清楚如何启动一个不同的应用程序表单。我认为这样做的方法是意图,我在这里找到了一个帖子:
虽然我真的不明白答案!有人可以给我一个简明的片段或一系列步骤,从单个 ResolveInfo 到启动由该 ResolveInfo 代表的应用程序吗?
给定一个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)
通过这种方式创建一个新的 Intent。
Intent intent = new Intent();
intent.setClassName(resolveInfo.activityInfo.applicationInfo.packageName,
resolveInfo.activityInfo.name);
startActivity(intent);