Inspite of choosing a Default app for my intent, isDefault is set to
false to for both the ResolveInfos in my list. The order of the
ResolveInfo seems to be based on install time -  I verified this by
choosing the second app in my Intent Resolver dialog and called
queryIntentActivities again; my default app still showed up second in
the list and isDefault was set to false.

Also, the documentation of isDefault says nothing about it being the
default app, rather just that if the category of the intent was
DEFAULT - "This filter has specified the Intent.CATEGORY_DEFAULT,
meaning it would like to be considered a default action that the user
can perform on this data." (Related question: When does this become
true?)

Any other pointers? Will PackageManager.getPreferredActivities help me
in anyway?

-George

On Aug 10, 8:41 pm, Dianne Hackborn <[email protected]> wrote:
> Oh sorry, you are right, this function always return the full list.  They
> are ordered by how good they match the intent; if there is a default it will
> be the first in the list with isDefault set to true.
>
>
>
> On Mon, Aug 10, 2009 at 7:24 PM, George <[email protected]> wrote:
>
> > That is not what I am seeing.
>
> > I have two email applications which handle
> > the same intent ie in their manifest files I have
> > <intent-filter>
> >    <action android:name="com.xxxx.compose'/>
> >    <category android:name="android.intent.category.DEFAULT/>
> >  </intent-filter>
> > in my calling app,
> > Intent intent = new Intent();
> > intent.setAction("com.xxxx.compose");
> > when I call List<ResolveInfo> l =queryIntentActivities(intent,
> > PackageManager.MATCH_DEFAULT_ONLY);
> > l.size() always returns two -irrespective of chosing a default when
> > the intent resolver dialog is shown.
> > And the values in the resolveinfo list points to my email
> > applications.
>
> > I want to know programatically, if a default has been chosen by the
> > user.
> > On Aug 10, 6:40 pm, Dianne Hackborn <[email protected]> wrote:
> > > If the user has selected a default activity, that is the only one that is
> > > returned.  If they haven't, and there are multiple matching activities,
> > than
> > > the system's intent resolver activity will be returned.
>
> > > On Mon, Aug 10, 2009 at 6:18 PM, George <[email protected]> wrote:
>
> > > > PacakgeManager.queryIntentActivities(Intent intent, int flags)  with
> > > > flags = MATCH_DEFAULT_ONLY returns a list of applications that handle
> > > > a particular intent. How do I find the default activity that is chosen
> > > > by the user?
>
> > > > Note: The default activity is chosen by the user the first time he is
> > > > prompted with a list of applications that handle a particular intent.
>
> > > --
> > > Dianne Hackborn
> > > Android framework engineer
> > > [email protected]
>
> > > Note: please don't send private questions to me, as I don't have time to
> > > provide private support, and so won't reply to such e-mails.  All such
> > > questions should be posted on public forums, where I and others can see
> > and
> > > answer them.
>
> --
> Dianne Hackborn
> Android framework engineer
> [email protected]
>
> Note: please don't send private questions to me, as I don't have time to
> provide private support, and so won't reply to such e-mails.  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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to