ResolveInfopublic class ResolveInfo extends Object implements android.os.ParcelableInformation that is returned from resolving an intent
against an IntentFilter. This partially corresponds to
information collected from the AndroidManifest.xml's
<intent> tags. |
Fields Summary |
---|
public ActivityInfo | activityInfoThe activity that corresponds to this resolution match, if this
resolution is for an activity. One and only one of this and
serviceInfo must be non-null. | public ServiceInfo | serviceInfoThe service that corresponds to this resolution match, if this
resolution is for a service. One and only one of this and
activityInfo must be non-null. | public android.content.IntentFilter | filterThe IntentFilter that was matched for this ResolveInfo. | public int | priorityThe declared priority of this match. Comes from the "priority"
attribute or, if not set, defaults to 0. Higher values are a higher
priority. | public int | preferredOrderOrder of result according to the user's preference. If the user
has not set a preference for this result, the value is 0; higher
values are a higher priority. | public int | matchThe system's evaluation of how well the activity matches the
IntentFilter. This is a match constant, a combination of
{@link IntentFilter#MATCH_CATEGORY_MASK IntentFilter.MATCH_CATEGORY_MASK}
and {@link IntentFilter#MATCH_ADJUSTMENT_MASK IntentFiler.MATCH_ADJUSTMENT_MASK}. | public int | specificIndexOnly set when returned by
{@link PackageManager#queryIntentActivityOptions}, this tells you
which of the given specific intents this result came from. 0 is the
first in the list, < 0 means it came from the generic Intent query. | public boolean | isDefaultThis 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. | public int | labelResA string resource identifier (in the package's resources) of this
match's label. From the "label" attribute or, if not set, 0. | public CharSequence | nonLocalizedLabelThe actual string retrieve from labelRes or null if none
was provided. | public int | iconA drawable resource identifier (in the package's resources) of this
match's icon. From the "icon" attribute or, if not set, 0. | public static final Creator | CREATOR |
Constructors Summary |
---|
public ResolveInfo()
| private ResolveInfo(android.os.Parcel source)
switch (source.readInt()) {
case 1:
activityInfo = ActivityInfo.CREATOR.createFromParcel(source);
serviceInfo = null;
break;
case 2:
serviceInfo = ServiceInfo.CREATOR.createFromParcel(source);
activityInfo = null;
break;
default:
activityInfo = null;
serviceInfo = null;
break;
}
if (source.readInt() != 0) {
filter = IntentFilter.CREATOR.createFromParcel(source);
}
priority = source.readInt();
preferredOrder = source.readInt();
match = source.readInt();
specificIndex = source.readInt();
labelRes = source.readInt();
nonLocalizedLabel
= TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source);
icon = source.readInt();
|
Methods Summary |
---|
public int | describeContents()
return 0;
| public void | dump(android.util.Printer pw, java.lang.String prefix)
if (filter != null) {
pw.println(prefix + "Filter:");
filter.dump(pw, prefix + " ");
} else {
pw.println(prefix + "Filter: null");
}
pw.println(prefix + "priority=" + priority
+ " preferredOrder=" + preferredOrder
+ " match=0x" + Integer.toHexString(match)
+ " specificIndex=" + specificIndex
+ " isDefault=" + isDefault);
pw.println(prefix + "labelRes=0x" + Integer.toHexString(labelRes)
+ " nonLocalizedLabel=" + nonLocalizedLabel
+ " icon=0x" + Integer.toHexString(icon));
if (activityInfo != null) {
pw.println(prefix + "ActivityInfo:");
activityInfo.dump(pw, prefix + " ");
} else if (serviceInfo != null) {
pw.println(prefix + "ServiceInfo:");
// TODO
//serviceInfo.dump(pw, prefix + " ");
}
| public final int | getIconResource()Return the icon resource identifier to use for this match. If the
match defines an icon, that is used; else if the activity defines
an icon, that is used; else, the application icon is used.
if (icon != 0) return icon;
if (activityInfo != null) return activityInfo.getIconResource();
if (serviceInfo != null) return serviceInfo.getIconResource();
return 0;
| public android.graphics.drawable.Drawable | loadIcon(PackageManager pm)Retrieve the current graphical icon associated with this resolution. This
will call back on the given PackageManager to load the icon from
the application.
ComponentInfo ci = activityInfo != null ? activityInfo : serviceInfo;
ApplicationInfo ai = ci.applicationInfo;
Drawable dr;
if (icon != 0) {
dr = pm.getDrawable(ci.packageName, icon, ai);
if (dr != null) {
return dr;
}
}
return ci.loadIcon(pm);
| public java.lang.CharSequence | loadLabel(PackageManager pm)Retrieve the current textual label associated with this resolution. This
will call back on the given PackageManager to load the label from
the application.
if (nonLocalizedLabel != null) {
return nonLocalizedLabel;
}
ComponentInfo ci = activityInfo != null ? activityInfo : serviceInfo;
ApplicationInfo ai = ci.applicationInfo;
CharSequence label;
if (labelRes != 0) {
label = pm.getText(ci.packageName, labelRes, ai);
if (label != null) {
return label;
}
}
return ci.loadLabel(pm);
| public java.lang.String | toString()
ComponentInfo ci = activityInfo != null ? activityInfo : serviceInfo;
return "ResolveInfo{"
+ Integer.toHexString(System.identityHashCode(this))
+ " " + ci.name + " p=" + priority + " o="
+ preferredOrder + " m=0x" + Integer.toHexString(match) + "}";
| public void | writeToParcel(android.os.Parcel dest, int parcelableFlags)
if (activityInfo != null) {
dest.writeInt(1);
activityInfo.writeToParcel(dest, parcelableFlags);
} else if (serviceInfo != null) {
dest.writeInt(2);
serviceInfo.writeToParcel(dest, parcelableFlags);
} else {
dest.writeInt(0);
}
if (filter != null) {
dest.writeInt(1);
filter.writeToParcel(dest, parcelableFlags);
} else {
dest.writeInt(0);
}
dest.writeInt(priority);
dest.writeInt(preferredOrder);
dest.writeInt(match);
dest.writeInt(specificIndex);
dest.writeInt(labelRes);
TextUtils.writeToParcel(nonLocalizedLabel, dest, parcelableFlags);
dest.writeInt(icon);
|
|