How to start an Intent from a ResolveInfo

Pete.Mertz picture Pete.Mertz · Sep 20, 2012 · Viewed 12.6k times · Source

I'm trying to make a custom launcher for android, and I'm trying to figure out how to launch a different application form mine. I figured the way to do it was intents, and I've found a post on it here:

Open another application from your own (intent)

I don't really understand the answer though! Can someone give me a concise snippet or series of steps to go from a single ResolveInfo to launching the app represented by that ResolveInfo?

Answer

CommonsWare picture CommonsWare · Sep 20, 2012

Given a ResolveInfo named 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);

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