java.lang.Object | |
↳ | android.content.Intent |
Known Direct Subclasses |
An intent is an abstract description of an operation to be performed. It
can be used with startActivity
to
launch an Activity
,
broadcastIntent
to
send it to any interested BroadcastReceiver
components,
and startService(Intent)
or
bindService(Intent, ServiceConnection, int)
to communicate with a
background Service
.
An Intent provides a facility for performing late runtime binding between the code in different applications. Its most significant use is in the launching of activities, where it can be thought of as the glue between activities. It is basically a passive data structure holding an abstract description of an action to be performed.
For information about how to create and resolve intents, read the Intents and Intent Filters developer guide.
The primary pieces of information in an intent are:
action -- The general action to be performed, such as
ACTION_VIEW
, ACTION_EDIT
, ACTION_MAIN
,
etc.
data -- The data to operate on, such as a person record
in the contacts database, expressed as a Uri
.
Some examples of action/data pairs are:
ACTION_VIEW
content://contacts/people/1 -- Display
information about the person whose identifier is "1".
ACTION_DIAL
content://contacts/people/1 -- Display
the phone dialer with the person filled in.
ACTION_VIEW
tel:123 -- Display
the phone dialer with the given number filled in. Note how the
VIEW action does what what is considered the most reasonable thing for
a particular URI.
ACTION_DIAL
tel:123 -- Display
the phone dialer with the given number filled in.
ACTION_EDIT
content://contacts/people/1 -- Edit
information about the person whose identifier is "1".
ACTION_VIEW
content://contacts/people/ -- Display
a list of people, which the user can browse through. This example is a
typical top-level entry into the Contacts application, showing you the
list of people. Selecting a particular person to view would result in a
new intent { ACTION_VIEW
content://contacts/N }
being used to start an activity to display that person.
In addition to these primary attributes, there are a number of secondary attributes that you can also include with an intent:
category -- Gives additional information about the action
to execute. For example, CATEGORY_LAUNCHER
means it should
appear in the Launcher as a top-level application, while
CATEGORY_ALTERNATIVE
means it should be included in a list
of alternative actions the user can perform on a piece of data.
type -- Specifies an explicit type (a MIME type) of the intent data. Normally the type is inferred from the data itself. By setting this attribute, you disable that evaluation and force an explicit type.
component -- Specifies an explicit name of a component class to use for the intent. Normally this is determined by looking at the other information in the intent (the action, data/type, and categories) and matching that with a component that can handle it. If this attribute is set then none of the evaluation is performed, and this component is used exactly as is. By specifying this attribute, all of the other Intent attributes become optional.
extras -- This is a Bundle
of any additional information.
This can be used to provide extended information to the component.
For example, if we have a action to send an e-mail message, we could
also include extra pieces of data here to supply a subject, body,
etc.
Here are some examples of other operations you can specify as intents using these additional parameters:
ACTION_MAIN
with category CATEGORY_HOME
--
Launch the home screen.
ACTION_GET_CONTENT
with MIME type
vnd.android.cursor.item/phone
-- Display the list of people's phone numbers, allowing the user to
browse through them and pick one and return it to the parent activity.
ACTION_GET_CONTENT
with MIME type
*/* and category CATEGORY_OPENABLE
-- Display all pickers for data that can be opened with
ContentResolver.openInputStream()
,
allowing the user to pick one of them and then some data inside of it
and returning the resulting URI to the caller. This can be used,
for example, in an e-mail application to allow the user to pick some
data to include as an attachment.
There are a variety of standard Intent action and category constants
defined in the Intent class, but applications can also define their own.
These strings use java style scoping, to ensure they are unique -- for
example, the standard ACTION_VIEW
is called
"android.intent.action.VIEW".
Put together, the set of actions, data types, categories, and extra data defines a language for the system allowing for the expression of phrases such as "call john smith's cell". As applications are added to the system, they can extend this language by adding new actions, types, and categories, or they can modify the behavior of existing phrases by supplying their own activities that handle them.
There are two primary forms of intents you will use.
Explicit Intents have specified a component (via
setComponent(ComponentName)
or setClass(Context, Class>)
), which provides the exact
class to be run. Often these will not include any other information,
simply being a way for an application to launch various internal
activities it has as the user interacts with the application.
Implicit Intents have not specified a component; instead, they must include enough information for the system to determine which of the available components is best to run for that intent.
When using implicit intents, given such an arbitrary intent we need to
know what to do with it. This is handled by the process of Intent
resolution, which maps an Intent to an Activity
,
BroadcastReceiver
, or Service
(or sometimes two or
more activities/receivers) that can handle it.
The intent resolution mechanism basically revolves around matching an
Intent against all of the <intent-filter> descriptions in the
installed application packages. (Plus, in the case of broadcasts, any BroadcastReceiver
objects explicitly registered with registerReceiver(BroadcastReceiver, IntentFilter)
.) More
details on this can be found in the documentation on the IntentFilter
class.
There are three pieces of information in the Intent that are used for
resolution: the action, type, and category. Using this information, a query
is done on the PackageManager
for a component that can handle the
intent. The appropriate component is determined based on the intent
information supplied in the AndroidManifest.xml
file as
follows:
The action, if given, must be listed by the component as one it handles.
The type is retrieved from the Intent's data, if not already supplied in the Intent. Like the action, if a type is included in the intent (either explicitly or implicitly in its data), then this must be listed by the component as one it handles.
content:
URI and where no explicit
type is included in the Intent, instead the scheme of the
intent data (such as http:
or mailto:
) is
considered. Again like the action, if we are matching a scheme it
must be listed by the component as one it can handle.
The categories, if supplied, must all be listed
by the activity as categories it handles. That is, if you include
the categories CATEGORY_LAUNCHER
and
CATEGORY_ALTERNATIVE
, then you will only resolve to components
with an intent that lists both of those categories.
Activities will very often need to support the
CATEGORY_DEFAULT
so that they can be found by
Context.startActivity()
.
For example, consider the Note Pad sample application that allows user to browse through a list of notes data and view details about individual items. Text in italics indicate places were you would replace a name with one specific to your own package.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.notepad"> <application android:icon="@drawable/app_notes" android:label="@string/app_name"> <provider class=".NotePadProvider" android:authorities="com.google.provider.NotePad" /> <activity class=".NotesList" android:label="@string/title_notes_list"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.EDIT" /> <action android:name="android.intent.action.PICK" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="vnd.android.cursor.dir/vnd.google.note" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.GET_CONTENT" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="vnd.android.cursor.item/vnd.google.note" /> </intent-filter> </activity> <activity class=".NoteEditor" android:label="@string/title_note"> <intent-filter android:label="@string/resolve_edit"> <action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.EDIT" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="vnd.android.cursor.item/vnd.google.note" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.INSERT" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="vnd.android.cursor.dir/vnd.google.note" /> </intent-filter> </activity> <activity class=".TitleEditor" android:label="@string/title_edit_title" android:theme="@android:style/Theme.Dialog"> <intent-filter android:label="@string/resolve_title"> <action android:name="com.android.notepad.action.EDIT_TITLE" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.ALTERNATIVE" /> <category android:name="android.intent.category.SELECTED_ALTERNATIVE" /> <data android:mimeType="vnd.android.cursor.item/vnd.google.note" /> </intent-filter> </activity> </application> </manifest>
The first activity,
com.android.notepad.NotesList
, serves as our main
entry into the app. It can do three things as described by its three intent
templates:
<intent-filter> <action android:name="android.intent.action.MAIN
" /> <category android:name="android.intent.category.LAUNCHER
" /> </intent-filter>
This provides a top-level entry into the NotePad application: the standard MAIN action is a main entry point (not requiring any other information in the Intent), and the LAUNCHER category says that this entry point should be listed in the application launcher.
<intent-filter> <action android:name="android.intent.action.VIEW
" /> <action android:name="android.intent.action.EDIT
" /> <action android:name="android.intent.action.PICK
" /> <category android:name="android.intent.category.DEFAULT
" /> <data mimeType:name="vnd.android.cursor.dir/vnd.google.note" /> </intent-filter>
This declares the things that the activity can do on a directory of
notes. The type being supported is given with the <type> tag, where
vnd.android.cursor.dir/vnd.google.note
is a URI from which
a Cursor of zero or more items (vnd.android.cursor.dir
) can
be retrieved which holds our note pad data (vnd.google.note
).
The activity allows the user to view or edit the directory of data (via
the VIEW and EDIT actions), or to pick a particular note and return it
to the caller (via the PICK action). Note also the DEFAULT category
supplied here: this is required for the
Context.startActivity
method to resolve your
activity when its component name is not explicitly specified.
<intent-filter> <action android:name="android.intent.action.GET_CONTENT
" /> <category android:name="android.intent.category.DEFAULT
" /> <data android:mimeType="vnd.android.cursor.item/vnd.google.note" /> </intent-filter>
This filter describes the ability return to the caller a note selected by
the user without needing to know where it came from. The data type
vnd.android.cursor.item/vnd.google.note
is a URI from which
a Cursor of exactly one (vnd.android.cursor.item
) item can
be retrieved which contains our note pad data (vnd.google.note
).
The GET_CONTENT action is similar to the PICK action, where the activity
will return to its caller a piece of data selected by the user. Here,
however, the caller specifies the type of data they desire instead of
the type of data the user will be picking from.
Given these capabilities, the following intents will resolve to the NotesList activity:
{ action=android.app.action.MAIN } matches all of the activities that can be used as top-level entry points into an application.
{ action=android.app.action.MAIN, category=android.app.category.LAUNCHER } is the actual intent used by the Launcher to populate its top-level list.
{ action=android.intent.action.VIEW data=content://com.google.provider.NotePad/notes } displays a list of all the notes under "content://com.google.provider.NotePad/notes", which the user can browse through and see the details on.
{ action=android.app.action.PICK data=content://com.google.provider.NotePad/notes } provides a list of the notes under "content://com.google.provider.NotePad/notes", from which the user can pick a note whose data URL is returned back to the caller.
{ action=android.app.action.GET_CONTENT type=vnd.android.cursor.item/vnd.google.note } is similar to the pick action, but allows the caller to specify the kind of data they want back so that the system can find the appropriate activity to pick something of that data type.
The second activity,
com.android.notepad.NoteEditor
, shows the user a single
note entry and allows them to edit it. It can do two things as described
by its two intent templates:
<intent-filter android:label="@string/resolve_edit"> <action android:name="android.intent.action.VIEW
" /> <action android:name="android.intent.action.EDIT
" /> <category android:name="android.intent.category.DEFAULT
" /> <data android:mimeType="vnd.android.cursor.item/vnd.google.note" /> </intent-filter>
The first, primary, purpose of this activity is to let the user interact
with a single note, as decribed by the MIME type
vnd.android.cursor.item/vnd.google.note
. The activity can
either VIEW a note or allow the user to EDIT it. Again we support the
DEFAULT category to allow the activity to be launched without explicitly
specifying its component.
<intent-filter> <action android:name="android.intent.action.INSERT
" /> <category android:name="android.intent.category.DEFAULT
" /> <data android:mimeType="vnd.android.cursor.dir/vnd.google.note" /> </intent-filter>
The secondary use of this activity is to insert a new note entry into an existing directory of notes. This is used when the user creates a new note: the INSERT action is executed on the directory of notes, causing this activity to run and have the user create the new note data which it then adds to the content provider.
Given these capabilities, the following intents will resolve to the NoteEditor activity:
{ action=android.intent.action.VIEW data=content://com.google.provider.NotePad/notes/{ID} } shows the user the content of note {ID}.
{ action=android.app.action.EDIT data=content://com.google.provider.NotePad/notes/{ID} } allows the user to edit the content of note {ID}.
{ action=android.app.action.INSERT data=content://com.google.provider.NotePad/notes } creates a new, empty note in the notes list at "content://com.google.provider.NotePad/notes" and allows the user to edit it. If they keep their changes, the URI of the newly created note is returned to the caller.
The last activity,
com.android.notepad.TitleEditor
, allows the user to
edit the title of a note. This could be implemented as a class that the
application directly invokes (by explicitly setting its component in
the Intent), but here we show a way you can publish alternative
operations on existing data:
<intent-filter android:label="@string/resolve_title"> <action android:name="com.android.notepad.action.EDIT_TITLE" /> <category android:name="android.intent.category.DEFAULT
" /> <category android:name="android.intent.category.ALTERNATIVE
" /> <category android:name="android.intent.category.SELECTED_ALTERNATIVE
" /> <data android:mimeType="vnd.android.cursor.item/vnd.google.note" /> </intent-filter>
In the single intent template here, we
have created our own private action called
com.android.notepad.action.EDIT_TITLE
which means to
edit the title of a note. It must be invoked on a specific note
(data type vnd.android.cursor.item/vnd.google.note
) like the previous
view and edit actions, but here displays and edits the title contained
in the note data.
In addition to supporting the default category as usual, our title editor
also supports two other standard categories: ALTERNATIVE and
SELECTED_ALTERNATIVE. Implementing
these categories allows others to find the special action it provides
without directly knowing about it, through the
queryIntentActivityOptions(ComponentName, Intent[], Intent, int)
method, or
more often to build dynamic menu items with
addIntentOptions(int, int, int, ComponentName, Intent[], Intent, int, MenuItem[])
. Note that in the intent
template here was also supply an explicit name for the template
(via android:label="@string/resolve_title"
) to better control
what the user sees when presented with this activity as an alternative
action to the data they are viewing.
Given these capabilities, the following intent will resolve to the TitleEditor activity:
{ action=com.android.notepad.action.EDIT_TITLE data=content://com.google.provider.NotePad/notes/{ID} } displays and allows the user to edit the title associated with note {ID}.
These are the current standard actions that Intent defines for launching
activities (usually through startActivity(Intent)
. The most
important, and by far most frequently used, are ACTION_MAIN
and
ACTION_EDIT
.
ACTION_MAIN
ACTION_VIEW
ACTION_ATTACH_DATA
ACTION_EDIT
ACTION_PICK
ACTION_CHOOSER
ACTION_GET_CONTENT
ACTION_DIAL
ACTION_CALL
ACTION_SEND
ACTION_SENDTO
ACTION_ANSWER
ACTION_INSERT
ACTION_DELETE
ACTION_RUN
ACTION_SYNC
ACTION_PICK_ACTIVITY
ACTION_SEARCH
ACTION_WEB_SEARCH
ACTION_FACTORY_TEST
These are the current standard actions that Intent defines for receiving
broadcasts (usually through registerReceiver(BroadcastReceiver, IntentFilter)
or a
<receiver> tag in a manifest).
ACTION_TIME_TICK
ACTION_TIME_CHANGED
ACTION_TIMEZONE_CHANGED
ACTION_BOOT_COMPLETED
ACTION_PACKAGE_ADDED
ACTION_PACKAGE_CHANGED
ACTION_PACKAGE_REMOVED
ACTION_PACKAGE_RESTARTED
ACTION_PACKAGE_DATA_CLEARED
ACTION_UID_REMOVED
ACTION_BATTERY_CHANGED
ACTION_POWER_CONNECTED
ACTION_POWER_DISCONNECTED
ACTION_SHUTDOWN
These are the current standard categories that can be used to further
clarify an Intent via addCategory(String)
.
CATEGORY_DEFAULT
CATEGORY_BROWSABLE
CATEGORY_TAB
CATEGORY_ALTERNATIVE
CATEGORY_SELECTED_ALTERNATIVE
CATEGORY_LAUNCHER
CATEGORY_INFO
CATEGORY_HOME
CATEGORY_PREFERENCE
CATEGORY_TEST
CATEGORY_CAR_DOCK
CATEGORY_DESK_DOCK
CATEGORY_LE_DESK_DOCK
CATEGORY_HE_DESK_DOCK
CATEGORY_CAR_MODE
CATEGORY_APP_MARKET
These are the current standard fields that can be used as extra data via
putExtra(String, Bundle)
.
EXTRA_ALARM_COUNT
EXTRA_BCC
EXTRA_CC
EXTRA_CHANGED_COMPONENT_NAME
EXTRA_DATA_REMOVED
EXTRA_DOCK_STATE
EXTRA_DOCK_STATE_HE_DESK
EXTRA_DOCK_STATE_LE_DESK
EXTRA_DOCK_STATE_CAR
EXTRA_DOCK_STATE_DESK
EXTRA_DOCK_STATE_UNDOCKED
EXTRA_DONT_KILL_APP
EXTRA_EMAIL
EXTRA_INITIAL_INTENTS
EXTRA_INTENT
EXTRA_KEY_EVENT
EXTRA_ORIGINATING_URI
EXTRA_PHONE_NUMBER
EXTRA_REFERRER
EXTRA_REMOTE_INTENT_TOKEN
EXTRA_REPLACING
EXTRA_SHORTCUT_ICON
EXTRA_SHORTCUT_ICON_RESOURCE
EXTRA_SHORTCUT_INTENT
EXTRA_STREAM
EXTRA_SHORTCUT_NAME
EXTRA_SUBJECT
EXTRA_TEMPLATE
EXTRA_TEXT
EXTRA_TITLE
EXTRA_UID
These are the possible flags that can be used in the Intent via
setFlags(int)
and addFlags(int)
. See setFlags(int)
for a list
of all possible flags.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Intent.FilterComparison | Wrapper class holding an Intent and implementing comparisons on it for the purpose of filtering. | ||||||||||
Intent.ShortcutIconResource | Represents a shortcut/live folder icon resource. |
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | ACTION_AIRPLANE_MODE_CHANGED | Broadcast Action: The user has switched the phone into or out of Airplane Mode. |
|||||||||
String | ACTION_ALL_APPS | Activity Action: List all available applications
Input: Nothing. |
|||||||||
String | ACTION_ANSWER | Activity Action: Handle an incoming phone call. | |||||||||
String | ACTION_APP_ERROR | Activity Action: The user pressed the "Report" button in the crash/ANR dialog. | |||||||||
String | ACTION_ASSIST | Activity Action: Perform assist action. | |||||||||
String | ACTION_ATTACH_DATA | Used to indicate that some piece of data should be attached to some other place. | |||||||||
String | ACTION_BATTERY_CHANGED | Broadcast Action: This is a sticky broadcast containing the charging state, level, and other information about the battery. | |||||||||
String | ACTION_BATTERY_LOW | Broadcast Action: Indicates low battery condition on the device. | |||||||||
String | ACTION_BATTERY_OKAY | Broadcast Action: Indicates the battery is now okay after being low. | |||||||||
String | ACTION_BOOT_COMPLETED | Broadcast Action: This is broadcast once, after the system has finished booting. | |||||||||
String | ACTION_BUG_REPORT | Activity Action: Show activity for reporting a bug. | |||||||||
String | ACTION_CALL | Activity Action: Perform a call to someone specified by the data. | |||||||||
String | ACTION_CALL_BUTTON | Activity Action: The user pressed the "call" button to go to the dialer or other appropriate UI for placing a call. | |||||||||
String | ACTION_CAMERA_BUTTON | Broadcast Action: The "Camera Button" was pressed. | |||||||||
String | ACTION_CHOOSER | Activity Action: Display an activity chooser, allowing the user to pick what they want to before proceeding. | |||||||||
String | ACTION_CLOSE_SYSTEM_DIALOGS | Broadcast Action: This is broadcast when a user action should request a temporary system dialog to dismiss. | |||||||||
String | ACTION_CONFIGURATION_CHANGED | Broadcast Action: The current device Configuration
(orientation, locale, etc) has changed. |
|||||||||
String | ACTION_CREATE_DOCUMENT | Activity Action: Allow the user to create a new document. | |||||||||
String | ACTION_CREATE_SHORTCUT | Activity Action: Creates a shortcut. | |||||||||
String | ACTION_DATE_CHANGED | Broadcast Action: The date has changed. | |||||||||
String | ACTION_DEFAULT | A synonym for ACTION_VIEW , the "standard" action that is
performed on a piece of data. |
|||||||||
String | ACTION_DELETE | Activity Action: Delete the given data from its container. | |||||||||
String | ACTION_DEVICE_STORAGE_LOW | Broadcast Action: A sticky broadcast that indicates low memory
condition on the device
This is a protected intent that can only be sent by the system. |
|||||||||
String | ACTION_DEVICE_STORAGE_OK | Broadcast Action: Indicates low memory condition on the device no longer exists
This is a protected intent that can only be sent by the system. |
|||||||||
String | ACTION_DIAL | Activity Action: Dial a number as specified by the data. | |||||||||
String | ACTION_DOCK_EVENT | Broadcast Action: A sticky broadcast for changes in the physical docking state of the device. | |||||||||
String | ACTION_DREAMING_STARTED | Broadcast Action: Sent after the system starts dreaming. | |||||||||
String | ACTION_DREAMING_STOPPED | Broadcast Action: Sent after the system stops dreaming. | |||||||||
String | ACTION_EDIT | Activity Action: Provide explicit editable access to the given data. | |||||||||
String | ACTION_EXTERNAL_APPLICATIONS_AVAILABLE | Broadcast Action: Resources for a set of packages (which were previously unavailable) are currently available since the media on which they exist is available. | |||||||||
String | ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE | Broadcast Action: Resources for a set of packages are currently unavailable since the media on which they exist is unavailable. | |||||||||
String | ACTION_FACTORY_TEST | Activity Action: Main entry point for factory tests. | |||||||||
String | ACTION_GET_CONTENT | Activity Action: Allow the user to select a particular kind of data and return it. | |||||||||
String | ACTION_GET_RESTRICTION_ENTRIES | Broadcast to a specific application to query any supported restrictions to impose on restricted users. | |||||||||
String | ACTION_GTALK_SERVICE_CONNECTED | Broadcast Action: A GTalk connection has been established. | |||||||||
String | ACTION_GTALK_SERVICE_DISCONNECTED | Broadcast Action: A GTalk connection has been disconnected. | |||||||||
String | ACTION_HEADSET_PLUG | Broadcast Action: Wired Headset plugged in or unplugged. | |||||||||
String | ACTION_INPUT_METHOD_CHANGED | Broadcast Action: An input method has been changed. | |||||||||
String | ACTION_INSERT | Activity Action: Insert an empty item into the given container. | |||||||||
String | ACTION_INSERT_OR_EDIT | Activity Action: Pick an existing item, or insert a new item, and then edit it. | |||||||||
String | ACTION_INSTALL_PACKAGE | Activity Action: Launch application installer. | |||||||||
String | ACTION_LOCALE_CHANGED | Broadcast Action: The current device's locale has changed. | |||||||||
String | ACTION_MAIN | Activity Action: Start as a main entry point, does not expect to receive data. | |||||||||
String | ACTION_MANAGE_NETWORK_USAGE | Activity Action: Show settings for managing network data usage of a specific application. | |||||||||
String | ACTION_MANAGE_PACKAGE_STORAGE | Broadcast Action: Indicates low memory condition notification acknowledged by user and package management should be started. | |||||||||
String | ACTION_MEDIA_BAD_REMOVAL | Broadcast Action: External media was removed from SD card slot, but mount point was not unmounted. | |||||||||
String | ACTION_MEDIA_BUTTON | Broadcast Action: The "Media Button" was pressed. | |||||||||
String | ACTION_MEDIA_CHECKING | Broadcast Action: External media is present, and being disk-checked The path to the mount point for the checking media is contained in the Intent.mData field. | |||||||||
String | ACTION_MEDIA_EJECT | Broadcast Action: User has expressed the desire to remove the external storage media. | |||||||||
String | ACTION_MEDIA_MOUNTED | Broadcast Action: External media is present and mounted at its mount point. | |||||||||
String | ACTION_MEDIA_NOFS | Broadcast Action: External media is present, but is using an incompatible fs (or is blank) The path to the mount point for the checking media is contained in the Intent.mData field. | |||||||||
String | ACTION_MEDIA_REMOVED | Broadcast Action: External media has been removed. | |||||||||
String | ACTION_MEDIA_SCANNER_FINISHED | Broadcast Action: The media scanner has finished scanning a directory. | |||||||||
String | ACTION_MEDIA_SCANNER_SCAN_FILE | Broadcast Action: Request the media scanner to scan a file and add it to the media database. | |||||||||
String | ACTION_MEDIA_SCANNER_STARTED | Broadcast Action: The media scanner has started scanning a directory. | |||||||||
String | ACTION_MEDIA_SHARED | Broadcast Action: External media is unmounted because it is being shared via USB mass storage. | |||||||||
String | ACTION_MEDIA_UNMOUNTABLE | Broadcast Action: External media is present but cannot be mounted. | |||||||||
String | ACTION_MEDIA_UNMOUNTED | Broadcast Action: External media is present, but not mounted at its mount point. | |||||||||
String | ACTION_MY_PACKAGE_REPLACED | Broadcast Action: A new version of your application has been installed over an existing one. | |||||||||
String | ACTION_NEW_OUTGOING_CALL | Broadcast Action: An outgoing call is about to be placed. | |||||||||
String | ACTION_OPEN_DOCUMENT | Activity Action: Allow the user to select and return one or more existing documents. | |||||||||
String | ACTION_PACKAGE_ADDED | Broadcast Action: A new application package has been installed on the device. | |||||||||
String | ACTION_PACKAGE_CHANGED | Broadcast Action: An existing application package has been changed (e.g. | |||||||||
String | ACTION_PACKAGE_DATA_CLEARED | Broadcast Action: The user has cleared the data of a package. | |||||||||
String | ACTION_PACKAGE_FIRST_LAUNCH | Broadcast Action: Sent to the installer package of an application when that application is first launched (that is the first time it is moved out of the stopped state). | |||||||||
String | ACTION_PACKAGE_FULLY_REMOVED | Broadcast Action: An existing application package has been completely removed from the device. | |||||||||
String | ACTION_PACKAGE_INSTALL | This constant was deprecated in API level 14. This constant has never been used. | |||||||||
String | ACTION_PACKAGE_NEEDS_VERIFICATION | Broadcast Action: Sent to the system package verifier when a package needs to be verified. | |||||||||
String | ACTION_PACKAGE_REMOVED | Broadcast Action: An existing application package has been removed from the device. | |||||||||
String | ACTION_PACKAGE_REPLACED | Broadcast Action: A new version of an application package has been installed, replacing an existing version that was previously installed. | |||||||||
String | ACTION_PACKAGE_RESTARTED | Broadcast Action: The user has restarted a package, and all of its processes have been killed. | |||||||||
String | ACTION_PACKAGE_VERIFIED | Broadcast Action: Sent to the system package verifier when a package is verified. | |||||||||
String | ACTION_PASTE | Activity Action: Create a new item in the given container, initializing it from the current contents of the clipboard. | |||||||||
String | ACTION_PICK | Activity Action: Pick an item from the data, returning what was selected. | |||||||||
String | ACTION_PICK_ACTIVITY | Activity Action: Pick an activity given an intent, returning the class selected. | |||||||||
String | ACTION_POWER_CONNECTED | Broadcast Action: External power has been connected to the device. | |||||||||
String | ACTION_POWER_DISCONNECTED | Broadcast Action: External power has been removed from the device. | |||||||||
String | ACTION_POWER_USAGE_SUMMARY | Activity Action: Show power usage information to the user. | |||||||||
String | ACTION_PROVIDER_CHANGED | Broadcast Action: Some content providers have parts of their namespace where they publish new events or items that the user may be especially interested in. | |||||||||
String | ACTION_QUICK_CLOCK | Sent when the user taps on the clock widget in the system's "quick settings" area. | |||||||||
String | ACTION_REBOOT | Broadcast Action: Have the device reboot. | |||||||||
String | ACTION_RUN | Activity Action: Run the data, whatever that means. | |||||||||
String | ACTION_SCREEN_OFF | Broadcast Action: Sent after the screen turns off. | |||||||||
String | ACTION_SCREEN_ON | Broadcast Action: Sent after the screen turns on. | |||||||||
String | ACTION_SEARCH | Activity Action: Perform a search. | |||||||||
String | ACTION_SEARCH_LONG_PRESS | Activity Action: Start action associated with long pressing on the search key. | |||||||||
String | ACTION_SEND | Activity Action: Deliver some data to someone else. | |||||||||
String | ACTION_SENDTO | Activity Action: Send a message to someone specified by the data. | |||||||||
String | ACTION_SEND_MULTIPLE | Activity Action: Deliver multiple data to someone else. | |||||||||
String | ACTION_SET_WALLPAPER | Activity Action: Show settings for choosing wallpaper
Input: Nothing. |
|||||||||
String | ACTION_SHUTDOWN | Broadcast Action: Device is shutting down. | |||||||||
String | ACTION_SYNC | Activity Action: Perform a data synchronization. | |||||||||
String | ACTION_SYSTEM_TUTORIAL | Activity Action: Start the platform-defined tutorial
Input: |
|||||||||
String | ACTION_TIMEZONE_CHANGED | Broadcast Action: The timezone has changed. | |||||||||
String | ACTION_TIME_CHANGED | Broadcast Action: The time was set. | |||||||||
String | ACTION_TIME_TICK | Broadcast Action: The current time has changed. | |||||||||
String | ACTION_UID_REMOVED | Broadcast Action: A user ID has been removed from the system. | |||||||||
String | ACTION_UMS_CONNECTED | This constant was deprecated in API level 14. replaced by android.os.storage.StorageEventListener | |||||||||
String | ACTION_UMS_DISCONNECTED | This constant was deprecated in API level 14. replaced by android.os.storage.StorageEventListener | |||||||||
String | ACTION_UNINSTALL_PACKAGE | Activity Action: Launch application uninstaller. | |||||||||
String | ACTION_USER_BACKGROUND | Sent when a user switch is happening, causing the process's user to be sent to the background. | |||||||||
String | ACTION_USER_FOREGROUND | Sent when a user switch is happening, causing the process's user to be brought to the foreground. | |||||||||
String | ACTION_USER_INITIALIZE | Sent the first time a user is starting, to allow system apps to perform one time initialization. | |||||||||
String | ACTION_USER_PRESENT | Broadcast Action: Sent when the user is present after device wakes up (e.g when the keyguard is gone). | |||||||||
String | ACTION_VIEW | Activity Action: Display the data to the user. | |||||||||
String | ACTION_VOICE_COMMAND | Activity Action: Start Voice Command. | |||||||||
String | ACTION_WALLPAPER_CHANGED |
This constant was deprecated
in API level 16.
Modern applications should use
WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER to have the wallpaper
shown behind their UI, rather than watching for this broadcast and
rendering the wallpaper on their own.
|
|||||||||
String | ACTION_WEB_SEARCH | Activity Action: Perform a web search. | |||||||||
String | CATEGORY_ALTERNATIVE | Set if the activity should be considered as an alternative action to the data the user is currently viewing. | |||||||||
String | CATEGORY_APP_BROWSER | Used with ACTION_MAIN to launch the browser application. |
|||||||||
String | CATEGORY_APP_CALCULATOR | Used with ACTION_MAIN to launch the calculator application. |
|||||||||
String | CATEGORY_APP_CALENDAR | Used with ACTION_MAIN to launch the calendar application. |
|||||||||
String | CATEGORY_APP_CONTACTS | Used with ACTION_MAIN to launch the contacts application. |
|||||||||
String | CATEGORY_APP_EMAIL | Used with ACTION_MAIN to launch the email application. |
|||||||||
String | CATEGORY_APP_GALLERY | Used with ACTION_MAIN to launch the gallery application. |
|||||||||
String | CATEGORY_APP_MAPS | Used with ACTION_MAIN to launch the maps application. |
|||||||||
String | CATEGORY_APP_MARKET | This activity allows the user to browse and download new applications. | |||||||||
String | CATEGORY_APP_MESSAGING | Used with ACTION_MAIN to launch the messaging application. |
|||||||||
String | CATEGORY_APP_MUSIC | Used with ACTION_MAIN to launch the music application. |
|||||||||
String | CATEGORY_BROWSABLE | Activities that can be safely invoked from a browser must support this category. | |||||||||
String | CATEGORY_CAR_DOCK | An activity to run when device is inserted into a car dock. | |||||||||
String | CATEGORY_CAR_MODE | Used to indicate that the activity can be used in a car environment. | |||||||||
String | CATEGORY_DEFAULT | Set if the activity should be an option for the default action (center press) to perform on a piece of data. | |||||||||
String | CATEGORY_DESK_DOCK | An activity to run when device is inserted into a car dock. | |||||||||
String | CATEGORY_DEVELOPMENT_PREFERENCE | This activity is a development preference panel. | |||||||||
String | CATEGORY_EMBED | Capable of running inside a parent activity container. | |||||||||
String | CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST | To be used as code under test for framework instrumentation tests. | |||||||||
String | CATEGORY_HE_DESK_DOCK | An activity to run when device is inserted into a digital (high end) dock. | |||||||||
String | CATEGORY_HOME | This is the home activity, that is the first activity that is displayed when the device boots. | |||||||||
String | CATEGORY_INFO | Provides information about the package it is in; typically used if
a package does not contain a CATEGORY_LAUNCHER to provide
a front-door to the user without having to be shown in the all apps list. |
|||||||||
String | CATEGORY_LAUNCHER | Should be displayed in the top-level launcher. | |||||||||
String | CATEGORY_LE_DESK_DOCK | An activity to run when device is inserted into a analog (low end) dock. | |||||||||
String | CATEGORY_MONKEY | This activity may be exercised by the monkey or other automated test tools. | |||||||||
String | CATEGORY_OPENABLE | Used to indicate that an intent only wants URIs that can be opened with
openFileDescriptor(Uri, String) . |
|||||||||
String | CATEGORY_PREFERENCE | This activity is a preference panel. | |||||||||
String | CATEGORY_SAMPLE_CODE | To be used as a sample code example (not part of the normal user experience). | |||||||||
String | CATEGORY_SELECTED_ALTERNATIVE | Set if the activity should be considered as an alternative selection action to the data the user has currently selected. | |||||||||
String | CATEGORY_TAB | Intended to be used as a tab inside of a containing TabActivity. | |||||||||
String | CATEGORY_TEST | To be used as a test (not part of the normal user experience). | |||||||||
String | CATEGORY_UNIT_TEST | To be used as a unit test (run through the Test Harness). | |||||||||
String | EXTRA_ALARM_COUNT | Used as an int extra field in AlarmManager intents
to tell the application being invoked how many pending alarms are being
delievered with the intent. |
|||||||||
String | EXTRA_ALLOW_MULTIPLE | Extra used to indicate that an intent can allow the user to select and return multiple items. | |||||||||
String | EXTRA_ALLOW_REPLACE |
This constant was deprecated
in API level 16.
As of JELLY_BEAN , Android
will no longer show an interstitial message about updating existing
applications so this is no longer needed.
|
|||||||||
String | EXTRA_ASSIST_CONTEXT | An optional field on ACTION_ASSIST and containing additional contextual
information supplied by the current foreground app at the time of the assist request. |
|||||||||
String | EXTRA_ASSIST_PACKAGE | An optional field on ACTION_ASSIST containing the name of the current foreground
application package at the time the assist was invoked. |
|||||||||
String | EXTRA_BCC | A String[] holding e-mail addresses that should be blind carbon copied. | |||||||||
String | EXTRA_BUG_REPORT | Used as a parcelable extra field in ACTION_APP_ERROR , containing
the bug report. |
|||||||||
String | EXTRA_CC | A String[] holding e-mail addresses that should be carbon copied. | |||||||||
String | EXTRA_CHANGED_COMPONENT_NAME |
This constant was deprecated
in API level 7.
See EXTRA_CHANGED_COMPONENT_NAME_LIST ; this field
will contain only the first name in the list.
|
|||||||||
String | EXTRA_CHANGED_COMPONENT_NAME_LIST | This field is part of ACTION_PACKAGE_CHANGED ,
and contains a string array of all of the components that have changed. |
|||||||||
String | EXTRA_CHANGED_PACKAGE_LIST | This field is part of
ACTION_EXTERNAL_APPLICATIONS_AVAILABLE ,
ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE
and contains a string array of all of the components that have changed. |
|||||||||
String | EXTRA_CHANGED_UID_LIST | This field is part of
ACTION_EXTERNAL_APPLICATIONS_AVAILABLE ,
ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE
and contains an integer array of uids of all of the components
that have changed. |
|||||||||
String | EXTRA_DATA_REMOVED | Used as a boolean extra field in ACTION_PACKAGE_REMOVED
intents to indicate whether this represents a full uninstall (removing
both the code and its data) or a partial uninstall (leaving its data,
implying that this is an update). |
|||||||||
String | EXTRA_DOCK_STATE | Used as an int extra field in ACTION_DOCK_EVENT
intents to request the dock state. |
|||||||||
int | EXTRA_DOCK_STATE_CAR | Used as an int value for EXTRA_DOCK_STATE
to represent that the phone is in a car dock. |
|||||||||
int | EXTRA_DOCK_STATE_DESK | Used as an int value for EXTRA_DOCK_STATE
to represent that the phone is in a desk dock. |
|||||||||
int | EXTRA_DOCK_STATE_HE_DESK | Used as an int value for EXTRA_DOCK_STATE
to represent that the phone is in a digital (high end) dock. |
|||||||||
int | EXTRA_DOCK_STATE_LE_DESK | Used as an int value for EXTRA_DOCK_STATE
to represent that the phone is in a analog (low end) dock. |
|||||||||
int | EXTRA_DOCK_STATE_UNDOCKED | Used as an int value for EXTRA_DOCK_STATE
to represent that the phone is not in any dock. |
|||||||||
String | EXTRA_DONT_KILL_APP | Used as a boolean extra field in ACTION_PACKAGE_REMOVED or
ACTION_PACKAGE_CHANGED intents to override the default action
of restarting the application. |
|||||||||
String | EXTRA_EMAIL | A String[] holding e-mail addresses that should be delivered to. | |||||||||
String | EXTRA_HTML_TEXT | A constant String that is associated with the Intent, used with
ACTION_SEND to supply an alternative to EXTRA_TEXT
as HTML formatted text. |
|||||||||
String | EXTRA_INITIAL_INTENTS | A Parcelable[] of Intent or
LabeledIntent objects as set with
putExtra(String, Parcelable[]) of additional activities to place
a the front of the list of choices, when shown to the user with a
ACTION_CHOOSER . |
|||||||||
String | EXTRA_INSTALLER_PACKAGE_NAME | Used as a string extra field with ACTION_INSTALL_PACKAGE to install a
package. |
|||||||||
String | EXTRA_INTENT | An Intent describing the choices you would like shown with
ACTION_PICK_ACTIVITY . |
|||||||||
String | EXTRA_KEY_EVENT | A KeyEvent object containing the event that
triggered the creation of the Intent it is in. |
|||||||||
String | EXTRA_LOCAL_ONLY | Extra used to indicate that an intent should only return data that is on the local device. | |||||||||
String | EXTRA_MIME_TYPES | Extra used to communicate a set of acceptable MIME types. | |||||||||
String | EXTRA_NOT_UNKNOWN_SOURCE | Used as a boolean extra field with ACTION_INSTALL_PACKAGE to install a
package. |
|||||||||
String | EXTRA_ORIGINATING_URI | Used as a URI extra field with ACTION_INSTALL_PACKAGE and
ACTION_VIEW to indicate the URI from which the local APK in the Intent
data field originated from. |
|||||||||
String | EXTRA_PHONE_NUMBER | A String holding the phone number originally entered in
ACTION_NEW_OUTGOING_CALL , or the actual
number to call in a ACTION_CALL . |
|||||||||
String | EXTRA_REFERRER | Used as a URI extra field with ACTION_INSTALL_PACKAGE and
ACTION_VIEW to indicate the HTTP referrer URI associated with the Intent
data field or EXTRA_ORIGINATING_URI . |
|||||||||
String | EXTRA_REMOTE_INTENT_TOKEN | Used in the extra field in the remote intent. | |||||||||
String | EXTRA_REPLACING | Used as a boolean extra field in ACTION_PACKAGE_REMOVED
intents to indicate that this is a replacement of the package, so this
broadcast will immediately be followed by an add broadcast for a
different version of the same package. |
|||||||||
String | EXTRA_RESTRICTIONS_BUNDLE | Extra sent in the intent to the BroadcastReceiver that handles
ACTION_GET_RESTRICTION_ENTRIES . |
|||||||||
String | EXTRA_RESTRICTIONS_INTENT | Extra used in the response from a BroadcastReceiver that handles
ACTION_GET_RESTRICTION_ENTRIES . |
|||||||||
String | EXTRA_RESTRICTIONS_LIST | Extra used in the response from a BroadcastReceiver that handles
ACTION_GET_RESTRICTION_ENTRIES . |
|||||||||
String | EXTRA_RETURN_RESULT | Used as a boolean extra field with ACTION_INSTALL_PACKAGE or
ACTION_UNINSTALL_PACKAGE . |
|||||||||
String | EXTRA_SHORTCUT_ICON | The name of the extra used to define the icon, as a Bitmap, of a shortcut. | |||||||||
String | EXTRA_SHORTCUT_ICON_RESOURCE | The name of the extra used to define the icon, as a ShortcutIconResource, of a shortcut. | |||||||||
String | EXTRA_SHORTCUT_INTENT | The name of the extra used to define the Intent of a shortcut. | |||||||||
String | EXTRA_SHORTCUT_NAME | The name of the extra used to define the name of a shortcut. | |||||||||
String | EXTRA_SHUTDOWN_USERSPACE_ONLY | Optional extra for ACTION_SHUTDOWN that allows the sender to qualify that
this shutdown is only for the user space of the system, not a complete shutdown. |
|||||||||
String | EXTRA_STREAM | A content: URI holding a stream of data associated with the Intent,
used with ACTION_SEND to supply the data being sent. |
|||||||||
String | EXTRA_SUBJECT | A constant string holding the desired subject line of a message. | |||||||||
String | EXTRA_TEMPLATE | The initial data to place in a newly created record. | |||||||||
String | EXTRA_TEXT | A constant CharSequence that is associated with the Intent, used with
ACTION_SEND to supply the literal data to be sent. |
|||||||||
String | EXTRA_TITLE | A CharSequence dialog title to provide to the user when used with a
ACTION_CHOOSER . |
|||||||||
String | EXTRA_UID | Used as an int extra field in ACTION_UID_REMOVED
intents to supply the uid the package had been assigned. |
|||||||||
int | FILL_IN_ACTION | Use with fillIn(Intent, int) to allow the current action value to be
overwritten, even if it is already set. |
|||||||||
int | FILL_IN_CATEGORIES | Use with fillIn(Intent, int) to allow the current categories to be
overwritten, even if they are already set. |
|||||||||
int | FILL_IN_CLIP_DATA | Use with fillIn(Intent, int) to allow the current ClipData to be
overwritten, even if it is already set. |
|||||||||
int | FILL_IN_COMPONENT | Use with fillIn(Intent, int) to allow the current component value to be
overwritten, even if it is already set. |
|||||||||
int | FILL_IN_DATA | Use with fillIn(Intent, int) to allow the current data or type value
overwritten, even if it is already set. |
|||||||||
int | FILL_IN_PACKAGE | Use with fillIn(Intent, int) to allow the current package value to be
overwritten, even if it is already set. |
|||||||||
int | FILL_IN_SELECTOR | Use with fillIn(Intent, int) to allow the current selector to be
overwritten, even if it is already set. |
|||||||||
int | FILL_IN_SOURCE_BOUNDS | Use with fillIn(Intent, int) to allow the current bounds rectangle to be
overwritten, even if it is already set. |
|||||||||
int | FLAG_ACTIVITY_BROUGHT_TO_FRONT | This flag is not normally set by application code, but set for you by
the system as described in the
launchMode documentation for the singleTask mode. |
|||||||||
int | FLAG_ACTIVITY_CLEAR_TASK | If set in an Intent passed to Context.startActivity() ,
this flag will cause any existing task that would be associated with the
activity to be cleared before the activity is started. |
|||||||||
int | FLAG_ACTIVITY_CLEAR_TOP | If set, and the activity being launched is already running in the current task, then instead of launching a new instance of that activity, all of the other activities on top of it will be closed and this Intent will be delivered to the (now on top) old activity as a new Intent. | |||||||||
int | FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET | If set, this marks a point in the task's activity stack that should be cleared when the task is reset. | |||||||||
int | FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS | If set, the new activity is not kept in the list of recently launched activities. | |||||||||
int | FLAG_ACTIVITY_FORWARD_RESULT | If set and this intent is being used to launch a new activity from an existing one, then the reply target of the existing activity will be transfered to the new activity. | |||||||||
int | FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY | This flag is not normally set by application code, but set for you by the system if this activity is being launched from history (longpress home key). | |||||||||
int | FLAG_ACTIVITY_MULTIPLE_TASK | Do not use this flag unless you are implementing your own top-level application launcher. | |||||||||
int | FLAG_ACTIVITY_NEW_TASK | If set, this activity will become the start of a new task on this history stack. | |||||||||
int | FLAG_ACTIVITY_NO_ANIMATION | If set in an Intent passed to Context.startActivity() ,
this flag will prevent the system from applying an activity transition
animation to go to the next activity state. |
|||||||||
int | FLAG_ACTIVITY_NO_HISTORY | If set, the new activity is not kept in the history stack. | |||||||||
int | FLAG_ACTIVITY_NO_USER_ACTION | If set, this flag will prevent the normal onUserLeaveHint()
callback from occurring on the current frontmost activity before it is
paused as the newly-started activity is brought to the front. |
|||||||||
int | FLAG_ACTIVITY_PREVIOUS_IS_TOP | If set and this intent is being used to launch a new activity from an existing one, the current activity will not be counted as the top activity for deciding whether the new intent should be delivered to the top instead of starting a new one. | |||||||||
int | FLAG_ACTIVITY_REORDER_TO_FRONT | If set in an Intent passed to Context.startActivity() ,
this flag will cause the launched activity to be brought to the front of its
task's history stack if it is already running. |
|||||||||
int | FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | If set, and this activity is either being started in a new task or bringing to the top an existing task, then it will be launched as the front door of the task. | |||||||||
int | FLAG_ACTIVITY_SINGLE_TOP | If set, the activity will not be launched if it is already running at the top of the history stack. | |||||||||
int | FLAG_ACTIVITY_TASK_ON_HOME | If set in an Intent passed to Context.startActivity() ,
this flag will cause a newly launching task to be placed on top of the current
home activity task (if there is one). |
|||||||||
int | FLAG_DEBUG_LOG_RESOLUTION | A flag you can enable for debugging: when set, log messages will be printed during the resolution of this intent to show you what has been found to create the final resolved list. | |||||||||
int | FLAG_EXCLUDE_STOPPED_PACKAGES | If set, this intent will not match any components in packages that are currently stopped. | |||||||||
int | FLAG_FROM_BACKGROUND | Can be set by the caller to indicate that this Intent is coming from a background operation, not from direct user interaction. | |||||||||
int | FLAG_GRANT_PERSISTABLE_URI_PERMISSION | When combined with FLAG_GRANT_READ_URI_PERMISSION and/or
FLAG_GRANT_WRITE_URI_PERMISSION , the URI permission grant can be
persisted across device reboots until explicitly revoked with
revokeUriPermission(Uri, int) . |
|||||||||
int | FLAG_GRANT_READ_URI_PERMISSION | If set, the recipient of this Intent will be granted permission to perform read operations on the URI in the Intent's data and any URIs specified in its ClipData. | |||||||||
int | FLAG_GRANT_WRITE_URI_PERMISSION | If set, the recipient of this Intent will be granted permission to perform write operations on the URI in the Intent's data and any URIs specified in its ClipData. | |||||||||
int | FLAG_INCLUDE_STOPPED_PACKAGES | If set, this intent will always match any components in packages that are currently stopped. | |||||||||
int | FLAG_RECEIVER_FOREGROUND | If set, when sending a broadcast the recipient is allowed to run at foreground priority, with a shorter timeout interval. | |||||||||
int | FLAG_RECEIVER_NO_ABORT | If this is an ordered broadcast, don't allow receivers to abort the broadcast. | |||||||||
int | FLAG_RECEIVER_REGISTERED_ONLY | If set, when sending a broadcast only registered receivers will be called -- no BroadcastReceiver components will be launched. | |||||||||
int | FLAG_RECEIVER_REPLACE_PENDING | If set, when sending a broadcast the new broadcast will replace any existing pending broadcast that matches it. | |||||||||
String | METADATA_DOCK_HOME | Boolean that can be supplied as meta-data with a dock activity, to indicate that the dock should take over the home key when it is active. | |||||||||
int | URI_INTENT_SCHEME | Flag for use with toUri(int) and parseUri(String, int) : the URI string
always has the "intent:" scheme. |
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
android.os.Parcelable
|
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
CREATOR |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Create an empty intent.
| |||||||||||
Copy constructor.
| |||||||||||
Create an intent with a given action.
| |||||||||||
Create an intent with a given action and for a given data url.
| |||||||||||
Create an intent for a specific component.
| |||||||||||
Create an intent for a specific component with a specified action and data.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Add a new category to the intent.
| |||||||||||
Add additional flags to the intent (or with existing flags
value).
| |||||||||||
Creates and returns a copy of this
Object . | |||||||||||
Make a clone of only the parts of the Intent that are relevant for
filter matching: the action, data, type, component, and categories.
| |||||||||||
Convenience function for creating a
ACTION_CHOOSER Intent. | |||||||||||
Describe the kinds of special objects contained in this Parcelable's
marshalled representation.
| |||||||||||
Copy the contents of other in to this object, but only
where fields are not defined by this object.
| |||||||||||
Determine if two intents are the same for the purposes of intent
resolution (filtering).
| |||||||||||
Generate hash code that matches semantics of filterEquals().
| |||||||||||
Retrieve the general action to be performed, such as
ACTION_VIEW . | |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Return the set of all categories in the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Return the
ClipData associated with this Intent. | |||||||||||
Retrieve the concrete component associated with the intent.
| |||||||||||
Retrieve data this intent is operating on.
| |||||||||||
The same as
getData() , but returns the URI as an encoded
String. | |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieves a map of extended data from the intent.
| |||||||||||
Retrieve any special flags associated with this intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
This method was deprecated
in API level 4.
Use
parseUri(String, int) instead.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve the application package name this Intent is limited to.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Return the scheme portion of the intent's data.
| |||||||||||
Return the specific selector associated with this Intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Get the bounds of the sender of this intent, in screen coordinates.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve extended data from the intent.
| |||||||||||
Retrieve any explicit MIME type included in the intent.
| |||||||||||
Check if a category exists in the intent.
| |||||||||||
Returns true if an extra value is associated with the given name.
| |||||||||||
Returns true if the Intent's extras contain a parcelled file descriptor.
| |||||||||||
Create an intent to launch the main (root) activity of a task.
| |||||||||||
Make an Intent for the main activity of an application, without
specifying a specific activity to run but giving a selector to find
the activity.
| |||||||||||
Make an Intent that can be used to re-launch an application's task
in its base state.
| |||||||||||
Normalize a MIME data type.
| |||||||||||
Parses the "intent" element (and its children) from XML and instantiates
an Intent object.
| |||||||||||
Create an intent from a URI.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Copy all extras in 'src' in to this intent.
| |||||||||||
Add a set of extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Add extended data to the intent.
| |||||||||||
Remove a category from an intent.
| |||||||||||
Remove extended data from the intent.
| |||||||||||
Completely replace the extras in the Intent with the given Bundle of
extras.
| |||||||||||
Completely replace the extras in the Intent with the extras in the
given Intent.
| |||||||||||
Return the Activity component that should be used to handle this intent.
| |||||||||||
Resolve the Intent into an
ActivityInfo
describing the activity that should execute the intent. | |||||||||||
Return the MIME data type of this intent.
| |||||||||||
Return the MIME data type of this intent.
| |||||||||||
Return the MIME data type of this intent, only if it will be needed for
intent resolution.
| |||||||||||
Set the general action to be performed.
| |||||||||||
Convenience for calling
setComponent(ComponentName) with the
name returned by a Class object. | |||||||||||
Convenience for calling
setComponent(ComponentName) with an
explicit class name. | |||||||||||
Convenience for calling
setComponent(ComponentName) with an
explicit application package name and class name. | |||||||||||
Set a
ClipData associated with this Intent. | |||||||||||
(Usually optional) Explicitly set the component to handle the intent.
| |||||||||||
Set the data this intent is operating on.
| |||||||||||
Normalize and set the data this intent is operating on.
| |||||||||||
(Usually optional) Set the data for the intent along with an explicit
MIME data type.
| |||||||||||
(Usually optional) Normalize and set both the data Uri and an explicit
MIME data type.
| |||||||||||
Sets the ClassLoader that will be used when unmarshalling
any Parcelable values from the extras of this Intent.
| |||||||||||
Set special flags controlling how this intent is handled.
| |||||||||||
(Usually optional) Set an explicit application package name that limits
the components this Intent will resolve to.
| |||||||||||
Set a selector for this Intent.
| |||||||||||
Set the bounds of the sender of this intent, in screen coordinates.
| |||||||||||
Set an explicit MIME data type.
| |||||||||||
Normalize and set an explicit MIME data type.
| |||||||||||
Returns a string containing a concise, human-readable description of this
object.
| |||||||||||
This method was deprecated
in API level 4.
Use
toUri(int) instead.
| |||||||||||
Convert this Intent into a String holding a URI representation of it.
| |||||||||||
Flatten this object in to a Parcel.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
android.os.Parcelable
|
Broadcast Action: The user has switched the phone into or out of Airplane Mode. One or more radios have been turned off or on. The intent will have the following extra value:
This is a protected intent that can only be sent by the system.
Activity Action: List all available applications
Input: Nothing.
Output: nothing.
Activity Action: Handle an incoming phone call.
Input: nothing.
Output: nothing.
Activity Action: The user pressed the "Report" button in the crash/ANR dialog. This intent is delivered to the package which installed the application, usually Google Play.
Input: No data is specified. The bug report is passed in using
an EXTRA_BUG_REPORT
field.
Output: Nothing.
Activity Action: Perform assist action.
Input: EXTRA_ASSIST_PACKAGE
, EXTRA_ASSIST_CONTEXT
, can provide
additional optional contextual information about where the user was when they
requested the assist.
Output: nothing.
Used to indicate that some piece of data should be attached to some other place. For example, image data could be attached to a contact. It is up to the recipient to decide where the data should be attached; the intent does not specify the ultimate destination.
Input: getData()
is URI of data to be attached.
Output: nothing.
Broadcast Action: This is a sticky broadcast containing the
charging state, level, and other information about the battery.
See BatteryManager
for documentation on the
contents of the Intent.
You can not receive this through components declared
in manifests, only by explicitly registering for it with
Context.registerReceiver()
. See ACTION_BATTERY_LOW
,
ACTION_BATTERY_OKAY
, ACTION_POWER_CONNECTED
,
and ACTION_POWER_DISCONNECTED
for distinct battery-related
broadcasts that are sent and can be received through manifest
receivers.
This is a protected intent that can only be sent by the system.
Broadcast Action: Indicates low battery condition on the device. This broadcast corresponds to the "Low battery warning" system dialog.
This is a protected intent that can only be sent by the system.
Broadcast Action: Indicates the battery is now okay after being low.
This will be sent after ACTION_BATTERY_LOW
once the battery has
gone back up to an okay state.
This is a protected intent that can only be sent by the system.
Broadcast Action: This is broadcast once, after the system has finished
booting. It can be used to perform application-specific initialization,
such as installing alarms. You must hold the
RECEIVE_BOOT_COMPLETED
permission
in order to receive this broadcast.
This is a protected intent that can only be sent by the system.
Activity Action: Show activity for reporting a bug.
Input: Nothing.
Output: Nothing.
Activity Action: Perform a call to someone specified by the data.
Input: If nothing, an empty dialer is started; else getData()
is URI of a phone number to be dialed or a tel: URI of an explicit phone
number.
Output: nothing.
Note: there will be restrictions on which applications can initiate a
call; most applications should use the ACTION_DIAL
.
Note: this Intent cannot be used to call emergency
numbers. Applications can dial emergency numbers using
ACTION_DIAL
, however.
Activity Action: The user pressed the "call" button to go to the dialer or other appropriate UI for placing a call.
Input: Nothing.
Output: Nothing.
Broadcast Action: The "Camera Button" was pressed. Includes a single
extra field, EXTRA_KEY_EVENT
, containing the key event that
caused the broadcast.
Activity Action: Display an activity chooser, allowing the user to pick what they want to before proceeding. This can be used as an alternative to the standard activity picker that is displayed by the system when you try to start an activity with multiple possible matches, with these differences in behavior:
This action should be used when the user will naturally expect to select an activity in order to proceed. An example if when not to use it is when the user clicks on a "mailto:" link. They would naturally expect to go directly to their mail app, so startActivity() should be called directly: it will either launch the current preferred app, or put up a dialog allowing the user to pick an app to use and optionally marking that as preferred.
In contrast, if the user is selecting a menu item to send a picture they are viewing to someone else, there are many different things they may want to do at this point: send it through e-mail, upload it to a web service, etc. In this case the CHOOSER action should be used, to always present to the user a list of the things they can do, with a nice title given by the caller such as "Send this photo with:".
If you need to grant URI permissions through a chooser, you must specify
the permissions to be granted on the ACTION_CHOOSER Intent
in addition to the EXTRA_INTENT inside. This means using
setClipData(ClipData)
to specify the URIs to be granted as well as
FLAG_GRANT_READ_URI_PERMISSION
and/or
FLAG_GRANT_WRITE_URI_PERMISSION
as appropriate.
As a convenience, an Intent of this form can be created with the
createChooser(Intent, CharSequence)
function.
Input: No data should be specified. get*Extra must have
a EXTRA_INTENT
field containing the Intent being executed,
and can optionally have a EXTRA_TITLE
field containing the
title text to display in the chooser.
Output: Depends on the protocol of EXTRA_INTENT
.
Broadcast Action: This is broadcast when a user action should request a temporary system dialog to dismiss. Some examples of temporary system dialogs are the notification window-shade and the recent tasks dialog.
Broadcast Action: The current device Configuration
(orientation, locale, etc) has changed. When such a change happens, the
UIs (view hierarchy) will need to be rebuilt based on this new
information; for the most part, applications don't need to worry about
this, because the system will take care of stopping and restarting the
application to make sure it sees the new changes. Some system code that
can not be restarted will need to watch for this action and handle it
appropriately.
You can not receive this through components declared
in manifests, only by explicitly registering for it with
Context.registerReceiver()
.
This is a protected intent that can only be sent by the system.
Activity Action: Allow the user to create a new document. When invoked,
the system will display the various DocumentsProvider
instances
installed on the device, letting the user navigate through them. The
returned document may be a newly created document with no content, or it
may be an existing document with the requested MIME type.
Each document is represented as a content://
URI backed by a
DocumentsProvider
, which can be opened as a stream with
openFileDescriptor(Uri, String)
, or queried for
DocumentsContract.Document
metadata.
Callers must indicate the concrete MIME type of the document being
created by setting setType(String)
. This MIME type cannot be
changed after the document is created.
Callers can provide an initial display name through EXTRA_TITLE
,
but the user may change this value before creating the file.
Callers must include CATEGORY_OPENABLE
in the Intent so that
returned URIs can be opened with
openFileDescriptor(Uri, String)
.
Output: The URI of the item that was created. This must be a
content://
URI so that any receiver can access it.
Activity Action: Creates a shortcut.
Input: Nothing.
Output: An Intent representing the shortcut. The intent must contain three extras: SHORTCUT_INTENT (value: Intent), SHORTCUT_NAME (value: String), and SHORTCUT_ICON (value: Bitmap) or SHORTCUT_ICON_RESOURCE (value: ShortcutIconResource).
Broadcast Action: The date has changed.
A synonym for ACTION_VIEW
, the "standard" action that is
performed on a piece of data.
Activity Action: Delete the given data from its container.
Input: getData()
is URI of data to be deleted.
Output: nothing.
Broadcast Action: A sticky broadcast that indicates low memory condition on the device
This is a protected intent that can only be sent by the system.
Broadcast Action: Indicates low memory condition on the device no longer exists
This is a protected intent that can only be sent by the system.
Activity Action: Dial a number as specified by the data. This shows a UI with the number being dialed, allowing the user to explicitly initiate the call.
Input: If nothing, an empty dialer is started; else getData()
is URI of a phone number to be dialed or a tel: URI of an explicit phone
number.
Output: nothing.
Broadcast Action: A sticky broadcast for changes in the physical docking state of the device.
The intent will have the following extra values:
EXTRA_DOCK_STATE
- the current dock
state, indicating which dock the device is physically in.This is intended for monitoring the current physical dock state.
See UiModeManager
for the normal API dealing with
dock mode changes.
Broadcast Action: Sent after the system starts dreaming.
This is a protected intent that can only be sent by the system. It is only sent to registered receivers.
Broadcast Action: Sent after the system stops dreaming.
This is a protected intent that can only be sent by the system. It is only sent to registered receivers.
Activity Action: Provide explicit editable access to the given data.
Input: getData()
is URI of data to be edited.
Output: nothing.
Broadcast Action: Resources for a set of packages (which were
previously unavailable) are currently
available since the media on which they exist is available.
The extra data EXTRA_CHANGED_PACKAGE_LIST
contains a
list of packages whose availability changed.
The extra data EXTRA_CHANGED_UID_LIST
contains a
list of uids of packages whose availability changed.
Note that the
packages in this list do not receive this broadcast.
The specified set of packages are now available on the system.
Includes the following extras:
EXTRA_CHANGED_PACKAGE_LIST
is the set of packages
whose resources(were previously unavailable) are currently available.
EXTRA_CHANGED_UID_LIST
is the set of uids of the
packages whose resources(were previously unavailable)
are currently available.
This is a protected intent that can only be sent by the system.
Broadcast Action: Resources for a set of packages are currently
unavailable since the media on which they exist is unavailable.
The extra data EXTRA_CHANGED_PACKAGE_LIST
contains a
list of packages whose availability changed.
The extra data EXTRA_CHANGED_UID_LIST
contains a
list of uids of packages whose availability changed.
The specified set of packages can no longer be
launched and are practically unavailable on the system.
Inclues the following extras:
EXTRA_CHANGED_PACKAGE_LIST
is the set of packages
whose resources are no longer available.
EXTRA_CHANGED_UID_LIST
is the set of packages
whose resources are no longer available.
This is a protected intent that can only be sent by the system.
Activity Action: Main entry point for factory tests. Only used when the device is booting in factory test node. The implementing package must be installed in the system image.
Input: nothing
Output: nothing
Activity Action: Allow the user to select a particular kind of data and
return it. This is different than ACTION_PICK
in that here we
just say what kind of data is desired, not a URI of existing data from
which the user can pick. An ACTION_GET_CONTENT could allow the user to
create the data as it runs (for example taking a picture or recording a
sound), let them browse over the web and download the desired data,
etc.
There are two main ways to use this action: if you want a specific kind
of data, such as a person contact, you set the MIME type to the kind of
data you want and launch it with startActivity(Intent)
.
The system will then launch the best application to select that kind
of data for you.
You may also be interested in any of a set of types of content the user can pick. For example, an e-mail application that wants to allow the user to add an attachment to an e-mail message can use this action to bring up a list of all of the types of content the user can attach.
In this case, you should wrap the GET_CONTENT intent with a chooser
(through createChooser(Intent, CharSequence)
), which will give the proper interface
for the user to pick how to send your data and allow you to specify
a prompt indicating what they are doing. You will usually specify a
broad MIME type (such as image/* or */*), resulting in a
broad range of content types the user can select from.
When using such a broad GET_CONTENT action, it is often desirable to
only pick from data that can be represented as a stream. This is
accomplished by requiring the CATEGORY_OPENABLE
in the Intent.
Callers can optionally specify EXTRA_LOCAL_ONLY
to request that
the launched content chooser only returns results representing data that
is locally available on the device. For example, if this extra is set
to true then an image picker should not show any pictures that are available
from a remote server but not already on the local device (thus requiring
they be downloaded when opened).
If the caller can handle multiple returned items (the user performing
multiple selection), then it can specify EXTRA_ALLOW_MULTIPLE
to indicate this.
Input: getType()
is the desired MIME type to retrieve. Note
that no URI is supplied in the intent, as there are no constraints on
where the returned data originally comes from. You may also include the
CATEGORY_OPENABLE
if you can only accept data that can be
opened as a stream. You may use EXTRA_LOCAL_ONLY
to limit content
selection to local data. You may use EXTRA_ALLOW_MULTIPLE
to
allow the user to select multiple items.
Output: The URI of the item that was picked. This must be a content: URI so that any receiver can access it.
Broadcast to a specific application to query any supported restrictions to impose
on restricted users. The broadcast intent contains an extra
EXTRA_RESTRICTIONS_BUNDLE
with the currently persisted
restrictions as a Bundle of key/value pairs. The value types can be Boolean, String or
String[] depending on the restriction type.
EXTRA_RESTRICTIONS_LIST
,
which is of type ArrayList<RestrictionEntry>
. It can also
contain an extra EXTRA_RESTRICTIONS_INTENT
, which is of type Intent
.
The activity specified by that intent will be launched for a result which must contain
one of the extras EXTRA_RESTRICTIONS_LIST
or EXTRA_RESTRICTIONS_BUNDLE
.
The keys and values of the returned restrictions will be persisted.Broadcast Action: A GTalk connection has been established.
Broadcast Action: A GTalk connection has been disconnected.
Broadcast Action: Wired Headset plugged in or unplugged.
The intent will have the following extra values:
Broadcast Action: An input method has been changed.
Activity Action: Insert an empty item into the given container.
Input: getData()
is URI of the directory (vnd.android.cursor.dir/*)
in which to place the data.
Output: URI of the new data that was created.
Activity Action: Pick an existing item, or insert a new item, and then edit it.
Input: getType()
is the desired MIME type of the item to create or edit.
The extras can contain type specific data to pass through to the editing/creating
activity.
Output: The URI of the item that was picked. This must be a content: URI so that any receiver can access it.
Activity Action: Launch application installer.
Input: The data must be a content: or file: URI at which the application
can be retrieved. As of
Output: If JELLY_BEAN_MR1
,
you can also use "package:EXTRA_INSTALLER_PACKAGE_NAME
, EXTRA_NOT_UNKNOWN_SOURCE
,
EXTRA_ALLOW_REPLACE
, and EXTRA_RETURN_RESULT
.
EXTRA_RETURN_RESULT
, returns whether the install
succeeded.
Broadcast Action: The current device's locale has changed.
This is a protected intent that can only be sent by the system.
Activity Action: Start as a main entry point, does not expect to receive data.
Input: nothing
Output: nothing
Activity Action: Show settings for managing network data usage of a specific application. Applications should define an activity that offers options to control data usage.
Broadcast Action: Indicates low memory condition notification acknowledged by user and package management should be started. This is triggered by the user from the ACTION_DEVICE_STORAGE_LOW notification.
Broadcast Action: External media was removed from SD card slot, but mount point was not unmounted. The path to the mount point for the removed media is contained in the Intent.mData field.
Broadcast Action: The "Media Button" was pressed. Includes a single
extra field, EXTRA_KEY_EVENT
, containing the key event that
caused the broadcast.
Broadcast Action: External media is present, and being disk-checked The path to the mount point for the checking media is contained in the Intent.mData field.
Broadcast Action: User has expressed the desire to remove the external storage media. Applications should close all files they have open within the mount point when they receive this intent. The path to the mount point for the media to be ejected is contained in the Intent.mData field.
Broadcast Action: External media is present and mounted at its mount point. The path to the mount point for the mounted media is contained in the Intent.mData field. The Intent contains an extra with name "read-only" and Boolean value to indicate if the media was mounted read only.
Broadcast Action: External media is present, but is using an incompatible fs (or is blank) The path to the mount point for the checking media is contained in the Intent.mData field.
Broadcast Action: External media has been removed. The path to the mount point for the removed media is contained in the Intent.mData field.
Broadcast Action: The media scanner has finished scanning a directory. The path to the scanned directory is contained in the Intent.mData field.
Broadcast Action: Request the media scanner to scan a file and add it to the media database. The path to the file is contained in the Intent.mData field.
Broadcast Action: The media scanner has started scanning a directory. The path to the directory being scanned is contained in the Intent.mData field.
Broadcast Action: External media is unmounted because it is being shared via USB mass storage. The path to the mount point for the shared media is contained in the Intent.mData field.
Broadcast Action: External media is present but cannot be mounted. The path to the mount point for the unmountable media is contained in the Intent.mData field.
Broadcast Action: External media is present, but not mounted at its mount point. The path to the mount point for the unmounted media is contained in the Intent.mData field.
Broadcast Action: A new version of your application has been installed over an existing one. This is only sent to the application that was replaced. It does not contain any additional data; to receive it, just use an intent filter for this action.
This is a protected intent that can only be sent by the system.
Broadcast Action: An outgoing call is about to be placed.
The Intent will have the following extra value:
EXTRA_PHONE_NUMBER
-
the phone number originally intended to be dialed.Once the broadcast is finished, the resultData is used as the actual
number to call. If null
, no call will be placed.
It is perfectly acceptable for multiple receivers to process the outgoing call in turn: for example, a parental control application might verify that the user is authorized to place the call at that time, then a number-rewriting application might add an area code if one was not specified.
For consistency, any receiver whose purpose is to prohibit phone calls should have a priority of 0, to ensure it will see the final phone number to be dialed. Any receiver whose purpose is to rewrite phone numbers to be called should have a positive priority. Negative priorities are reserved for the system for this broadcast; using them may cause problems.
Any BroadcastReceiver receiving this Intent must not abort the broadcast.
Emergency calls cannot be intercepted using this mechanism, and other calls cannot be modified to call emergency numbers using this mechanism.
Some apps (such as VoIP apps) may want to redirect the outgoing
call to use their own service instead. Those apps should first prevent
the call from being placed by setting resultData to null
and then start their own app to make the call.
You must hold the
PROCESS_OUTGOING_CALLS
permission to receive this Intent.
This is a protected intent that can only be sent by the system.
Activity Action: Allow the user to select and return one or more existing
documents. When invoked, the system will display the various
DocumentsProvider
instances installed on the device, letting the
user interactively navigate through them. These documents include local
media, such as photos and video, and documents provided by installed
cloud storage providers.
Each document is represented as a content://
URI backed by a
DocumentsProvider
, which can be opened as a stream with
openFileDescriptor(Uri, String)
, or queried for
DocumentsContract.Document
metadata.
All selected documents are returned to the calling application with
persistable read and write permission grants. If you want to maintain
access to the documents across device reboots, you need to explicitly
take the persistable permissions using
takePersistableUriPermission(Uri, int)
.
Callers can restrict document selection to a specific kind of data, such
as photos, by setting one or more MIME types in
EXTRA_MIME_TYPES
.
If the caller can handle multiple returned items (the user performing
multiple selection), then you can specify EXTRA_ALLOW_MULTIPLE
to indicate this.
Callers must include CATEGORY_OPENABLE
in the Intent so that
returned URIs can be opened with
openFileDescriptor(Uri, String)
.
Output: The URI of the item that was picked. This must be a
content://
URI so that any receiver can access it. If multiple
documents were selected, they are returned in getClipData()
.
Broadcast Action: A new application package has been installed on the device. The data contains the name of the package. Note that the newly installed package does not receive this broadcast.
May include the following extras:
EXTRA_UID
containing the integer uid assigned to the new package.
EXTRA_REPLACING
is set to true if this is following
an ACTION_PACKAGE_REMOVED
broadcast for the same package.
This is a protected intent that can only be sent by the system.
Broadcast Action: An existing application package has been changed (e.g. a component has been enabled or disabled). The data contains the name of the package.
EXTRA_UID
containing the integer uid assigned to the package.
EXTRA_CHANGED_COMPONENT_NAME_LIST
containing the class name
of the changed components (or the package name itself).
EXTRA_DONT_KILL_APP
containing boolean field to override the
default action of restarting the application.
This is a protected intent that can only be sent by the system.
Broadcast Action: The user has cleared the data of a package. This should
be preceded by ACTION_PACKAGE_RESTARTED
, after which all of
its persistent data is erased and this broadcast sent.
Note that the cleared package does not
receive this broadcast. The data contains the name of the package.
EXTRA_UID
containing the integer uid assigned to the package.
This is a protected intent that can only be sent by the system.
Broadcast Action: Sent to the installer package of an application when that application is first launched (that is the first time it is moved out of the stopped state). The data contains the name of the package.
This is a protected intent that can only be sent by the system.
Broadcast Action: An existing application package has been completely
removed from the device. The data contains the name of the package.
This is like ACTION_PACKAGE_REMOVED
, but only set when
EXTRA_DATA_REMOVED
is true and
EXTRA_REPLACING
is false of that broadcast.
EXTRA_UID
containing the integer uid previously assigned
to the package.
This is a protected intent that can only be sent by the system.
This constant was deprecated
in API level 14.
This constant has never been used.
Broadcast Action: Trigger the download and eventual installation of a package.
Input: getData()
is the URI of the package file to download.
This is a protected intent that can only be sent by the system.
Broadcast Action: Sent to the system package verifier when a package needs to be verified. The data contains the package URI.
This is a protected intent that can only be sent by the system.
Broadcast Action: An existing application package has been removed from the device. The data contains the name of the package. The package that is being installed does not receive this Intent.
EXTRA_UID
containing the integer uid previously assigned
to the package.
EXTRA_DATA_REMOVED
is set to true if the entire
application -- data and code -- is being removed.
EXTRA_REPLACING
is set to true if this will be followed
by an ACTION_PACKAGE_ADDED
broadcast for the same package.
This is a protected intent that can only be sent by the system.
Broadcast Action: A new version of an application package has been installed, replacing an existing version that was previously installed. The data contains the name of the package.
May include the following extras:
EXTRA_UID
containing the integer uid assigned to the new package.
This is a protected intent that can only be sent by the system.
Broadcast Action: The user has restarted a package, and all of its processes have been killed. All runtime state associated with it (processes, alarms, notifications, etc) should be removed. Note that the restarted package does not receive this broadcast. The data contains the name of the package.
EXTRA_UID
containing the integer uid assigned to the package.
This is a protected intent that can only be sent by the system.
Broadcast Action: Sent to the system package verifier when a package is verified. The data contains the package URI.
This is a protected intent that can only be sent by the system.
Activity Action: Create a new item in the given container, initializing it from the current contents of the clipboard.
Input: getData()
is URI of the directory (vnd.android.cursor.dir/*)
in which to place the data.
Output: URI of the new data that was created.
Activity Action: Pick an item from the data, returning what was selected.
Input: getData()
is URI containing a directory of data
(vnd.android.cursor.dir/*) from which to pick an item.
Output: The URI of the item that was picked.
Activity Action: Pick an activity given an intent, returning the class selected.
Input: get*Extra field EXTRA_INTENT
is an Intent
used with queryIntentActivities(Intent, int)
to determine the
set of activities from which to pick.
Output: Class name of the activity that was selected.
Broadcast Action: External power has been connected to the device. This is intended for applications that wish to register specifically to this notification. Unlike ACTION_BATTERY_CHANGED, applications will be woken for this and so do not have to stay active to receive this notification. This action can be used to implement actions that wait until power is available to trigger.
This is a protected intent that can only be sent by the system.
Broadcast Action: External power has been removed from the device. This is intended for applications that wish to register specifically to this notification. Unlike ACTION_BATTERY_CHANGED, applications will be woken for this and so do not have to stay active to receive this notification. This action can be used to implement actions that wait until power is available to trigger.
This is a protected intent that can only be sent by the system.
Activity Action: Show power usage information to the user.
Input: Nothing.
Output: Nothing.
Broadcast Action: Some content providers have parts of their namespace where they publish new events or items that the user may be especially interested in. For these things, they may broadcast this action when the set of interesting items change. For example, GmailProvider sends this notification when the set of unread mail in the inbox changes.
The data of the intent identifies which part of which provider changed. When queried through the content resolver, the data URI will return the data set in question.
The intent will have the following extra values:
Sent when the user taps on the clock widget in the system's "quick settings" area.
Broadcast Action: Have the device reboot. This is only for use by system code.
This is a protected intent that can only be sent by the system.
Activity Action: Run the data, whatever that means.
Input: ? (Note: this is currently specific to the test harness.)
Output: nothing.
Broadcast Action: Sent after the screen turns off.
This is a protected intent that can only be sent by the system.
Broadcast Action: Sent after the screen turns on.
This is a protected intent that can only be sent by the system.
Activity Action: Perform a search.
Input: getStringExtra(SearchManager.QUERY)
is the text to search for. If empty, simply
enter your search results Activity with the search UI activated.
Output: nothing.
Activity Action: Start action associated with long pressing on the search key.
Input: Nothing.
Output: Nothing.
Activity Action: Deliver some data to someone else. Who the data is being delivered to is not specified; it is up to the receiver of this action to ask the user where the data should be sent.
When launching a SEND intent, you should usually wrap it in a chooser
(through createChooser(Intent, CharSequence)
), which will give the proper interface
for the user to pick how to send your data and allow you to specify
a prompt indicating what they are doing.
Input: getType()
is the MIME type of the data being sent.
get*Extra can have either a EXTRA_TEXT
or EXTRA_STREAM
field, containing the data to be sent. If
using EXTRA_TEXT, the MIME type should be "text/plain"; otherwise it
should be the MIME type of the data in EXTRA_STREAM. Use */*
if the MIME type is unknown (this will only allow senders that can
handle generic data streams). If using EXTRA_TEXT
, you can
also optionally supply EXTRA_HTML_TEXT
for clients to retrieve
your text with HTML formatting.
As of JELLY_BEAN
, the data
being sent can be supplied through setClipData(ClipData)
. This
allows you to use FLAG_GRANT_READ_URI_PERMISSION
when sharing
content: URIs and other advanced features of ClipData
. If
using this approach, you still must supply the same data through the
EXTRA_TEXT
or EXTRA_STREAM
fields described below
for compatibility with old applications. If you don't set a ClipData,
it will be copied there for you when calling startActivity(Intent)
.
Optional standard extras, which may be interpreted by some recipients as
appropriate, are: EXTRA_EMAIL
, EXTRA_CC
,
EXTRA_BCC
, EXTRA_SUBJECT
.
Output: nothing.
Activity Action: Send a message to someone specified by the data.
Input: getData()
is URI describing the target.
Output: nothing.
Activity Action: Deliver multiple data to someone else.
Like ACTION_SEND
, except the data is multiple.
Input: getType()
is the MIME type of the data being sent.
get*ArrayListExtra can have either a EXTRA_TEXT
or EXTRA_STREAM
field, containing the data to be sent. If using
EXTRA_TEXT
, you can also optionally supply EXTRA_HTML_TEXT
for clients to retrieve your text with HTML formatting.
Multiple types are supported, and receivers should handle mixed types whenever possible. The right way for the receiver to check them is to use the content resolver on each URI. The intent sender should try to put the most concrete mime type in the intent type, but it can fall back to <type>/* or */* as needed.
e.g. if you are sending image/jpg and image/jpg, the intent's type can be image/jpg, but if you are sending image/jpg and image/png, then the intent's type should be image/*.
As of JELLY_BEAN
, the data
being sent can be supplied through setClipData(ClipData)
. This
allows you to use FLAG_GRANT_READ_URI_PERMISSION
when sharing
content: URIs and other advanced features of ClipData
. If
using this approach, you still must supply the same data through the
EXTRA_TEXT
or EXTRA_STREAM
fields described below
for compatibility with old applications. If you don't set a ClipData,
it will be copied there for you when calling startActivity(Intent)
.
Optional standard extras, which may be interpreted by some recipients as
appropriate, are: EXTRA_EMAIL
, EXTRA_CC
,
EXTRA_BCC
, EXTRA_SUBJECT
.
Output: nothing.
Activity Action: Show settings for choosing wallpaper
Input: Nothing.
Output: Nothing.
Broadcast Action: Device is shutting down. This is broadcast when the device is being shut down (completely turned off, not sleeping). Once the broadcast is complete, the final shutdown will proceed and all unsaved data lost. Apps will not normally need to handle this, since the foreground activity will be paused as well.
This is a protected intent that can only be sent by the system.
May include the following extras:
EXTRA_SHUTDOWN_USERSPACE_ONLY
a boolean that is set to true if this
shutdown is only for userspace processes. If not set, assumed to be false.
Activity Action: Perform a data synchronization.
Input: ?
Output: ?
Activity Action: Start the platform-defined tutorial
Input: getStringExtra(SearchManager.QUERY)
is the text to search for. If empty, simply
enter your search results Activity with the search UI activated.
Output: nothing.
Broadcast Action: The timezone has changed. The intent will have the following extra values:
This is a protected intent that can only be sent by the system.
Broadcast Action: The time was set.
Broadcast Action: The current time has changed. Sent every
minute. You can not receive this through components declared
in manifests, only by explicitly registering for it with
Context.registerReceiver()
.
This is a protected intent that can only be sent by the system.
Broadcast Action: A user ID has been removed from the system. The user
ID number is stored in the extra data under EXTRA_UID
.
This is a protected intent that can only be sent by the system.
This constant was deprecated
in API level 14.
replaced by android.os.storage.StorageEventListener
Broadcast Action: The device has entered USB Mass Storage mode. This is used mainly for the USB Settings panel. Apps should listen for ACTION_MEDIA_MOUNTED and ACTION_MEDIA_UNMOUNTED broadcasts to be notified when the SD card file system is mounted or unmounted
This constant was deprecated
in API level 14.
replaced by android.os.storage.StorageEventListener
Broadcast Action: The device has exited USB Mass Storage mode. This is used mainly for the USB Settings panel. Apps should listen for ACTION_MEDIA_MOUNTED and ACTION_MEDIA_UNMOUNTED broadcasts to be notified when the SD card file system is mounted or unmounted
Activity Action: Launch application uninstaller.
Input: The data must be a package: URI whose scheme specific part is
the package name of the current installed package to be uninstalled.
You can optionally supply EXTRA_RETURN_RESULT
.
Output: If EXTRA_RETURN_RESULT
, returns whether the install
succeeded.
Sent when a user switch is happening, causing the process's user to be
sent to the background. This is only sent to receivers registered
through Context.registerReceiver
. It is sent to the user that is going to the
background. This is sent as a foreground
broadcast, since it is part of a visible user interaction; be as quick
as possible when handling it.
Sent when a user switch is happening, causing the process's user to be
brought to the foreground. This is only sent to receivers registered
through Context.registerReceiver
. It is sent to the user that is going to the
foreground. This is sent as a foreground
broadcast, since it is part of a visible user interaction; be as quick
as possible when handling it.
Sent the first time a user is starting, to allow system apps to
perform one time initialization. (This will not be seen by third
party applications because a newly initialized user does not have any
third party applications installed for it.) This is sent early in
starting the user, around the time the home app is started, before
ACTION_BOOT_COMPLETED
is sent. This is sent as a foreground
broadcast, since it is part of a visible user interaction; be as quick
as possible when handling it.
Broadcast Action: Sent when the user is present after device wakes up (e.g when the keyguard is gone).
This is a protected intent that can only be sent by the system.
Activity Action: Display the data to the user. This is the most common action performed on data -- it is the generic action you can use on a piece of data to get the most reasonable thing to occur. For example, when used on a contacts entry it will view the entry; when used on a mailto: URI it will bring up a compose window filled with the information supplied by the URI; when used with a tel: URI it will invoke the dialer.
Input: getData()
is URI from which to retrieve data.
Output: nothing.
Activity Action: Start Voice Command.
Input: Nothing.
Output: Nothing.
This constant was deprecated
in API level 16.
Modern applications should use
WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER
to have the wallpaper
shown behind their UI, rather than watching for this broadcast and
rendering the wallpaper on their own.
Broadcast Action: The current system wallpaper has changed. See
WallpaperManager
for retrieving the new wallpaper.
This should only be used to determine when the wallpaper
has changed to show the new wallpaper to the user. You should certainly
never, in response to this, change the wallpaper or other attributes of
it such as the suggested size. That would be crazy, right? You'd cause
all kinds of loops, especially if other apps are doing similar things,
right? Of course. So please don't do this.
Activity Action: Perform a web search.
Input: getStringExtra(SearchManager.QUERY)
is the text to search for. If it is
a url starts with http or https, the site will be opened. If it is plain
text, Google search will be applied.
Output: nothing.
Set if the activity should be considered as an alternative action to
the data the user is currently viewing. See also
CATEGORY_SELECTED_ALTERNATIVE
for an alternative action that
applies to the selection in a list of items.
Supporting this category means that you would like your activity to be displayed in the set of alternative things the user can do, usually as part of the current activity's options menu. You will usually want to include a specific label in the <intent-filter> of this action describing to the user what it does.
The action of IntentFilter with this category is important in that it
describes the specific action the target will perform. This generally
should not be a generic action (such as ACTION_VIEW
, but rather
a specific name such as "com.android.camera.action.CROP. Only one
alternative of any particular action will be shown to the user, so using
a specific action like this makes sure that your alternative will be
displayed while also allowing other applications to provide their own
overrides of that particular action.
Used with ACTION_MAIN
to launch the browser application.
The activity should be able to browse the Internet.
NOTE: This should not be used as the primary key of an Intent,
since it will not result in the app launching with the correct
action and category. Instead, use this with
makeMainSelectorActivity(String, String)
to generate a main
Intent with this category in the selector.
Used with ACTION_MAIN
to launch the calculator application.
The activity should be able to perform standard arithmetic operations.
NOTE: This should not be used as the primary key of an Intent,
since it will not result in the app launching with the correct
action and category. Instead, use this with
makeMainSelectorActivity(String, String)
to generate a main
Intent with this category in the selector.
Used with ACTION_MAIN
to launch the calendar application.
The activity should be able to view and manipulate calendar entries.
NOTE: This should not be used as the primary key of an Intent,
since it will not result in the app launching with the correct
action and category. Instead, use this with
makeMainSelectorActivity(String, String)
to generate a main
Intent with this category in the selector.
Used with ACTION_MAIN
to launch the contacts application.
The activity should be able to view and manipulate address book entries.
NOTE: This should not be used as the primary key of an Intent,
since it will not result in the app launching with the correct
action and category. Instead, use this with
makeMainSelectorActivity(String, String)
to generate a main
Intent with this category in the selector.
Used with ACTION_MAIN
to launch the email application.
The activity should be able to send and receive email.
NOTE: This should not be used as the primary key of an Intent,
since it will not result in the app launching with the correct
action and category. Instead, use this with
makeMainSelectorActivity(String, String)
to generate a main
Intent with this category in the selector.
Used with ACTION_MAIN
to launch the gallery application.
The activity should be able to view and manipulate image and video files
stored on the device.
NOTE: This should not be used as the primary key of an Intent,
since it will not result in the app launching with the correct
action and category. Instead, use this with
makeMainSelectorActivity(String, String)
to generate a main
Intent with this category in the selector.
Used with ACTION_MAIN
to launch the maps application.
The activity should be able to show the user's current location and surroundings.
NOTE: This should not be used as the primary key of an Intent,
since it will not result in the app launching with the correct
action and category. Instead, use this with
makeMainSelectorActivity(String, String)
to generate a main
Intent with this category in the selector.
This activity allows the user to browse and download new applications.
Used with ACTION_MAIN
to launch the messaging application.
The activity should be able to send and receive text messages.
NOTE: This should not be used as the primary key of an Intent,
since it will not result in the app launching with the correct
action and category. Instead, use this with
makeMainSelectorActivity(String, String)
to generate a main
Intent with this category in the selector.
Used with ACTION_MAIN
to launch the music application.
The activity should be able to play, browse, or manipulate music files
stored on the device.
NOTE: This should not be used as the primary key of an Intent,
since it will not result in the app launching with the correct
action and category. Instead, use this with
makeMainSelectorActivity(String, String)
to generate a main
Intent with this category in the selector.
Activities that can be safely invoked from a browser must support this category. For example, if the user is viewing a web page or an e-mail and clicks on a link in the text, the Intent generated execute that link will require the BROWSABLE category, so that only activities supporting this category will be considered as possible actions. By supporting this category, you are promising that there is nothing damaging (without user intervention) that can happen by invoking any matching Intent.
An activity to run when device is inserted into a car dock.
Used with ACTION_MAIN
to launch an activity. For more
information, see UiModeManager
.
Used to indicate that the activity can be used in a car environment.
Set if the activity should be an option for the default action (center press) to perform on a piece of data. Setting this will hide from the user any activities without it set when performing an action on some data. Note that this is normally -not- set in the Intent when initiating an action -- it is for use in intent filters specified in packages.
An activity to run when device is inserted into a car dock.
Used with ACTION_MAIN
to launch an activity. For more
information, see UiModeManager
.
This activity is a development preference panel.
Capable of running inside a parent activity container.
To be used as code under test for framework instrumentation tests.
An activity to run when device is inserted into a digital (high end) dock.
Used with ACTION_MAIN
to launch an activity. For more
information, see UiModeManager
.
This is the home activity, that is the first activity that is displayed when the device boots.
Provides information about the package it is in; typically used if
a package does not contain a CATEGORY_LAUNCHER
to provide
a front-door to the user without having to be shown in the all apps list.
Should be displayed in the top-level launcher.
An activity to run when device is inserted into a analog (low end) dock.
Used with ACTION_MAIN
to launch an activity. For more
information, see UiModeManager
.
This activity may be exercised by the monkey or other automated test tools.
Used to indicate that an intent only wants URIs that can be opened with
openFileDescriptor(Uri, String)
. Openable URIs
must support at least the columns defined in OpenableColumns
when
queried.
This activity is a preference panel.
To be used as a sample code example (not part of the normal user experience).
Set if the activity should be considered as an alternative selection
action to the data the user has currently selected. This is like
CATEGORY_ALTERNATIVE
, but is used in activities showing a list
of items from which the user can select, giving them alternatives to the
default action that will be performed on it.
Intended to be used as a tab inside of a containing TabActivity.
To be used as a test (not part of the normal user experience).
To be used as a unit test (run through the Test Harness).
Used as an int extra field in AlarmManager
intents
to tell the application being invoked how many pending alarms are being
delievered with the intent. For one-shot alarms this will always be 1.
For recurring alarms, this might be greater than 1 if the device was
asleep or powered off at the time an earlier alarm would have been
delivered.
Extra used to indicate that an intent can allow the user to select and
return multiple items. This is a boolean extra; the default is false. If
true, an implementation is allowed to present the user with a UI where
they can pick multiple items that are all returned to the caller. When
this happens, they should be returned as the getClipData()
part
of the result Intent.
This constant was deprecated
in API level 16.
As of JELLY_BEAN
, Android
will no longer show an interstitial message about updating existing
applications so this is no longer needed.
Used as a boolean extra field with ACTION_INSTALL_PACKAGE
to install a
package. Tells the installer UI to skip the confirmation with the user
if the .apk is replacing an existing one.
An optional field on ACTION_ASSIST
and containing additional contextual
information supplied by the current foreground app at the time of the assist request.
This is a Bundle
of additional data.
An optional field on ACTION_ASSIST
containing the name of the current foreground
application package at the time the assist was invoked.
A String[] holding e-mail addresses that should be blind carbon copied.
Used as a parcelable extra field in ACTION_APP_ERROR
, containing
the bug report.
A String[] holding e-mail addresses that should be carbon copied.
This constant was deprecated
in API level 7.
See EXTRA_CHANGED_COMPONENT_NAME_LIST
; this field
will contain only the first name in the list.
This field is part of ACTION_PACKAGE_CHANGED
,
and contains a string array of all of the components that have changed. If
the state of the overall package has changed, then it will contain an entry
with the package name itself.
This field is part of
ACTION_EXTERNAL_APPLICATIONS_AVAILABLE
,
ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE
and contains a string array of all of the components that have changed.
This field is part of
ACTION_EXTERNAL_APPLICATIONS_AVAILABLE
,
ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE
and contains an integer array of uids of all of the components
that have changed.
Used as a boolean extra field in ACTION_PACKAGE_REMOVED
intents to indicate whether this represents a full uninstall (removing
both the code and its data) or a partial uninstall (leaving its data,
implying that this is an update).
Used as an int extra field in ACTION_DOCK_EVENT
intents to request the dock state. Possible values are
EXTRA_DOCK_STATE_UNDOCKED
,
EXTRA_DOCK_STATE_DESK
, or
EXTRA_DOCK_STATE_CAR
, or
EXTRA_DOCK_STATE_LE_DESK
, or
EXTRA_DOCK_STATE_HE_DESK
.
Used as an int value for EXTRA_DOCK_STATE
to represent that the phone is in a car dock.
Used as an int value for EXTRA_DOCK_STATE
to represent that the phone is in a desk dock.
Used as an int value for EXTRA_DOCK_STATE
to represent that the phone is in a digital (high end) dock.
Used as an int value for EXTRA_DOCK_STATE
to represent that the phone is in a analog (low end) dock.
Used as an int value for EXTRA_DOCK_STATE
to represent that the phone is not in any dock.
Used as a boolean extra field in ACTION_PACKAGE_REMOVED
or
ACTION_PACKAGE_CHANGED
intents to override the default action
of restarting the application.
A String[] holding e-mail addresses that should be delivered to.
A constant String that is associated with the Intent, used with
ACTION_SEND
to supply an alternative to EXTRA_TEXT
as HTML formatted text. Note that you must also supply
EXTRA_TEXT
.
A Parcelable[] of Intent
or
LabeledIntent
objects as set with
putExtra(String, Parcelable[])
of additional activities to place
a the front of the list of choices, when shown to the user with a
ACTION_CHOOSER
.
Used as a string extra field with ACTION_INSTALL_PACKAGE
to install a
package. Specifies the installer package name; this package will receive the
ACTION_APP_ERROR
intent.
An Intent describing the choices you would like shown with
ACTION_PICK_ACTIVITY
.
A KeyEvent
object containing the event that
triggered the creation of the Intent it is in.
Extra used to indicate that an intent should only return data that is on the local device. This is a boolean extra; the default is false. If true, an implementation should only allow the user to select data that is already on the device, not requiring it be downloaded from a remote service when opened.
Extra used to communicate a set of acceptable MIME types. The type of the
extra is String[]
. Values may be a combination of concrete MIME
types (such as "image/png") and/or partial MIME types (such as
"audio/*").
Used as a boolean extra field with ACTION_INSTALL_PACKAGE
to install a
package. Specifies that the application being installed should not be
treated as coming from an unknown source, but as coming from the app
invoking the Intent. For this to work you must start the installer with
startActivityForResult().
Used as a URI extra field with ACTION_INSTALL_PACKAGE
and
ACTION_VIEW
to indicate the URI from which the local APK in the Intent
data field originated from.
A String holding the phone number originally entered in
ACTION_NEW_OUTGOING_CALL
, or the actual
number to call in a ACTION_CALL
.
Used as a URI extra field with ACTION_INSTALL_PACKAGE
and
ACTION_VIEW
to indicate the HTTP referrer URI associated with the Intent
data field or EXTRA_ORIGINATING_URI
.
Used in the extra field in the remote intent. It's astring token passed with the remote intent.
Used as a boolean extra field in ACTION_PACKAGE_REMOVED
intents to indicate that this is a replacement of the package, so this
broadcast will immediately be followed by an add broadcast for a
different version of the same package.
Extra sent in the intent to the BroadcastReceiver that handles
ACTION_GET_RESTRICTION_ENTRIES
. The type of the extra is a Bundle containing
the restrictions as key/value pairs.
Extra used in the response from a BroadcastReceiver that handles
ACTION_GET_RESTRICTION_ENTRIES
.
Extra used in the response from a BroadcastReceiver that handles
ACTION_GET_RESTRICTION_ENTRIES
. The type of the extra is
ArrayList<RestrictionEntry>
.
Used as a boolean extra field with ACTION_INSTALL_PACKAGE
or
ACTION_UNINSTALL_PACKAGE
. Specifies that the installer UI should
return to the application the result code of the install/uninstall. The returned result
code will be RESULT_OK
on success or
RESULT_FIRST_USER
on failure.
The name of the extra used to define the icon, as a Bitmap, of a shortcut.
The name of the extra used to define the icon, as a ShortcutIconResource, of a shortcut.
The name of the extra used to define the Intent of a shortcut.
The name of the extra used to define the name of a shortcut.
Optional extra for ACTION_SHUTDOWN
that allows the sender to qualify that
this shutdown is only for the user space of the system, not a complete shutdown.
When this is true, hardware devices can use this information to determine that
they shouldn't do a complete shutdown of their device since this is not a
complete shutdown down to the kernel, but only user space restarting.
The default if not supplied is false.
A content: URI holding a stream of data associated with the Intent,
used with ACTION_SEND
to supply the data being sent.
A constant string holding the desired subject line of a message.
The initial data to place in a newly created record. Use with
ACTION_INSERT
. The data here is a Map containing the same
fields as would be given to the underlying ContentProvider.insert()
call.
A constant CharSequence that is associated with the Intent, used with
ACTION_SEND
to supply the literal data to be sent. Note that
this may be a styled CharSequence, so you must use
Bundle.getCharSequence()
to
retrieve it.
A CharSequence dialog title to provide to the user when used with a
ACTION_CHOOSER
.
Used as an int extra field in ACTION_UID_REMOVED
intents to supply the uid the package had been assigned. Also an optional
extra in ACTION_PACKAGE_REMOVED
or
ACTION_PACKAGE_CHANGED
for the same
purpose.
Use with fillIn(Intent, int)
to allow the current action value to be
overwritten, even if it is already set.
Use with fillIn(Intent, int)
to allow the current categories to be
overwritten, even if they are already set.
Use with fillIn(Intent, int)
to allow the current ClipData to be
overwritten, even if it is already set.
Use with fillIn(Intent, int)
to allow the current component value to be
overwritten, even if it is already set.
Use with fillIn(Intent, int)
to allow the current data or type value
overwritten, even if it is already set.
Use with fillIn(Intent, int)
to allow the current package value to be
overwritten, even if it is already set.
Use with fillIn(Intent, int)
to allow the current selector to be
overwritten, even if it is already set.
Use with fillIn(Intent, int)
to allow the current bounds rectangle to be
overwritten, even if it is already set.
This flag is not normally set by application code, but set for you by
the system as described in the
launchMode
documentation for the singleTask mode.
If set in an Intent passed to Context.startActivity()
,
this flag will cause any existing task that would be associated with the
activity to be cleared before the activity is started. That is, the activity
becomes the new root of an otherwise empty task, and any old activities
are finished. This can only be used in conjunction with FLAG_ACTIVITY_NEW_TASK
.
If set, and the activity being launched is already running in the current task, then instead of launching a new instance of that activity, all of the other activities on top of it will be closed and this Intent will be delivered to the (now on top) old activity as a new Intent.
For example, consider a task consisting of the activities: A, B, C, D. If D calls startActivity() with an Intent that resolves to the component of activity B, then C and D will be finished and B receive the given Intent, resulting in the stack now being: A, B.
The currently running instance of activity B in the above example will
either receive the new intent you are starting here in its
onNewIntent() method, or be itself finished and restarted with the
new intent. If it has declared its launch mode to be "multiple" (the
default) and you have not set FLAG_ACTIVITY_SINGLE_TOP
in
the same intent, then it will be finished and re-created; for all other
launch modes or if FLAG_ACTIVITY_SINGLE_TOP
is set then this
Intent will be delivered to the current instance's onNewIntent().
This launch mode can also be used to good effect in conjunction with
FLAG_ACTIVITY_NEW_TASK
: if used to start the root activity
of a task, it will bring any currently running instance of that task
to the foreground, and then clear it to its root state. This is
especially useful, for example, when launching an activity from the
notification manager.
See Tasks and Back Stack for more information about tasks.
If set, this marks a point in the task's activity stack that should
be cleared when the task is reset. That is, the next time the task
is brought to the foreground with
FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
(typically as a result of
the user re-launching it from home), this activity and all on top of
it will be finished so that the user does not return to them, but
instead returns to whatever activity preceeded it.
This is useful for cases where you have a logical break in your application. For example, an e-mail application may have a command to view an attachment, which launches an image view activity to display it. This activity should be part of the e-mail application's task, since it is a part of the task the user is involved in. However, if the user leaves that task, and later selects the e-mail app from home, we may like them to return to the conversation they were viewing, not the picture attachment, since that is confusing. By setting this flag when launching the image viewer, that viewer and any activities it starts will be removed the next time the user returns to mail.
If set, the new activity is not kept in the list of recently launched activities.
If set and this intent is being used to launch a new activity from an
existing one, then the reply target of the existing activity will be
transfered to the new activity. This way the new activity can call
setResult(int)
and have that result sent back to
the reply target of the original activity.
This flag is not normally set by application code, but set for you by the system if this activity is being launched from history (longpress home key).
Do not use this flag unless you are implementing your own
top-level application launcher. Used in conjunction with
FLAG_ACTIVITY_NEW_TASK
to disable the
behavior of bringing an existing task to the foreground. When set,
a new task is always started to host the Activity for the
Intent, regardless of whether there is already an existing task running
the same thing.
Because the default system does not include graphical task management, you should not use this flag unless you provide some way for a user to return back to the tasks you have launched.
This flag is ignored if
FLAG_ACTIVITY_NEW_TASK
is not set.
See Tasks and Back Stack for more information about tasks.
If set, this activity will become the start of a new task on this history stack. A task (from the activity that started it to the next task activity) defines an atomic group of activities that the user can move to. Tasks can be moved to the foreground and background; all of the activities inside of a particular task always remain in the same order. See Tasks and Back Stack for more information about tasks.
This flag is generally used by activities that want to present a "launcher" style behavior: they give the user a list of separate things that can be done, which otherwise run completely independently of the activity launching them.
When using this flag, if a task is already running for the activity
you are now starting, then a new activity will not be started; instead,
the current task will simply be brought to the front of the screen with
the state it was last in. See FLAG_ACTIVITY_MULTIPLE_TASK
for a flag
to disable this behavior.
This flag can not be used when the caller is requesting a result from the activity being launched.
If set in an Intent passed to Context.startActivity()
,
this flag will prevent the system from applying an activity transition
animation to go to the next activity state. This doesn't mean an
animation will never run -- if another activity change happens that doesn't
specify this flag before the activity started here is displayed, then
that transition will be used. This flag can be put to good use
when you are going to do a series of activity operations but the
animation seen by the user shouldn't be driven by the first activity
change but rather a later one.
If set, the new activity is not kept in the history stack. As soon as
the user navigates away from it, the activity is finished. This may also
be set with the noHistory
attribute.
If set, this flag will prevent the normal onUserLeaveHint()
callback from occurring on the current frontmost activity before it is
paused as the newly-started activity is brought to the front.
Typically, an activity can rely on that callback to indicate that an explicit user action has caused their activity to be moved out of the foreground. The callback marks an appropriate point in the activity's lifecycle for it to dismiss any notifications that it intends to display "until the user has seen them," such as a blinking LED.
If an activity is ever started via any non-user-driven events such as
phone-call receipt or an alarm handler, this flag should be passed to Context.startActivity
, ensuring that the pausing
activity does not think the user has acknowledged its notification.
If set and this intent is being used to launch a new activity from an existing one, the current activity will not be counted as the top activity for deciding whether the new intent should be delivered to the top instead of starting a new one. The previous activity will be used as the top, with the assumption being that the current activity will finish itself immediately.
If set in an Intent passed to Context.startActivity()
,
this flag will cause the launched activity to be brought to the front of its
task's history stack if it is already running.
For example, consider a task consisting of four activities: A, B, C, D.
If D calls startActivity() with an Intent that resolves to the component
of activity B, then B will be brought to the front of the history stack,
with this resulting order: A, C, D, B.
This flag will be ignored if FLAG_ACTIVITY_CLEAR_TOP
is also
specified.
If set, and this activity is either being started in a new task or bringing to the top an existing task, then it will be launched as the front door of the task. This will result in the application of any affinities needed to have that task in the proper state (either moving activities to or from it), or simply resetting that task to its initial state if needed.
If set, the activity will not be launched if it is already running at the top of the history stack.
If set in an Intent passed to Context.startActivity()
,
this flag will cause a newly launching task to be placed on top of the current
home activity task (if there is one). That is, pressing back from the task
will always return the user to home even if that was not the last activity they
saw. This can only be used in conjunction with FLAG_ACTIVITY_NEW_TASK
.
A flag you can enable for debugging: when set, log messages will be printed during the resolution of this intent to show you what has been found to create the final resolved list.
If set, this intent will not match any components in packages that are currently stopped. If this is not set, then the default behavior is to include such applications in the result.
Can be set by the caller to indicate that this Intent is coming from a background operation, not from direct user interaction.
When combined with FLAG_GRANT_READ_URI_PERMISSION
and/or
FLAG_GRANT_WRITE_URI_PERMISSION
, the URI permission grant can be
persisted across device reboots until explicitly revoked with
revokeUriPermission(Uri, int)
. This flag only offers the
grant for possible persisting; the receiving application must call
takePersistableUriPermission(Uri, int)
to
actually persist.
If set, the recipient of this Intent will be granted permission to perform read operations on the URI in the Intent's data and any URIs specified in its ClipData. When applying to an Intent's ClipData, all URIs as well as recursive traversals through data or other ClipData in Intent items will be granted; only the grant flags of the top-level Intent are used.
If set, the recipient of this Intent will be granted permission to perform write operations on the URI in the Intent's data and any URIs specified in its ClipData. When applying to an Intent's ClipData, all URIs as well as recursive traversals through data or other ClipData in Intent items will be granted; only the grant flags of the top-level Intent are used.
If set, this intent will always match any components in packages that
are currently stopped. This is the default behavior when
FLAG_EXCLUDE_STOPPED_PACKAGES
is not set. If both of these
flags are set, this one wins (it allows overriding of exclude for
places where the framework may automatically set the exclude flag).
If set, when sending a broadcast the recipient is allowed to run at foreground priority, with a shorter timeout interval. During normal broadcasts the receivers are not automatically hoisted out of the background priority class.
If this is an ordered broadcast, don't allow receivers to abort the broadcast. They can still propagate results through to later receivers, but they can not prevent later receivers from seeing the broadcast.
If set, when sending a broadcast only registered receivers will be called -- no BroadcastReceiver components will be launched.
If set, when sending a broadcast the new broadcast will replace
any existing pending broadcast that matches it. Matching is defined
by Intent.filterEquals
returning
true for the intents of the two broadcasts. When a match is found,
the new broadcast (and receivers associated with it) will replace the
existing one in the pending broadcast list, remaining at the same
position in the list.
This flag is most typically used with sticky broadcasts, which only care about delivering the most recent values of the broadcast to their receivers.
Boolean that can be supplied as meta-data with a dock activity, to indicate that the dock should take over the home key when it is active.
Flag for use with toUri(int)
and parseUri(String, int)
: the URI string
always has the "intent:" scheme. This syntax can be used when you want
to later disambiguate between URIs that are intended to describe an
Intent vs. all others that should be treated as raw URIs. When used
with parseUri(String, int)
, any other scheme will result in a generic
VIEW action for that raw URI.
Create an intent with a given action. All other fields (data, type, class) are null. Note that the action must be in a namespace because Intents are used globally in the system -- for example the system VIEW action is android.intent.action.VIEW; an application's custom action would be something like com.google.app.myapp.CUSTOM_ACTION.
action | The Intent action, such as ACTION_VIEW. |
---|
Create an intent with a given action and for a given data url. Note that the action must be in a namespace because Intents are used globally in the system -- for example the system VIEW action is android.intent.action.VIEW; an application's custom action would be something like com.google.app.myapp.CUSTOM_ACTION.
Note: scheme and host name matching in the Android framework is case-sensitive, unlike the formal RFC. As a result, you should always ensure that you write your Uri with these elements using lower case letters, and normalize any Uris you receive from outside of Android to ensure the scheme and host is lower case.
action | The Intent action, such as ACTION_VIEW. |
---|---|
uri | The Intent data URI. |
Create an intent for a specific component. All other fields (action, data,
type, class) are null, though they can be modified later with explicit
calls. This provides a convenient way to create an intent that is
intended to execute a hard-coded class name, rather than relying on the
system to find an appropriate class for you; see setComponent(ComponentName)
for more information on the repercussions of this.
packageContext | A Context of the application package implementing this class. |
---|---|
cls | The component class that is to be used for the intent. |
Create an intent for a specific component with a specified action and data.
This is equivalent using Intent(String, android.net.Uri)
to
construct the Intent and then calling setClass(Context, Class>)
to set its
class.
Note: scheme and host name matching in the Android framework is case-sensitive, unlike the formal RFC. As a result, you should always ensure that you write your Uri with these elements using lower case letters, and normalize any Uris you receive from outside of Android to ensure the scheme and host is lower case.
action | The Intent action, such as ACTION_VIEW. |
---|---|
uri | The Intent data URI. |
packageContext | A Context of the application package implementing this class. |
cls | The component class that is to be used for the intent. |
Add a new category to the intent. Categories provide additional detail about the action the intent performs. When resolving an intent, only activities that provide all of the requested categories will be used.
category | The desired category. This can be either one of the predefined Intent categories, or a custom category in your own namespace. |
---|
Add additional flags to the intent (or with existing flags value).
flags | The new flags to set. |
---|
Creates and returns a copy of this Object
. The default
implementation returns a so-called "shallow" copy: It creates a new
instance of the same class and then copies the field values (including
object references) from this instance to the new instance. A "deep" copy,
in contrast, would also recursively clone nested objects. A subclass that
needs to implement this kind of cloning should call super.clone()
to create the new instance and then create deep copies of the nested,
mutable objects.
Make a clone of only the parts of the Intent that are relevant for filter matching: the action, data, type, component, and categories.
Convenience function for creating a ACTION_CHOOSER
Intent.
Builds a new ACTION_CHOOSER
Intent that wraps the given
target intent, also optionally supplying a title. If the target
intent has specified FLAG_GRANT_READ_URI_PERMISSION
or
FLAG_GRANT_WRITE_URI_PERMISSION
, then these flags will also be
set in the returned chooser intent, with its ClipData set appropriately:
either a direct reflection of getClipData()
if that is non-null,
or a new ClipData build from getData()
.
target | The Intent that the user will be selecting an activity to perform. |
---|---|
title | Optional title that will be displayed in the chooser. |
Context.startActivity()
and
related methods.
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
Copy the contents of other in to this object, but only where fields are not defined by this object. For purposes of a field being defined, the following pieces of data in the Intent are considered to be separate fields:
setAction(String)
.
setData(Uri)
,
setType(String)
, or setDataAndType(Uri, String)
.
addCategory(String)
.
setPackage(String)
.
setComponent(ComponentName)
or
related methods.
setSourceBounds(Rect)
.
setSelector(Intent)
.
setClipData(ClipData)
.
In addition, you can use the FILL_IN_ACTION
,
FILL_IN_DATA
, FILL_IN_CATEGORIES
, FILL_IN_PACKAGE
,
FILL_IN_COMPONENT
, FILL_IN_SOURCE_BOUNDS
,
FILL_IN_SELECTOR
, and FILL_IN_CLIP_DATA
to override
the restriction where the corresponding field will not be replaced if
it is already set.
Note: The component field will only be copied if FILL_IN_COMPONENT
is explicitly specified. The selector will only be copied if
FILL_IN_SELECTOR
is explicitly specified.
For example, consider Intent A with {data="foo", categories="bar"} and Intent B with {action="gotit", data-type="some/thing", categories="one","two"}.
Calling A.fillIn(B, Intent.FILL_IN_DATA) will result in A now containing: {action="gotit", data-type="some/thing", categories="bar"}.
other | Another Intent whose values are to be used to fill in the current one. |
---|---|
flags | Options to control which fields can be filled in. |
FILL_IN_ACTION
,
FILL_IN_DATA
, FILL_IN_CATEGORIES
, FILL_IN_PACKAGE
,
FILL_IN_COMPONENT
, FILL_IN_SOURCE_BOUNDS
, and
FILL_IN_SELECTOR
indicating which fields were changed.
Determine if two intents are the same for the purposes of intent resolution (filtering). That is, if their action, data, type, class, and categories are the same. This does not compare any extra data included in the intents.
other | The other Intent to compare against. |
---|
Generate hash code that matches semantics of filterEquals().
Retrieve the general action to be performed, such as
ACTION_VIEW
. The action describes the general way the rest of
the information in the intent should be interpreted -- most importantly,
what to do with the data returned by getData()
.
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|---|
defaultValue | the value to be returned if no value of the desired type is stored with the given name. |
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|---|
defaultValue | the value to be returned if no value of the desired type is stored with the given name. |
Return the set of all categories in the intent. If there are no categories, returns NULL.
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|---|
defaultValue | the value to be returned if no value of the desired type is stored with the given name. |
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Return the ClipData
associated with this Intent. If there is
none, returns null. See setClipData(ClipData)
for more information.
Retrieve the concrete component associated with the intent. When receiving an intent, this is the component that was found to best handle it (that is, yourself) and will always be non-null; in all other cases it will be null unless explicitly set.
Retrieve data this intent is operating on. This URI specifies the name of the data; often it uses the content: scheme, specifying data in a content provider. Other schemes may be handled by specific activities, such as http: by the web browser.
The same as getData()
, but returns the URI as an encoded
String.
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|---|
defaultValue | the value to be returned if no value of the desired type is stored with the given name. |
Retrieves a map of extended data from the intent.
Retrieve any special flags associated with this intent. You will
normally just set them with setFlags(int)
and let the system
take the appropriate action with them.
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|---|
defaultValue | the value to be returned if no value of the desired type is stored with the given name. |
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|---|
defaultValue | the value to be returned if no value of the desired type is stored with the given name. |
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
This method was deprecated
in API level 4.
Use parseUri(String, int)
instead.
Call parseUri(String, int)
with 0 flags.
URISyntaxException |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|---|
defaultValue | the value to be returned if no value of the desired type is stored with the given name. |
Retrieve the application package name this Intent is limited to. When resolving an Intent, if non-null this limits the resolution to only components in the given application package.
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Return the scheme portion of the intent's data. If the data is null or does not include a scheme, null is returned. Otherwise, the scheme prefix without the final ':' is returned, i.e. "http".
This is the same as calling getData().getScheme() (and checking for null data).
Return the specific selector associated with this Intent. If there is
none, returns null. See setSelector(Intent)
for more information.
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|---|
defaultValue | the value to be returned if no value of the desired type is stored with the given name. |
Get the bounds of the sender of this intent, in screen coordinates. This can be used as a hint to the receiver for animations and the like. Null means that there is no source bounds.
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve extended data from the intent.
name | The name of the desired item. |
---|
Retrieve any explicit MIME type included in the intent. This is usually null, as the type is determined by the intent data.
Check if a category exists in the intent.
category | The category to check. |
---|
Returns true if an extra value is associated with the given name.
name | the extra's name |
---|
Returns true if the Intent's extras contain a parcelled file descriptor.
Create an intent to launch the main (root) activity of a task. This is the Intent that is started when the application's is launched from Home. For anything else that wants to launch an application in the same way, it is important that they use an Intent structured the same way, and can use this function to ensure this is the case.
The returned Intent has the given Activity component as its explicit
component, ACTION_MAIN
as its action, and includes the
category CATEGORY_LAUNCHER
. This does not have
FLAG_ACTIVITY_NEW_TASK
set, though typically you will want
to do that through addFlags(int)
on the returned Intent.
mainActivity | The main activity component that this Intent will launch. |
---|
Make an Intent for the main activity of an application, without specifying a specific activity to run but giving a selector to find the activity. This results in a final Intent that is structured the same as when the application is launched from Home. For anything else that wants to launch an application in the same way, it is important that they use an Intent structured the same way, and can use this function to ensure this is the case.
The returned Intent has ACTION_MAIN
as its action, and includes the
category CATEGORY_LAUNCHER
. This does not have
FLAG_ACTIVITY_NEW_TASK
set, though typically you will want
to do that through addFlags(int)
on the returned Intent.
selectorAction | The action name of the Intent's selector. |
---|---|
selectorCategory | The name of a category to add to the Intent's selector. |
Make an Intent that can be used to re-launch an application's task
in its base state. This is like makeMainActivity(ComponentName)
,
but also sets the flags FLAG_ACTIVITY_NEW_TASK
and
FLAG_ACTIVITY_CLEAR_TASK
.
mainActivity | The activity component that is the root of the task; this is the activity that has been published in the application's manifest as the main launcher icon. |
---|
Normalize a MIME data type.
A normalized MIME type has white-space trimmed, content-type parameters removed, and is lower-case. This aligns the type with Android best practices for intent filtering.
For example, "text/plain; charset=utf-8" becomes "text/plain". "text/x-vCard" becomes "text/x-vcard".
All MIME types received from outside Android (such as user input, or external sources like Bluetooth, NFC, or the Internet) should be normalized before they are used to create an Intent.
type | MIME data type to normalize |
---|
Parses the "intent" element (and its children) from XML and instantiates
an Intent object. The given XML parser should be located at the tag
where parsing should start (often named "intent"), from which the
basic action, data, type, and package and class name will be
retrieved. The function will then parse in to any child elements,
looking for
resources | The Resources to use when inflating resources. |
---|---|
parser | The XML parser pointing at an "intent" tag. |
attrs | The AttributeSet interface for retrieving extended attribute data at the current parser location. |
XmlPullParserException | If there was an XML parsing error. |
---|---|
IOException | If there was an I/O error. |
Create an intent from a URI. This URI may encode the action,
category, and other intent fields, if it was returned by
toUri(int)
. If the Intent was not generate by toUri(), its data
will be the entire URI and its action will be ACTION_VIEW.
The URI given here must not be relative -- that is, it must include the scheme and full path.
uri | The URI to turn into an Intent. |
---|---|
flags | Additional processing flags. Either 0 or
URI_INTENT_SCHEME . |
URISyntaxException | Throws URISyntaxError if the basic URI syntax it bad (as parsed by the Uri class) or the Intent data within the URI is invalid. |
---|
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The ArrayList |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The double array data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The integer data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The CharSequence data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The char data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The Bundle data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The Parcelable[] data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The Serializable data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The int array data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The float data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The byte array data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The byte array data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The Parcelable data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The float array data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The long data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The String array data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The boolean data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The boolean array data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The short data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The double data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The short array data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The String data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The byte data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The char array data value. |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The CharSequence array data value. |
Copy all extras in 'src' in to this intent.
src | Contains the extras to copy. |
---|
Add a set of extended data to the intent. The keys must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
extras | The Bundle of extras to add to this intent. |
---|
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The ArrayList |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The ArrayList |
Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
name | The name of the extra data, with package prefix. |
---|---|
value | The ArrayList |
Remove a category from an intent.
category | The category to remove. |
---|
Remove extended data from the intent.
Completely replace the extras in the Intent with the given Bundle of extras.
extras | The new set of extras in the Intent, or null to erase all extras. |
---|
Completely replace the extras in the Intent with the extras in the given Intent.
src | The exact extras contained in this Intent are copied into the target intent, replacing any that were previously there. |
---|
Return the Activity component that should be used to handle this intent. The appropriate component is determined based on the information in the intent, evaluated as follows:
If getComponent()
returns an explicit class, that is returned
without any further consideration.
The activity must handle the CATEGORY_DEFAULT
Intent
category to be considered.
If getAction()
is non-NULL, the activity must handle this
action.
If resolveType(ContentResolver)
returns non-NULL, the activity must handle
this type.
If addCategory(String)
has added any categories, the activity must
handle ALL of the categories specified.
If getPackage()
is non-NULL, only activity components in
that application package will be considered.
If there are no activities that satisfy all of these conditions, a null string is returned.
If multiple activities are found to satisfy the intent, the one with the highest priority will be used. If there are multiple activities with the same priority, the system will either pick the best activity based on user preference, or resolve to a system class that will allow the user to pick an activity and forward from there.
This method is implemented simply by calling
resolveActivity(Intent, int)
with the "defaultOnly" parameter
true.
This API is called for you as part of starting an activity from an intent. You do not normally need to call it yourself.
pm | The package manager with which to resolve the Intent. |
---|
Resolve the Intent into an ActivityInfo
describing the activity that should execute the intent. Resolution
follows the same rules as described for resolveActivity(PackageManager)
, but
you get back the completely information about the resolved activity
instead of just its class name.
pm | The package manager with which to resolve the Intent. |
---|---|
flags | Addition information to retrieve as per
PackageManager.getActivityInfo() . |
Return the MIME data type of this intent. If the type field is explicitly set, that is simply returned. Otherwise, if the data is set, the type of that data is returned. If neither fields are set, a null is returned.
resolver | A ContentResolver that can be used to determine the MIME type of the intent's data. |
---|
Return the MIME data type of this intent. If the type field is explicitly set, that is simply returned. Otherwise, if the data is set, the type of that data is returned. If neither fields are set, a null is returned.
Return the MIME data type of this intent, only if it will be needed for intent resolution. This is not generally useful for application code; it is used by the frameworks for communicating with back-end system services.
resolver | A ContentResolver that can be used to determine the MIME type of the intent's data. |
---|
Set the general action to be performed.
action | An action name, such as ACTION_VIEW. Application-specific actions should be prefixed with the vendor's package name. |
---|
Convenience for calling setComponent(ComponentName)
with the
name returned by a Class
object.
packageContext | A Context of the application package implementing this class. |
---|---|
cls | The class name to set, equivalent to
setClassName(context, cls.getName()) . |
Convenience for calling setComponent(ComponentName)
with an
explicit class name.
packageContext | A Context of the application package implementing this class. |
---|---|
className | The name of a class inside of the application package that will be used as the component for this Intent. |
Convenience for calling setComponent(ComponentName)
with an
explicit application package name and class name.
packageName | The name of the package implementing the desired component. |
---|---|
className | The name of a class inside of the application package that will be used as the component for this Intent. |
Set a ClipData
associated with this Intent. This replaces any
previously set ClipData.
The ClipData in an intent is not used for Intent matching or other
such operations. Semantically it is like extras, used to transmit
additional data with the Intent. The main feature of using this over
the extras for data is that FLAG_GRANT_READ_URI_PERMISSION
and FLAG_GRANT_WRITE_URI_PERMISSION
will operate on any URI
items included in the clip data. This is useful, in particular, if
you want to transmit an Intent containing multiple content:
URIs for which the recipient may not have global permission to access the
content provider.
If the ClipData contains items that are themselves Intents, any grant flags in those Intents will be ignored. Only the top-level flags of the main Intent are respected, and will be applied to all Uri or Intent items in the clip (or sub-items of the clip).
The MIME type, label, and icon in the ClipData object are not directly used by Intent. Applications should generally rely on the MIME type of the Intent itself, not what it may find in the ClipData. A common practice is to construct a ClipData for use with an Intent with a MIME type of "*\/*".
clip | The new clip to set. May be null to clear the current clip. |
---|
(Usually optional) Explicitly set the component to handle the intent. If left with the default value of null, the system will determine the appropriate class to use based on the other fields (action, data, type, categories) in the Intent. If this class is defined, the specified class will always be used regardless of the other fields. You should only set this value when you know you absolutely want a specific class to be used; otherwise it is better to let the system find the appropriate class so that you will respect the installed applications and user preferences.
component | The name of the application component to handle the intent, or null to let the system find one for you. |
---|
Set the data this intent is operating on. This method automatically
clears any type that was previously set by setType(String)
or
setTypeAndNormalize(String)
.
Note: scheme matching in the Android framework is
case-sensitive, unlike the formal RFC. As a result,
you should always write your Uri with a lower case scheme,
or use normalizeScheme()
or
setDataAndNormalize(Uri)
to ensure that the scheme is converted to lower case.
data | The Uri of the data this intent is now targeting. |
---|
Normalize and set the data this intent is operating on.
This method automatically clears any type that was
previously set (for example, by setType(String)
).
The data Uri is normalized using
normalizeScheme()
before it is set,
so really this is just a convenience method for
setData(data.normalize())
data | The Uri of the data this intent is now targeting. |
---|
(Usually optional) Set the data for the intent along with an explicit MIME data type. This method should very rarely be used -- it allows you to override the MIME type that would ordinarily be inferred from the data with your own type given here.
Note: MIME type and Uri scheme matching in the
Android framework is case-sensitive, unlike the formal RFC definitions.
As a result, you should always write these elements with lower case letters,
or use normalizeMimeType(String)
or normalizeScheme()
or
setDataAndTypeAndNormalize(Uri, String)
to ensure that they are converted to lower case.
data | The Uri of the data this intent is now targeting. |
---|---|
type | The MIME type of the data being handled by this intent. |
(Usually optional) Normalize and set both the data Uri and an explicit MIME data type. This method should very rarely be used -- it allows you to override the MIME type that would ordinarily be inferred from the data with your own type given here.
The data Uri and the MIME type are normalize using
normalizeScheme()
and normalizeMimeType(String)
before they are set, so really this is just a convenience method for
setDataAndType(data.normalize(), Intent.normalizeMimeType(type))
data | The Uri of the data this intent is now targeting. |
---|---|
type | The MIME type of the data being handled by this intent. |
Sets the ClassLoader that will be used when unmarshalling any Parcelable values from the extras of this Intent.
loader | a ClassLoader, or null to use the default loader at the time of unmarshalling. |
---|
Set special flags controlling how this intent is handled. Most values
here depend on the type of component being executed by the Intent,
specifically the FLAG_ACTIVITY_* flags are all for use with
Context.startActivity()
and the
FLAG_RECEIVER_* flags are all for use with
Context.sendBroadcast()
.
See the Tasks and Back Stack documentation for important information on how some of these options impact the behavior of your application.
flags | The desired flags. |
---|
getFlags()
addFlags(int)
FLAG_GRANT_READ_URI_PERMISSION
FLAG_GRANT_WRITE_URI_PERMISSION
FLAG_DEBUG_LOG_RESOLUTION
FLAG_FROM_BACKGROUND
FLAG_ACTIVITY_BROUGHT_TO_FRONT
FLAG_ACTIVITY_CLEAR_TASK
FLAG_ACTIVITY_CLEAR_TOP
FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
FLAG_ACTIVITY_FORWARD_RESULT
FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
FLAG_ACTIVITY_MULTIPLE_TASK
FLAG_ACTIVITY_NEW_TASK
FLAG_ACTIVITY_NO_ANIMATION
FLAG_ACTIVITY_NO_HISTORY
FLAG_ACTIVITY_NO_USER_ACTION
FLAG_ACTIVITY_PREVIOUS_IS_TOP
FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
FLAG_ACTIVITY_REORDER_TO_FRONT
FLAG_ACTIVITY_SINGLE_TOP
FLAG_ACTIVITY_TASK_ON_HOME
FLAG_RECEIVER_REGISTERED_ONLY
(Usually optional) Set an explicit application package name that limits the components this Intent will resolve to. If left to the default value of null, all components in all applications will considered. If non-null, the Intent can only match the components in the given application package.
packageName | The name of the application package to handle the intent, or null to allow any application package. |
---|
Set a selector for this Intent. This is a modification to the kinds of things the Intent will match. If the selector is set, it will be used when trying to find entities that can handle the Intent, instead of the main contents of the Intent. This allows you build an Intent containing a generic protocol while targeting it more specifically.
An example of where this may be used is with things like
CATEGORY_APP_BROWSER
. This category allows you to build an
Intent that will launch the Browser application. However, the correct
main entry point of an application is actually ACTION_MAIN
CATEGORY_LAUNCHER
with setComponent(ComponentName)
used to specify the actual Activity to launch. If you launch the browser
with something different, undesired behavior may happen if the user has
previously or later launches it the normal way, since they do not match.
Instead, you can build an Intent with the MAIN action (but no ComponentName
yet specified) and set a selector with ACTION_MAIN
and
CATEGORY_APP_BROWSER
to point it specifically to the browser activity.
Setting a selector does not impact the behavior of
filterEquals(Intent)
and filterHashCode()
. This is part of the
desired behavior of a selector -- it does not impact the base meaning
of the Intent, just what kinds of things will be matched against it
when determining who can handle it.
You can not use both a selector and setPackage(String)
on
the same base Intent.
selector | The desired selector Intent; set to null to not use a special selector. |
---|
Set the bounds of the sender of this intent, in screen coordinates. This can be used as a hint to the receiver for animations and the like. Null means that there is no source bounds.
Set an explicit MIME data type.
This is used to create intents that only specify a type and not data, for example to indicate the type of data to return.
This method automatically clears any data that was
previously set (for example by setData(Uri)
).
Note: MIME type matching in the Android framework is
case-sensitive, unlike formal RFC MIME types. As a result,
you should always write your MIME types with lower case letters,
or use normalizeMimeType(String)
or setTypeAndNormalize(String)
to ensure that it is converted to lower case.
type | The MIME type of the data being handled by this intent. |
---|
Normalize and set an explicit MIME data type.
This is used to create intents that only specify a type and not data, for example to indicate the type of data to return.
This method automatically clears any data that was
previously set (for example by setData(Uri)
).
The MIME type is normalized using
normalizeMimeType(String)
before it is set,
so really this is just a convenience method for
setType(Intent.normalizeMimeType(type))
type | The MIME type of the data being handled by this intent. |
---|
Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:
getClass().getName() + '@' + Integer.toHexString(hashCode())
See Writing a useful
toString
method
if you intend implementing your own toString
method.
Convert this Intent into a String holding a URI representation of it.
The returned URI string has been properly URI encoded, so it can be
used with Uri.parse(String)
. The URI contains the
Intent's data as the base URI, with an additional fragment describing
the action, categories, type, flags, package, component, and extras.
You can convert the returned string back to an Intent with
getIntent(String)
.
flags | Additional operating flags. Either 0 or
URI_INTENT_SCHEME . |
---|
Flatten this object in to a Parcel.
out | The Parcel in which the object should be written. |
---|---|
flags | Additional flags about how the object should be written.
May be 0 or PARCELABLE_WRITE_RETURN_VALUE .
|