如何开始从ResolveInfo一个Intent(How to start an Intent fr

2019-07-31 17:50发布

我试图做一个自定义启动针对Android,而我试图找出如何启动不同的应用形式矿。 我想这样做是意图的方式,我发现它后在这里:

从你自己的(意向)打开另一个应用程序

我真的不明白的答案,但! 有人可以给我一个简洁的片段或一系列的步骤,从单一ResolveInfo去启动由ResolveInfo所代表的应用程序?

Answer 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 )



Answer 2:

通过建立这样一个新的意图。

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


文章来源: How to start an Intent from a ResolveInfo