Dianne,

Thank you for pointing me in that direction!  I found just what I was
looking for.

For those of you reading this thread, here's the code I used to get it
working:

        PackageManager pm = this.getPackageManager();

        Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
        mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);

        List<ResolveInfo> appList = pm.queryIntentActivities
(mainIntent, 0);
        Collections.sort(appList, new ResolveInfo.DisplayNameComparator
(pm));

        for(int i=0; i<appList.size(); i++){
                mainText.setText(mainText.getText() + "\n" +
                        "number: " + i + "\n" +
                        "Name: " + appList.get(i).loadLabel(pm) + "\n"
                        );
        }
        Intent i = new Intent();
        i.setAction(Intent.ACTION_MAIN);
        i.addCategory(Intent.CATEGORY_LAUNCHER);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
        i.setComponent(new ComponentName(appList.get
(4).activityInfo.applicationInfo.packageName, appList.get
(4).activityInfo.name));
        startActivity(i);

Brenton

On Mar 12, 2:59 pm, Dianne Hackborn <hack...@android.com> wrote:
> The is a home screen sample code in the SDK.  I would suggest using that
> that to see how to do things.
>
>
>
> On Thu, Mar 12, 2009 at 8:45 AM, bklik <brenton.k...@gmail.com> wrote:
>
> > Update:
>
> > OK, I can get my application to launch another application if I
> > explicitly type in the package and class names.  For example:
>
> > Intent i = new Intent();
> > i.setClassName("com.android.calculator2",
> > "com.android.calculator2.Calculator");
> > startActivity(i);
>
> > Now, how to do find out what the Activity Name is for each package?  I
> > only guessed "Calculator" in the example above after a couple tries.
> > I also tried:
>
> > appList.get(0).getClassName;
>
> > But, it returns null.
>
> > Brenton
>
> > On Mar 12, 8:21 am, bklik <brenton.k...@gmail.com> wrote:
> > > I want to basically create an application launcher.  How do do this?
> > > Shouldn't the following just work?
>
> > >         PackageManager pm = this.getPackageManager();
> > >         List<ApplicationInfo> appList = pm.getInstalledApplications
> > > (0);
>
> > >         Intent i = new Intent();
> > >         i.setAction(appList.get(15).packageName);
> > >         i.setClassName(appList.get(15).packageName, appList.get
> > > (15).className);
> > >         startActivity(i);
>
> > > It just crashes and I don't know why.
>
> > > Brenton
>
> --
> Dianne Hackborn
> Android framework engineer
> hack...@android.com
>
> Note: please don't send private questions to me, as I don't have time to
> provide private support.  All such questions should be posted on public
> forums, where I and others can see and answer them.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to