public class Intent
extends Object
implements Parcelable, Cloneable
java.lang.Object | |
↳ | android.content.Intent |
Known Direct Subclasses |
意图是要执行的操作的抽象描述。 它可以被用来startActivity
发动Activity
, broadcastIntent
将其发送给任何感兴趣的BroadcastReceiver
组件和startService(Intent)
或者bindService(Intent, ServiceConnection, int)
与背景进行沟通Service
。
Intent为在不同应用程序中的代码之间执行延迟的运行时绑定提供了一种工具。 其最重要的用途是开展活动,在活动中它可以被认为是活动之间的胶水。 它基本上是一个被动数据结构,它包含要执行的操作的抽象描述。
有关如何创建和解析意图的信息,请阅读 Intents and Intent Filters开发人员指南。
意图中的主要信息是:
动作 -要执行的一般操作,如 ACTION_VIEW
, ACTION_EDIT
, ACTION_MAIN
等
数据 - 用于操作的数据,例如联系人数据库中的人员记录,表示为 Uri
。
动作/数据对的一些示例是:
ACTION_VIEW
内容:// contacts / people / 1 - 显示关于标识符为“1”的人的信息。
ACTION_DIAL
content:// contacts / people / 1 - 显示与填写人员相关的电话拨号程序。
ACTION_VIEW
电话:123 - 显示填充了给定号码的电话拨号程序。请注意VIEW操作如何执行对特定URI最合理的操作。
ACTION_DIAL
电话:123 - 显示填入给定号码的电话拨号程序。
ACTION_EDIT
content:// contacts / people / 1 - 编辑关于标识符为“1”的人的信息。
ACTION_VIEW
content:// contacts / people / - 显示用户可以浏览的人员列表。 此示例是联系人应用程序的典型顶级条目,向您显示人员列表。 选择一个特定的人来查看会导致一个新的意图{ ACTION_VIEW
content:// contacts / N }被用来启动一个活动来显示该人。
除了这些主要属性外,还有一些辅助属性,您还可以将其包含在意图中:
类别 - 提供有关要执行的操作的附加信息。 例如, CATEGORY_LAUNCHER
表示它应该作为顶级应用程序出现在启动器中,而CATEGORY_ALTERNATIVE
表示它应该包含在用户可以在一段数据上执行的备用动作列表中。
type - 指定意图数据的显式类型(MIME类型)。 通常这种类型是从数据本身推断出来的。 通过设置此属性,可以禁用该评估并强制显式类型。
组件 - 指定用于意图的组件类的显式名称。 通常这是通过查看意图中的其他信息(操作,数据/类型和类别)并将其与可处理它的组件进行匹配来确定的。 如果设置了该属性,则不执行任何评估,并且该组件完全按照原样使用。 通过指定这个属性,所有其他的Intent属性变为可选的。
临时演员 - 这是任何其他信息的Bundle
。 这可以用来为组件提供扩展信息。 例如,如果我们有一个发送电子邮件的动作,我们也可以在这里包含额外的数据以提供主题,主体等。
以下是您可以使用这些附加参数指定为意向的其他操作的一些示例:
ACTION_MAIN
,类别CATEGORY_HOME
- 启动主屏幕。
ACTION_GET_CONTENT
,MIME类型vnd.android.cursor.item/phone
- 显示人员电话号码列表,允许用户浏览并选择一个并将其返回到父级活动。
ACTION_GET_CONTENT
MIME类型* / *和类别CATEGORY_OPENABLE
-显示所有选择器为能够与被打开数据ContentResolver.openInputStream()
,允许用户挑选它内部其中之一,然后一些数据,并返回所得到的URI给调用者。 例如,这可以用在电子邮件应用程序中,以允许用户选择一些数据作为附件。
Intent类中定义了各种标准的Intent动作和类别常量,但应用程序也可以定义它们自己的。 这些字符串使用Java风格范围,以确保它们是唯一的 - 例如,标准ACTION_VIEW
被称为“android.intent.action.VIEW”。
放在一起,这组动作,数据类型,类别和额外数据为系统定义了一种语言,允许表达短语,例如“call john smith's cell”。 随着应用程序被添加到系统中,他们可以通过添加新的动作,类型和类别来扩展该语言,或者通过提供处理它们的活动来修改现有短语的行为。
您将使用两种主要的意图形式。
显式意图指定了一个组件(通过setComponent(ComponentName)
或setClass(Context, Class
)
),它提供了要运行的确切类。 通常这些信息不会包含任何其他信息,只是作为用户与应用程序交互时应用程序启动各种内部活动的一种方式。
隐含意图没有指定一个组件; 相反,他们必须包含足够的信息,以确定哪些可用组件最适合该意图。
当使用隐式意图时,考虑到这种任意的意图,我们需要知道如何处理它。 这是通过意图的分辨率 ,这一个Intent映射到的进程处理Activity
, BroadcastReceiver
,或Service
(或有时两个或两个以上的活动/接收器),其可以处理它。
意图解析机制基本上围绕着将Intent与安装的应用程序包中的所有<intent-filter>描述进行匹配。 (另外,在广播的情况下,任何BroadcastReceiver
对象都明确注册为registerReceiver(BroadcastReceiver, IntentFilter)
)关于此的更多详细信息可以在IntentFilter
类的文档中找到。
Intent中有三个用于解析的信息:操作,类型和类别。 使用这些信息,在PackageManager
上查询可以处理意图的组件。 基于AndroidManifest.xml
文件中提供的意图信息确定适当的组件,如下所示:
该 操作 (如果提供)必须由组件列为其处理的组件。
如果尚未在Intent中提供该类型 ,则从Intent的数据中检索该类型 。 与动作一样,如果某个类型包含在意图中(显式或隐式地包含在其数据中),则该组件必须按组件列出该组件。
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. 这些类别 (如果提供)必须全部作为它处理的类别列出。 也就是说,如果您包含类别CATEGORY_LAUNCHER
和CATEGORY_ALTERNATIVE
,那么您只会解析意图列出这两个类别的组件。 活动通常需要支持CATEGORY_DEFAULT
以便通过Context.startActivity()
找到Context.startActivity()
。
例如,考虑Note Pad示例应用程序,该应用程序允许用户浏览笔记数据列表并查看有关各个项目的详细信息。 以斜体显示的文字表明您将用一个特定于您自己的软件包的名称替换某个名称。
<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>
第一项活动com.android.notepad.NotesList
是我们进入该应用的主要入口。 它可以完成三件事情,如其三个意向模板所述:
<intent-filter> <action android:name="android.intent.action.MAIN
" /> <category android:name="android.intent.category.LAUNCHER
" /> </intent-filter>
这为NotePad应用程序提供了一个顶层条目:标准MAIN操作是一个主要入口点(在Intent中不需要任何其他信息),并且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 android:mimeType="vnd.android.cursor.dir/vnd.google.note" /> </intent-filter>
这声明了活动可以在笔记目录上做的事情。 支持的类型由<type>标签给出,其中vnd.android.cursor.dir/vnd.google.note
是一个URI,从中可以检索包含零个或多个项目( vnd.android.cursor.dir
)的光标,它保存我们的记事本数据( vnd.google.note
)。 该活动允许用户查看或编辑数据目录(通过VIEW和EDIT操作),或选择特定的注释并将其返回给调用者(通过PICK操作)。 另请注意这里提供的DEFAULT类别:当Context.startActivity
方法未明确指定其组件名称时,这是解决您的活动所必需的。
<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>
此过滤器描述了向用户返回用户选择的记事而不需要知道其来自何处的功能。 数据类型vnd.android.cursor.item/vnd.google.note
是一个URI,从中可以检索到包含我们的记事本数据( vnd.google.note
)的正好一个( vnd.android.cursor.item
)项目的光标。 GET_CONTENT操作与PICK操作类似,其中活动将向用户返回由用户选择的一段数据。 然而,在这里,调用者指定他们想要的数据的类型,而不是用户将从中选择的数据的类型。
鉴于这些功能,以下意图将解析为NotesList活动:
{action = android.app.action.MAIN}匹配所有可用作应用程序顶级入口点的活动。
{action = android.app.action.MAIN,category = android.app.category.LAUNCHER}是Launcher用来填充顶级列表的实际意图。
{action = android.intent.action.VIEW data = content://com.google.provider.NotePad/notes}显示“content://com.google.provider.NotePad/notes”下所有注释的列表,用户可以浏览并查看详细信息。
{action = android.app.action.PICK data = content://com.google.provider.NotePad/notes}提供了“content://com.google.provider.NotePad/notes”下的注释列表,用户可以选择将其数据URL返回给调用者的便条。
{action = android.app.action.GET_CONTENT type = vnd.android.cursor.item / vnd.google.note}与pick动作类似,但允许调用者指定他们想要的数据类型,以便系统可以找到适当的活动来挑选某种数据类型。
第二个活动com.android.notepad.NoteEditor
向用户显示单个笔记条目并允许他们对其进行编辑。 它可以按照其两个意向模板所描述的做两件事:
<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>
此活动的第一个主要目的是让用户与单个笔记交互,如MIME类型vnd.android.cursor.item/vnd.google.note
。 该活动可以查看注释或允许用户编辑它。 我们再次支持DEFAULT类别以允许在没有明确指定其组件的情况下启动该活动。
<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>
此活动的次要用途是将新的笔记条目插入到现有的笔记目录中。 这在用户创建新注释时使用:INSERT操作在注释目录上执行,导致此活动运行并让用户创建新的注释数据,然后将其添加到内容提供者。
鉴于这些功能,以下意图将解决NoteEditor活动:
{action = android.intent.action.VIEW data = content://com.google.provider.NotePad/notes/ {ID} }向用户显示注释 {ID}的内容。
{action = android.app.action.EDIT data = content://com.google.provider.NotePad/notes/ {ID} }允许用户编辑注释 {ID}的内容。
{action = android.app.action.INSERT data = content://com.google.provider.NotePad/notes}在“content://com.google.provider.NotePad/”的注释列表中创建一个新的空白注释。笔记“并允许用户编辑它。 如果他们保留其更改,新创建的笔记的URI将返回给调用者。
最后的活动com.android.notepad.TitleEditor
允许用户编辑笔记的标题。 这可以作为应用程序直接调用的类来实现(通过在Intent中显式设置其组件),但是在这里我们展示了一种可以在现有数据上发布替代操作的方式:
<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>
在这里的单一意图模板中,我们创建了我们自己的私人操作,称为com.android.notepad.action.EDIT_TITLE
,这意味着编辑笔记的标题。 必须在特定注释(数据类型vnd.android.cursor.item/vnd.google.note
)上调用它,就像先前的查看和编辑操作一样,但此处显示和编辑注释数据中包含的标题。
除了像往常一样支持默认类别外,我们的标题编辑器还支持两种其他标准类别:ALTERNATIVE和SELECTED_ALTERNATIVE。 实现这些类别允许其他人通过queryIntentActivityOptions(ComponentName, Intent[], Intent, int)
方法找到它提供的特殊动作,而无需直接了解它,或者更经常地使用addIntentOptions(int, int, int, ComponentName, Intent[], Intent, int, MenuItem[])
构建动态菜单项。 请注意,在意向模板中,此处还为模板提供了一个明确的名称(通过android:label="@string/resolve_title"
),以便更好地控制用户看到此活动时看到的内容,作为他们正在查看的数据的替代操作。
鉴于这些功能,以下意图将解析为TitleEditor活动:
{action = com.android.notepad.action.EDIT_TITLE data = content://com.google.provider.NotePad/notes/ {ID} }会显示并允许用户编辑与备注 {ID}关联的标题。
这些是意图为启动活动定义的当前标准操作(通常通过 startActivity(Intent)
最重要的和最常用的是 ACTION_MAIN
和 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
这些是意图为接收广播定义的当前标准操作(通常通过 registerReceiver(BroadcastReceiver, IntentFilter)
或清单中的<receiver>标记)。
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_PACKAGES_SUSPENDED
ACTION_PACKAGES_UNSUSPENDED
ACTION_UID_REMOVED
ACTION_BATTERY_CHANGED
ACTION_POWER_CONNECTED
ACTION_POWER_DISCONNECTED
ACTION_SHUTDOWN
这些是目前可用于通过 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
这些是通过 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
这些是可通过setFlags(int)
和addFlags(int)
在Intent中使用的可能标志。 有关所有可能标志的列表,请参阅setFlags(int)
。
Nested classes |
|
---|---|
class |
Intent.FilterComparison 包装类持有一个意图和执行比较在过滤的目的。 |
class |
Intent.ShortcutIconResource 表示快捷方式/活动文件夹图标资源。 |
Inherited constants |
---|
From interface android.os.Parcelable
|
Fields |
|
---|---|
public static final Creator<Intent> |
CREATOR |
Public constructors |
|
---|---|
Intent() 创建一个空的意图。 |
|
Intent(Intent o) 复制构造函数。 |
|
Intent(String action) 用给定的动作创建一个意图。 |
|
Intent(String action, Uri uri) 用给定的动作和给定的数据url创建一个intent。 |
|
Intent(Context packageContext, Class<?> cls) 为特定组件创建一个意图。 |
|
Intent(String action, Uri uri, Context packageContext, Class<?> cls) 使用指定的操作和数据为特定组件创建一个意图。 |
Public methods |
|
---|---|
Intent |
addCategory(String category) 为意图添加一个新类别。 |
Intent |
addFlags(int flags) 为意图添加额外的标志(或与现有的标志值)。 |
Object |
clone() 创建并返回此对象的副本。 |
Intent |
cloneFilter() 仅对与过滤器匹配相关的Intent部分进行克隆:操作,数据,类型,组件和类别。 |
static Intent |
createChooser(Intent target, CharSequence title, IntentSender sender) 用于创建 |
static Intent |
createChooser(Intent target, CharSequence title) 用于创建 |
int |
describeContents() 描述此Parcelable实例的封送表示中包含的特殊对象的种类。 |
int |
fillIn(Intent other, int flags) 将 其他内容复制到此对象中,但仅限其中字段未由此对象定义的位置。 |
boolean |
filterEquals(Intent other) 确定两个意图是否相同意图解决(过滤)的目的。 |
int |
filterHashCode() 生成匹配filterEquals()的语义的哈希码。 |
String |
getAction() 检索要执行的一般操作,例如 |
boolean[] |
getBooleanArrayExtra(String name) 从意图中检索扩展数据。 |
boolean |
getBooleanExtra(String name, boolean defaultValue) 从意图中检索扩展数据。 |
Bundle |
getBundleExtra(String name) 从意图中检索扩展数据。 |
byte[] |
getByteArrayExtra(String name) 从意图中检索扩展数据。 |
byte |
getByteExtra(String name, byte defaultValue) 从意图中检索扩展数据。 |
Set<String> |
getCategories() 返回意图中所有类别的集合。 |
char[] |
getCharArrayExtra(String name) 从意图中检索扩展数据。 |
char |
getCharExtra(String name, char defaultValue) 从意图中检索扩展数据。 |
CharSequence[] |
getCharSequenceArrayExtra(String name) 从意图中检索扩展数据。 |
ArrayList<CharSequence> |
getCharSequenceArrayListExtra(String name) 从意图中检索扩展数据。 |
CharSequence |
getCharSequenceExtra(String name) 从意图中检索扩展数据。 |
ClipData |
getClipData() 返回与此意图关联的 |
ComponentName |
getComponent() 检索与意图关联的具体组件。 |
Uri |
getData() 检索这个意图所运行的数据。 |
String |
getDataString() 与 |
double[] |
getDoubleArrayExtra(String name) 从意图中检索扩展数据。 |
double |
getDoubleExtra(String name, double defaultValue) 从意图中检索扩展数据。 |
Bundle |
getExtras() 从意图中检索扩展数据的映射。 |
int |
getFlags() 检索任何与此意图相关的特殊标志。 |
float[] |
getFloatArrayExtra(String name) 从意图中检索扩展数据。 |
float |
getFloatExtra(String name, float defaultValue) 从意图中检索扩展数据。 |
int[] |
getIntArrayExtra(String name) 从意图中检索扩展数据。 |
int |
getIntExtra(String name, int defaultValue) 从意图中检索扩展数据。 |
ArrayList<Integer> |
getIntegerArrayListExtra(String name) 从意图中检索扩展数据。 |
static Intent |
getIntent(String uri) 此方法在API级别4中已弃用。请改为使用 |
static Intent |
getIntentOld(String uri) |
long[] |
getLongArrayExtra(String name) 从意图中检索扩展数据。 |
long |
getLongExtra(String name, long defaultValue) 从意图中检索扩展数据。 |
String |
getPackage() 检索此Intent仅限于的应用程序包名称。 |
Parcelable[] |
getParcelableArrayExtra(String name) 从意图中检索扩展数据。 |
<T extends Parcelable> ArrayList<T> |
getParcelableArrayListExtra(String name) 从意图中检索扩展数据。 |
<T extends Parcelable> T |
getParcelableExtra(String name) 从意图中检索扩展数据。 |
String |
getScheme() 返回意图数据的方案部分。 |
Intent |
getSelector() 返回与此Intent关联的特定选择器。 |
Serializable |
getSerializableExtra(String name) 从意图中检索扩展数据。 |
short[] |
getShortArrayExtra(String name) 从意图中检索扩展数据。 |
short |
getShortExtra(String name, short defaultValue) 从意图中检索扩展数据。 |
Rect |
getSourceBounds() 以屏幕坐标获取此意图发件人的界限。 |
String[] |
getStringArrayExtra(String name) 从意图中检索扩展数据。 |
ArrayList<String> |
getStringArrayListExtra(String name) 从意图中检索扩展数据。 |
String |
getStringExtra(String name) 从意图中检索扩展数据。 |
String |
getType() 检索意图中包含的任何显式MIME类型。 |
boolean |
hasCategory(String category) 检查意图中是否存在类别。 |
boolean |
hasExtra(String name) 如果额外值与给定名称相关联,则返回true。 |
boolean |
hasFileDescriptors() 如果Intent的extras包含一个parcel文件描述符,则返回true。 |
static Intent |
makeMainActivity(ComponentName mainActivity) 创建一个意图来启动任务的主(根)活动。 |
static Intent |
makeMainSelectorActivity(String selectorAction, String selectorCategory) 为应用程序的主要活动制定意图,而不指定要运行的特定活动,但要提供选择器以查找活动。 |
static Intent |
makeRestartActivityTask(ComponentName mainActivity) 制作可用于在基本状态下重新启动应用程序任务的意图。 |
static String |
normalizeMimeType(String type) 规范MIME数据类型。 |
static Intent |
parseIntent(Resources resources, XmlPullParser parser, AttributeSet attrs) 从XML解析“intent”元素(及其子元素)并实例化一个Intent对象。 |
static Intent |
parseUri(String uri, int flags) 从URI创建一个意图。 |
Intent |
putCharSequenceArrayListExtra(String name, ArrayList<CharSequence> value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, Parcelable value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, long[] value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, byte value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, double[] value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, CharSequence value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, boolean[] value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, int value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, char[] value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, byte[] value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, Parcelable[] value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, Bundle value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, CharSequence[] value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, float[] value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, double value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, int[] value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, String[] value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, short[] value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, boolean value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, String value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, long value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, char value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, Serializable value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, float value) 将扩展数据添加到意图。 |
Intent |
putExtra(String name, short value) 将扩展数据添加到意图。 |
Intent |
putExtras(Intent src) 将'src'中的所有附加内容复制到这个意图中。 |
Intent |
putExtras(Bundle extras) 为意图添加一组扩展数据。 |
Intent |
putIntegerArrayListExtra(String name, ArrayList<Integer> value) 将扩展数据添加到意图。 |
Intent |
putParcelableArrayListExtra(String name, ArrayList<? extends Parcelable> value) 将扩展数据添加到意图。 |
Intent |
putStringArrayListExtra(String name, ArrayList<String> value) 将扩展数据添加到意图。 |
void |
readFromParcel(Parcel in) |
void |
removeCategory(String category) 从意图中删除一个类别。 |
void |
removeExtra(String name) 从意图中删除扩展数据。 |
Intent |
replaceExtras(Intent src) 用Intent中的extras完全替换Intent中的extras。 |
Intent |
replaceExtras(Bundle extras) 用给定的附加组件完全替换Intent中的附加组件。 |
ComponentName |
resolveActivity(PackageManager pm) 返回应该用来处理这个意图的Activity组件。 |
ActivityInfo |
resolveActivityInfo(PackageManager pm, int flags) 将意图解析为描述应该执行意图的活动的 |
String |
resolveType(Context context) 返回此意图的MIME数据类型。 |
String |
resolveType(ContentResolver resolver) 返回此意图的MIME数据类型。 |
String |
resolveTypeIfNeeded(ContentResolver resolver) 仅当意图解析需要它时才返回此意图的MIME数据类型。 |
Intent |
setAction(String action) 设置要执行的一般操作。 |
Intent |
setClass(Context packageContext, Class<?> cls) 用 |
Intent |
setClassName(String packageName, String className) 使用显式的应用程序包名称和类名称调用 |
Intent |
setClassName(Context packageContext, String className) 使用明确的类名称调用 |
void |
setClipData(ClipData clip) 设置与此意图关联的 |
Intent |
setComponent(ComponentName component) (通常是可选的)显式设置组件来处理意图。 |
Intent |
setData(Uri data) 设置这个意图的数据。 |
Intent |
setDataAndNormalize(Uri data) 规范化并设置这个意图的数据。 |
Intent |
setDataAndType(Uri data, String type) (通常是可选的)设置intent的数据以及显式的MIME数据类型。 |
Intent |
setDataAndTypeAndNormalize(Uri data, String type) (通常是可选的)规范化并设置数据Uri和显式MIME数据类型。 |
void |
setExtrasClassLoader(ClassLoader loader) 设置将来自此Intent附加组件的任何Parcelable值解组时使用的ClassLoader。 |
Intent |
setFlags(int flags) 设置控制这个意图如何处理的特殊标志。 |
Intent |
setPackage(String packageName) (通常是可选的)设置一个明确的应用程序包名称,用于限制此Intent将解析的组件。 |
void |
setSelector(Intent selector) 为此Intent设置一个选择器。 |
void |
setSourceBounds(Rect r) 以屏幕坐标设置此意图发件人的边界。 |
Intent |
setType(String type) 设置一个显式的MIME数据类型。 |
Intent |
setTypeAndNormalize(String type) 规范化并设置显式的MIME数据类型。 |
String |
toString() 返回对象的字符串表示形式。 |
String |
toURI() 此方法在API级别4中已弃用。请改为使用 |
String |
toUri(int flags) 将此Intent转换为一个保存其URI表示的String。 |
void |
writeToParcel(Parcel out, int flags) 将此对象平铺到一个包裹中。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface android.os.Parcelable
|
String ACTION_AIRPLANE_MODE_CHANGED
广播动作:用户已将电话切换到飞行模式或从飞行模式切换出。 一个或多个无线电已关闭或打开。 意图将具有以下额外价值:
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.AIRPLANE_MODE”
String ACTION_ALL_APPS
活动行动:列出所有可用的应用程序
输入:没有。
输出:没有。
常量值:“android.intent.action.ALL_APPS”
String ACTION_ANSWER
活动行动:处理来电。
输入:没有。
输出:没有。
常量值:“android.intent.action.ANSWER”
String ACTION_APPLICATION_PREFERENCES
提供用于调整应用程序首选项的用户界面的活动。 所有具有设置的应用程序的可选但推荐的设置。
常量值:“android.intent.action.APPLICATION_PREFERENCES”
String ACTION_APPLICATION_RESTRICTIONS_CHANGED
广播动作:在应用程序限制改变后发送。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.APPLICATION_RESTRICTIONS_CHANGED”
String ACTION_APP_ERROR
活动行动:用户按下崩溃/ ANR对话框中的“报告”按钮。 这个意图被传送到安装该应用程序的软件包,通常是Google Play。
输入:没有指定数据。 错误报告使用EXTRA_BUG_REPORT
字段传入。
输出:没有。
也可以看看:
常量值:“android.intent.action.APP_ERROR”
String ACTION_ASSIST
活动操作:执行辅助操作。
输入: EXTRA_ASSIST_PACKAGE
, EXTRA_ASSIST_CONTEXT
,可以提供有关该用户是,当他们要求协助其他可选的上下文信息; EXTRA_REFERRER
可能会设置额外的引用信息。 输出:没有。
常量值:“android.intent.action.ASSIST”
String ACTION_ATTACH_DATA
用于指示某些数据应附加到某个其他位置。 例如,图像数据可以附加到联系人。 由接收方决定数据的附加位置; 意图没有指定最终目的地。
输入: getData()
是要附加的数据的URI。
输出:没有。
常量值:“android.intent.action.ATTACH_DATA”
String ACTION_BATTERY_CHANGED
广播动作:这是一个包含充电状态,电平和其他电池信息的粘性广播 。 有关意向内容的文档,请参阅BatteryManager
。
您无法通过在清单中声明的组件接收此内容,只能通过Context.registerReceiver()
明确注册。 见ACTION_BATTERY_LOW
, ACTION_BATTERY_OKAY
, ACTION_POWER_CONNECTED
和ACTION_POWER_DISCONNECTED
为被发送,并且可以通过清单接收机接收不同电池相关广播。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.BATTERY_CHANGED”
String ACTION_BATTERY_LOW
广播动作:表示设备电池电量不足。 该广播对应于“低电量警告”系统对话框。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.BATTERY_LOW”
String ACTION_BATTERY_OKAY
广播动作:表示电池电量低后即可使用。 一旦电池恢复到正常状态,将在ACTION_BATTERY_LOW
后发送。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.BATTERY_OKAY”
String ACTION_BOOT_COMPLETED
广播动作:在用户完成启动后,广播一次。 它可以用于执行特定于应用程序的初始化,例如安装警报。 您必须持有RECEIVE_BOOT_COMPLETED
权限才能接收此广播。
此广播在所有设备启动时发送(无论是否支持直接引导)。 收到此广播后,用户将被解锁,并且设备保护和凭证保护存储均可安全访问。
如果您需要在用户仍处于锁定状态时(在他们首次输入锁定模式或PIN之前)运行,则可以收听 ACTION_LOCKED_BOOT_COMPLETED
广播。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.BOOT_COMPLETED”
String ACTION_BUG_REPORT
活动行动:显示报告错误的活动。
输入:没有。
输出:没有。
常量值:“android.intent.action.BUG_REPORT”
String ACTION_CALL
活动操作:对由数据指定的某人进行呼叫。
输入:如果没有,则启动一个空的拨号程序; 否则getData()
是要拨打的电话号码的URI或显式电话号码的tel:URI。
输出:没有。
注意:哪些应用程序可以发起呼叫会受到限制; 大多数应用程序应该使用ACTION_DIAL
。
注意:此意图不能用于拨打紧急电话号码。 但是,应用程序可以使用ACTION_DIAL
拨打紧急号码。
注意:如果您的应用目标 M
及以上,并声明使用未授予的 CALL_PHONE
权限,则尝试使用此操作将导致 SecurityException
。
常量值:“android.intent.action.CALL”
String ACTION_CALL_BUTTON
活动动作:用户按下“呼叫”按钮可以拨打拨号程序或其他适当的用户界面来拨打电话。
输入:没有。
输出:没有。
常量值:“android.intent.action.CALL_BUTTON”
String ACTION_CAMERA_BUTTON
广播动作:按下“相机按钮”。 包含一个额外字段, EXTRA_KEY_EVENT
,其中包含导致广播的关键事件。
常量值:“android.intent.action.CAMERA_BUTTON”
String ACTION_CHOOSER
活动操作:显示活动选择器,允许用户在继续之前选择他们想要的内容。 当您尝试使用多个可能的匹配启动一个活动时,可以将其用作系统显示的标准活动选择器的替代方法,这些活动具有以下差异:
当用户自然期望选择活动以继续时,应使用此操作。 例如,如果不使用它,当用户点击“mailto:”链接时。 他们自然希望直接去他们的邮件应用程序,所以startActivity()应该被直接调用:它要么启动电流的首选应用,或者把一个对话框,允许用户选择一个应用程序来使用,并且可选标志着作为首选。
相反,如果用户正在选择一个菜单项来发送他们正在查看的图片,他们可能想要做的事情有很多不同之处:通过电子邮件发送,上传到Web服务,等等。在这种情况下,应该使用CHOOSER动作,总是向用户呈现他们可以做的事情的列表,并且具有由发话人给出的好标题,例如“发送此照片:”。
如果您需要通过选择器授予URI权限,则除了 EXTRA_INTENT 之外 ,还必须指定授予ACTION_CHOOSER意图的权限。 这意味着使用setClipData(ClipData)
来指定要授予的URI以及FLAG_GRANT_READ_URI_PERMISSION
和/或FLAG_GRANT_WRITE_URI_PERMISSION
。
为了方便起见,可以使用 createChooser(Intent, CharSequence)
函数创建此表单的意图。
输入:不应指定数据。 get * Extra必须包含一个包含正在执行的Intent的EXTRA_INTENT
字段,并且可以有选择地使EXTRA_TITLE
字段包含要在选择器中显示的标题文本。
输出:取决于 EXTRA_INTENT
的协议。
常量值:“android.intent.action.CHOOSER”
String ACTION_CLOSE_SYSTEM_DIALOGS
广播动作:当用户动作应该请求临时系统对话框消除时广播。 临时系统对话框的一些示例是通知窗口阴影和最近的任务对话框。
常量值:“android.intent.action.CLOSE_SYSTEM_DIALOGS”
String ACTION_CONFIGURATION_CHANGED
广播动作:当前设备Configuration
(方向,区域设置等)已更改。 发生这种变化时,UI(视图层次)需要根据这些新信息进行重建; 大多数情况下,应用程序不需要担心这一点,因为系统会负责停止并重新启动应用程序,以确保它看到新的更改。 某些无法重新启动的系统代码需要监视此操作并进行适当的处理。
您 无法通过在清单中声明的组件接收此内容,只能通过 Context.registerReceiver()
明确注册。
这是一个受保护的意图,只能由系统发送。
也可以看看:
常量值:“android.intent.action.CONFIGURATION_CHANGED”
String ACTION_CREATE_DOCUMENT
活动操作:允许用户创建新文档。 当被调用时,系统将显示设备上安装的各种DocumentsProvider
实例,让用户浏览它们。 返回的文档可能是没有内容的新创建的文档,也可能是具有所请求的MIME类型的现有文档。
每个文档被表示为 content://
URI由支持 DocumentsProvider
,其可与被打开以流 openFileDescriptor(Uri, String)
,或用于查询 DocumentsContract.Document
的元数据。
setType(String)
者必须通过设置setType(String)
来指示正在创建的文档的具体MIME类型。 在创建文档后,此MIME类型无法更改。
呼叫者可以通过 EXTRA_TITLE
提供初始显示名称,但用户可以在创建文件前更改此值。
CATEGORY_OPENABLE
者必须在Intent中包含 CATEGORY_OPENABLE
以获取可以用 openFileDescriptor(Uri, String)
打开的URI。
输出:创建的项目的URI。 这必须是一个content://
URI,以便任何接收者都可以访问它。
也可以看看:
常量值:“android.intent.action.CREATE_DOCUMENT”
String ACTION_CREATE_SHORTCUT
活动动作:创建一个快捷方式。
输入:没有。
输出:表示快捷方式的意图。 意图必须包含三个附加信息:SHORTCUT_INTENT(value:Intent),SHORTCUT_NAME(value:String)和SHORTCUT_ICON(value:Bitmap)或SHORTCUT_ICON_RESOURCE(value:ShortcutIconResource)。
也可以看看:
常量值:“android.intent.action.CREATE_SHORTCUT”
String ACTION_DATE_CHANGED
广播动作:日期已更改。
常量值:“android.intent.action.DATE_CHANGED”
String ACTION_DEFAULT
ACTION_VIEW
的同义词,是对一段数据执行的“标准”操作。
常量值:“android.intent.action.VIEW”
String ACTION_DELETE
活动操作:从其容器中删除给定的数据。
输入: getData()
是要删除的数据的URI。
输出:没有。
常量值:“android.intent.action.DELETE”
String ACTION_DEVICE_STORAGE_LOW
广播动作:指示设备内存条件不足的粘性广播
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.DEVICE_STORAGE_LOW”
String ACTION_DEVICE_STORAGE_OK
广播动作:表示设备上的低内存条件不再存在
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.DEVICE_STORAGE_OK”
String ACTION_DIAL
活动操作:拨打数据中指定的号码。 这显示了一个用户正在拨打的号码,允许用户明确发起呼叫。
输入:如果没有,则启动一个空的拨号程序; 否则getData()
是要拨打的电话号码的URI或显式电话号码的tel:URI。
输出:没有。
常量值:“android.intent.action.DIAL”
String ACTION_DOCK_EVENT
广播动作:对设备的物理对接状态进行更改的粘性广播。
意图将具有以下额外的值:
EXTRA_DOCK_STATE
- the current dock state, indicating which dock the device is physically in.这旨在用于监视当前的物理坞站状态。 有关处理码头模式更改的正常API,请参阅UiModeManager
。
常量值:“android.intent.action.DOCK_EVENT”
String ACTION_DREAMING_STARTED
广播动作:系统开始做梦后发送。
这是一个受保护的意图,只能由系统发送。 它只被发送给注册的接收者。
常量值:“android.intent.action.DREAMING_STARTED”
String ACTION_DREAMING_STOPPED
广播动作:在系统停止梦中之后发送。
这是一个受保护的意图,只能由系统发送。 它只被发送给注册的接收者。
常量值:“android.intent.action.DREAMING_STOPPED”
String ACTION_EDIT
活动操作:提供对给定数据的显式可编辑访问。
输入: getData()
是要编辑的数据的URI。
输出:没有。
常量值:“android.intent.action.EDIT”
String ACTION_EXTERNAL_APPLICATIONS_AVAILABLE
广播动作:由于存在的媒体可用,因此一组包(以前不可用)的资源当前可用。 额外数据EXTRA_CHANGED_PACKAGE_LIST
包含可用性更改的软件包列表。 额外数据EXTRA_CHANGED_UID_LIST
包含可用性更改的软件包的uid列表。 请注意,此列表中的软件包不会收到此广播。 系统现在可以使用指定的一组软件包。
包括以下附加内容:
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. 这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE”
String ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE
广播动作:由于存在的媒体不可用,因此一组包的资源当前不可用。 额外数据EXTRA_CHANGED_PACKAGE_LIST
包含可用性更改的软件包列表。 额外数据EXTRA_CHANGED_UID_LIST
包含可用性更改的包的uid列表。 指定的软件包集不能再启动,并且在系统上几乎不可用。
包含以下附加内容:
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. 这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE”
String ACTION_FACTORY_TEST
活动行动:工厂测试的主要入口点。 仅在设备在工厂测试节点中引导时使用。 实施包必须安装在系统映像中。
输入:没有
输出:没有
常量值:“android.intent.action.FACTORY_TEST”
String ACTION_GET_CONTENT
活动操作:允许用户选择特定类型的数据并将其返回。 这与ACTION_PICK
不同,因为这里我们只是说需要什么类型的数据,而不是用户可以从中选择的现有数据的URI。 ACTION_GET_CONTENT可以允许用户在运行时创建数据(例如拍摄照片或录制声音),让他们浏览网页并下载所需的数据等。
有两种主要方式可以使用此操作:如果您需要某种特定类型的数据(如联系人),请将MIME类型设置为所需的数据类型,然后使用startActivity(Intent)
启动它。 然后系统将启动最佳应用程序为您选择这种数据。
您也可能对用户可以选择的任何一组内容感兴趣。 例如,希望允许用户将附件添加到电子邮件消息的电子邮件应用程序可以使用此操作来调出用户可以附加的所有类型内容的列表。
在这种情况下,您应该使用选择器(通过createChooser(Intent, CharSequence)
)包装createChooser(Intent, CharSequence)
意图,这将为用户提供适当的界面,以便选择如何发送数据并允许您指定提示,指明他们正在做什么。 您通常会指定一个广泛的MIME类型(如image / *或* / *),从而导致用户可以从中选择多种内容类型。
当使用如此广泛的GET_CONTENT操作时,通常只需从可以表示为流的数据中进行选择。 这是通过要求Intent中的CATEGORY_OPENABLE
完成的。
EXTRA_LOCAL_ONLY
者可以选择指定EXTRA_LOCAL_ONLY
来请求启动的内容选择器仅返回表示设备本地可用的数据的结果。 例如,如果此额外设置为true,则图像选择器不应显示可从远程服务器获得但尚未在本地设备上的任何图片(因此需要在打开时下载它们)。
如果调用者可以处理多个返回的项目(用户执行多项选择),那么它可以指定 EXTRA_ALLOW_MULTIPLE
来指示这一点。
输入: getType()
是要检索的所需MIME类型。 请注意,在意图中没有提供URI,因为返回的数据最初来自哪里没有限制。 如果您只能接受可作为流打开的数据,则还可以包含CATEGORY_OPENABLE
。 您可以使用EXTRA_LOCAL_ONLY
将内容选择限制为本地数据。 您可以使用EXTRA_ALLOW_MULTIPLE
来允许用户选择多个项目。
输出:选取的项目的URI。 这必须是一个content:URI,以便任何接收者都可以访问它。
常量值:“android.intent.action.GET_CONTENT”
String ACTION_GET_RESTRICTION_ENTRIES
广播到特定的应用程序以查询受限制用户受到的任何支持限制。 广播意图包含一个额外的EXTRA_RESTRICTIONS_BUNDLE
,当前持久限制作为一组键/值对。 值类型可以是Boolean,String或String [],具体取决于限制类型。
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.
也可以看看:
常量值:“android.intent.action.GET_RESTRICTION_ENTRIES”
String ACTION_GTALK_SERVICE_CONNECTED
广播动作:GTalk连接已建立。
常量值:“android.intent.action.GTALK_CONNECTED”
String ACTION_GTALK_SERVICE_DISCONNECTED
广播动作:GTalk连接已断开。
常量值:“android.intent.action.GTALK_DISCONNECTED”
String ACTION_HEADSET_PLUG
广播动作:插入有线耳机或拔下插头。 与ACTION_HEADSET_PLUG
相同,需要咨询价值和文档。
如果您的应用程序的最低SDK版本为 LOLLIPOP
,则建议在您的接收器注册码中引用 AudioManager
常数。
常量值:“android.intent.action.HEADSET_PLUG”
String ACTION_INPUT_METHOD_CHANGED
广播动作:输入法已更改。
常量值:“android.intent.action.INPUT_METHOD_CHANGED”
String ACTION_INSERT
活动操作:将空项目插入给定的容器中。
输入: getData()
是放置数据的目录(vnd.android.cursor.dir / *)的URI。
输出:已创建的新数据的URI。
常量值:“android.intent.action.INSERT”
String ACTION_INSERT_OR_EDIT
活动操作:选取现有项目或插入新项目,然后对其进行编辑。
输入: getType()
是要创建或编辑的项目的所需MIME类型。 附加内容可以包含类型特定的数据以传递给编辑/创建活动。
输出:选取的项目的URI。 这必须是一个content:URI,以便任何接收者都可以访问它。
常量值:“android.intent.action.INSERT_OR_EDIT”
String ACTION_INSTALL_PACKAGE
活动操作:启动应用程序安装程序。
输入:数据必须是可以检索应用程序的content:或file:URI。 从JELLY_BEAN_MR1
,你也可以使用“package:
EXTRA_INSTALLER_PACKAGE_NAME
, EXTRA_NOT_UNKNOWN_SOURCE
, EXTRA_ALLOW_REPLACE
,并EXTRA_RETURN_RESULT
。
输出:如果 EXTRA_RETURN_RESULT
,则返回安装是否成功。
注意:如果您的应用的API级别高于22,则需要保留 REQUEST_INSTALL_PACKAGES
才能启动应用安装程序。
常量值:“android.intent.action.INSTALL_PACKAGE”
String ACTION_LOCALE_CHANGED
广播动作:当前设备的区域设置已更改。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.LOCALE_CHANGED”
String ACTION_LOCKED_BOOT_COMPLETED
广播动作:在用户完成引导后,它仍会处于“锁定”状态,广播一次。 它可以用于执行特定于应用程序的初始化,例如安装警报。 您必须持有RECEIVE_BOOT_COMPLETED
权限才能接收此广播。
广播在所有设备启动时立即发送(不管直接引导支持)运行N
或更高。 收到此广播后,用户仍处于锁定状态,只能安全访问受设备保护的存储。 如果您想访问凭证保护存储,则需要等待用户解锁(通常是首次输入锁定模式或PIN码),然后发送ACTION_USER_UNLOCKED
和ACTION_BOOT_COMPLETED
广播。
要接收此广播,您的接收器组件必须标记为 directBootAware
。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.LOCKED_BOOT_COMPLETED”
String ACTION_MAIN
活动行动:作为主入口点开始,不期望接收数据。
输入:没有
输出:没有
常量值:“android.intent.action.MAIN”
String ACTION_MANAGED_PROFILE_ADDED
当添加了关联的托管配置文件(配置文件已创建并可以使用)时,将广播发送给主用户。 携带额外的EXTRA_USER
,指定已添加的配置文件的UserHandle。 只有需要在主要配置文件和托管配置文件中显示合并内容的应用程序(例如启动器)需要担心此广播。 这只会发送给注册的接收者,而不是接收者。
常量值:“android.intent.action.MANAGED_PROFILE_ADDED”
String ACTION_MANAGED_PROFILE_AVAILABLE
当关联的托管配置文件可用时,将广播发送给主用户。 目前这包括用户何时禁用配置文件的安静模式。 携带额外的EXTRA_USER
,指定配置文件的UserHandle。 当安静模式改变时,该广播将携带布尔额外EXTRA_QUIET_MODE
指示安静模式的新状态。 这只会发送给注册的接收者,而不是接收者。
常量值:“android.intent.action.MANAGED_PROFILE_AVAILABLE”
String ACTION_MANAGED_PROFILE_REMOVED
当关联的托管配置文件被删除时,将广播发送给主用户。 携带额外的EXTRA_USER
,指定已删除配置文件的UserHandle。 只有需要在主要配置文件和托管配置文件中显示合并内容的应用程序(例如启动器)需要担心此广播。 这只会发送给注册的接收者,而不是接收者。
常量值:“android.intent.action.MANAGED_PROFILE_REMOVED”
String ACTION_MANAGED_PROFILE_UNAVAILABLE
当关联的托管配置文件变得不可用时,将广播发送给主用户。 目前这包括用户何时启用配置文件的安静模式。 携带额外的EXTRA_USER
,用于指定配置文件的UserHandle。 当安静模式改变时,该广播将携带布尔额外EXTRA_QUIET_MODE
指示安静模式的新状态。 这只会发送给注册的接收者,而不是接收者。
常量值:“android.intent.action.MANAGED_PROFILE_UNAVAILABLE”
String ACTION_MANAGED_PROFILE_UNLOCKED
当关联的托管配置文件的凭证加密专用存储解锁时,将广播发送给主用户。 携带额外的EXTRA_USER
,指定已解锁的配置文件的UserHandle。 只有需要在主要配置文件和托管配置文件中显示合并内容的应用程序(例如启动器)需要担心此广播。 这只会发送给注册的接收者,而不是接收者。
常量值:“android.intent.action.MANAGED_PROFILE_UNLOCKED”
String ACTION_MANAGE_NETWORK_USAGE
活动操作:显示用于管理特定应用程序的网络数据使用情况的设置。 应用程序应该定义一个活动,提供控制数据使用的选项。
常量值:“android.intent.action.MANAGE_NETWORK_USAGE”
String ACTION_MANAGE_PACKAGE_STORAGE
广播操作:表示用户确认的内存不足情况通知,应启动包管理。 这是由ACTION_DEVICE_STORAGE_LOW通知中的用户触发的。
常量值:“android.intent.action.MANAGE_PACKAGE_STORAGE”
String ACTION_MEDIA_BAD_REMOVAL
广播动作:外部媒体已从SD卡插槽中移除,但未装入挂载点。 Intent.mData字段中包含已移除介质的装入点路径。
常量值:“android.intent.action.MEDIA_BAD_REMOVAL”
String ACTION_MEDIA_BUTTON
广播动作:按下“媒体按钮”。 包括一个额外的字段, EXTRA_KEY_EVENT
,其中包含导致广播的关键事件。
常量值:“android.intent.action.MEDIA_BUTTON”
String ACTION_MEDIA_CHECKING
广播动作:存在外部媒体并进行磁盘检查检查媒体的安装点路径包含在Intent.mData字段中。
常量值:“android.intent.action.MEDIA_CHECKING”
String ACTION_MEDIA_EJECT
广播行动:用户表示希望移除外部存储媒体。 当他们收到这个意图时,应用程序应该关闭它们在安装点内打开的所有文件。 Intent.mData字段中包含要弹出媒体的装入点的路径。
常量值:“android.intent.action.MEDIA_EJECT”
String ACTION_MEDIA_MOUNTED
广播动作:外部媒体存在并安装在其安装点。 Intent.mData字段中包含挂载媒体的装入点路径。 Intent包含一个额外的名称为“只读”和布尔值,以指示媒体是否已安装为只读。
常量值:“android.intent.action.MEDIA_MOUNTED”
String ACTION_MEDIA_NOFS
广播动作:存在外部媒体,但使用的是不兼容的fs(或为空)检查媒体的安装点路径包含在Intent.mData字段中。
常量值:“android.intent.action.MEDIA_NOFS”
String ACTION_MEDIA_REMOVED
广播动作:外部媒体已被删除。 Intent.mData字段中包含已移除介质的装入点路径。
常量值:“android.intent.action.MEDIA_REMOVED”
String ACTION_MEDIA_SCANNER_FINISHED
广播动作:媒体扫描器已完成扫描目录。 Intent.mData字段包含扫描目录的路径。
常量值:“android.intent.action.MEDIA_SCANNER_FINISHED”
String ACTION_MEDIA_SCANNER_SCAN_FILE
广播动作:要求媒体扫描器扫描文件并将其添加到媒体数据库。 该文件的路径包含在Intent.mData字段中。
常量值:“android.intent.action.MEDIA_SCANNER_SCAN_FILE”
String ACTION_MEDIA_SCANNER_STARTED
广播操作:媒体扫描器已开始扫描目录。 Intent.mData字段包含要扫描目录的路径。
常量值:“android.intent.action.MEDIA_SCANNER_STARTED”
String ACTION_MEDIA_SHARED
广播动作:由于正在通过USB大容量存储器共享外部媒体,因此未安装。 Intent.mData字段中包含共享媒体的安装点路径。
常量值:“android.intent.action.MEDIA_SHARED”
String ACTION_MEDIA_UNMOUNTABLE
广播动作:外部媒体存在但无法安装。 Intent.mData字段中包含无法装入介质的装入点路径。
常量值:“android.intent.action.MEDIA_UNMOUNTABLE”
String ACTION_MEDIA_UNMOUNTED
广播动作:外部媒体存在,但未安装在其挂载点。 Intent.mData字段中包含卸载媒体的装入点路径。
常量值:“android.intent.action.MEDIA_UNMOUNTED”
String ACTION_MY_PACKAGE_REPLACED
广播动作:您的应用程序的新版本已安装在现有应用程序上。 这只会发送到被替换的应用程序。 它不包含任何额外的数据; 要接收它,只需使用意向过滤器来执行此操作。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.MY_PACKAGE_REPLACED”
String ACTION_NEW_OUTGOING_CALL
广播动作:即将拨出电话。
意图将具有以下额外价值:
EXTRA_PHONE_NUMBER
- the phone number originally intended to be dialed.广播完成后,resultData将用作实际要拨打的号码。 如果null
,则不会发出呼叫。
多个接收器轮流处理呼出是完全可以接受的:例如,家长控制应用程序可能会验证用户是否有权在此时发出呼叫,然后数字重写应用程序可能会添加区号(如果有的话)没有被指定。
为了保持一致性,任何目的在于禁止拨打电话的接收方应该优先级为0,以确保它能看到最后拨打的电话号码。 任何接收者的目的是重写要拨打的电话号码应该是一个积极的优先事项。 为此广播保留负面优先权给系统; 使用它们可能会导致问题。
任何接收此Intent的BroadcastReceiver 不得中止广播。
使用这种机制不能拦截紧急呼叫,而其他呼叫不能被修改为使用此机制呼叫紧急号码。
某些应用程序(如VoIP应用程序)可能希望将传出呼叫重定向为使用自己的服务。 这些应用程序首先应该通过将resultData设置为null
,然后启动他们自己的应用程序来进行呼叫,从而阻止呼叫被放置。
您必须持有 PROCESS_OUTGOING_CALLS
许可才能接收此意向。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.NEW_OUTGOING_CALL”
String ACTION_OPEN_DOCUMENT
活动操作:允许用户选择并返回一个或多个现有文档。 被调用时,系统将显示设备上安装的各种DocumentsProvider
实例,让用户以交互方式浏览它们。 这些文档包括本地媒体,如照片和视频,以及由安装的云存储提供商提供的文档。
每个文档被表示为 content://
URI由支持 DocumentsProvider
,其可与被打开以流 openFileDescriptor(Uri, String)
,或用于查询 DocumentsContract.Document
的元数据。
所有选定的文档都会返回到调用应用程序,并具有持久的读取和写入权限。 如果您希望在设备重启时保持对文档的访问权限,则需要使用takePersistableUriPermission(Uri, int)
明确获取持久性权限。
setType(String)
者必须通过setType(String)
指出可接受的文档MIME类型。 例如,要选择照片,请使用image/*
。 如果可接受多个不相关的MIME类型,请将它们定义为* / *,其中EXTRA_MIME_TYPES
和setType(String)
。
如果调用者可以处理多个返回的项目(用户执行多项选择),那么您可以指定 EXTRA_ALLOW_MULTIPLE
来指明这一点。
CATEGORY_OPENABLE
者必须在Intent中包含 CATEGORY_OPENABLE
以获取可以用 openFileDescriptor(Uri, String)
打开的URI。
输出:选取的项目的URI,返回getData()
。 这必须是一个content://
URI,以便任何接收者都可以访问它。 如果选择了多个文档,则返回getClipData()
。
也可以看看:
常量值:“android.intent.action.OPEN_DOCUMENT”
String ACTION_OPEN_DOCUMENT_TREE
活动操作:允许用户选择目录子树。 当被调用时,系统将显示设备上安装的各种DocumentsProvider
实例,让用户浏览它们。 应用程序可以完全管理返回目录中的文档。
要获得对子孙(儿童,孙子等)文档的访问权限, buildDocumentUriUsingTree(Uri, String)
和 buildChildDocumentsUriUsingTree(Uri, String)
与返回的URI一起使用。
输出:代表所选目录树的URI。
也可以看看:
常量值:“android.intent.action.OPEN_DOCUMENT_TREE”
String ACTION_PACKAGES_SUSPENDED
广播行动:套餐已被暂停。
包括以下附加内容:
EXTRA_CHANGED_PACKAGE_LIST
is the set of packages which have been suspended 这是一个受保护的意图,只能由系统发送。 它只被发送给注册的接收者。
常量值:“android.intent.action.PACKAGES_SUSPENDED”
String ACTION_PACKAGES_UNSUSPENDED
广播动作:包已被取消挂起。
包括以下附加内容:
EXTRA_CHANGED_PACKAGE_LIST
is the set of packages which have been unsuspended 这是一个受保护的意图,只能由系统发送。 它只被发送给注册的接收者。
常量值:“android.intent.action.PACKAGES_UNSUSPENDED”
String ACTION_PACKAGE_ADDED
广播动作:设备上已安装新的应用程序包。 数据包含软件包的名称。 请注意,新安装的软件包不会收到该广播。
可能包括以下附加内容:
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. 这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.PACKAGE_ADDED”
String ACTION_PACKAGE_CHANGED
广播操作:现有应用程序包已更改(例如,组件已启用或禁用)。 数据包含软件包的名称。
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. 这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.PACKAGE_CHANGED”
String ACTION_PACKAGE_DATA_CLEARED
广播动作:用户清除了包裹的数据。 这之前应该有ACTION_PACKAGE_RESTARTED
,之后所有持久数据都将被删除并发送此广播。 请注意,清除包不会收到该广播。 数据包含软件包的名称。
EXTRA_UID
containing the integer uid assigned to the package. 这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.PACKAGE_DATA_CLEARED”
String ACTION_PACKAGE_FIRST_LAUNCH
广播动作:当应用程序第一次启动时(即第一次将其移出停止状态)发送到应用程序的安装程序包。 数据包含软件包的名称。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.PACKAGE_FIRST_LAUNCH”
String ACTION_PACKAGE_FULLY_REMOVED
广播操作:现有应用程序包已从设备中完全删除。 数据包含软件包的名称。 这就像ACTION_PACKAGE_REMOVED
,但是只有当EXTRA_DATA_REMOVED
为真,并且EXTRA_REPLACING
对该广播为假时才设置。
EXTRA_UID
containing the integer uid previously assigned to the package. 这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.PACKAGE_FULLY_REMOVED”
String ACTION_PACKAGE_INSTALL
此常数在API级别14中已弃用。
这个常数从未被使用过。
广播动作:触发包的下载和最终安装。
输入: getData()
是要下载的软件包文件的URI。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.PACKAGE_INSTALL”
String ACTION_PACKAGE_NEEDS_VERIFICATION
广播操作:当需要验证包时,发送给系统包验证器。 数据包含包URI。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.PACKAGE_NEEDS_VERIFICATION”
String ACTION_PACKAGE_REMOVED
广播动作:现有应用程序包已从设备中删除。 数据包含软件包的名称。 正在被移除的软件包未收到此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. 这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.PACKAGE_REMOVED”
String ACTION_PACKAGE_REPLACED
广播动作:安装了新版本的应用程序包,取代之前安装的现有版本。 数据包含软件包的名称。
可能包括以下附加内容:
EXTRA_UID
containing the integer uid assigned to the new package. 这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.PACKAGE_REPLACED”
String ACTION_PACKAGE_RESTARTED
广播动作:用户重新启动了一个包,并且其所有进程都被终止了。 与它相关的所有运行时状态(进程,警报,通知等)都应该被删除。 请注意,重新启动的程序包不会收到该广播。 数据包含软件包的名称。
EXTRA_UID
containing the integer uid assigned to the package. 这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.PACKAGE_RESTARTED”
String ACTION_PACKAGE_VERIFIED
广播动作:当一个包被验证时发送给系统包验证器。 数据包含包URI。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.PACKAGE_VERIFIED”
String ACTION_PASTE
活动操作:在给定容器中创建一个新项目,从剪贴板的当前内容初始化它。
输入: getData()
是放置数据的目录(vnd.android.cursor.dir / *)的URI。
输出:已创建的新数据的URI。
常量值:“android.intent.action.PASTE”
String ACTION_PICK
活动操作:从数据中选择一个项目,返回所选内容。
输入: getData()
是包含从中选取项目的数据目录(vnd.android.cursor.dir / *)的URI。
输出:选取的项目的URI。
常量值:“android.intent.action.PICK”
String ACTION_PICK_ACTIVITY
活动动作:选择一个有意向的活动,返回选定的类。
输入:get *额外字段 EXTRA_INTENT
是与 queryIntentActivities(Intent, int)
一起使用的Intent,用于确定要从中选择的活动集。
输出:所选活动的类别名称。
常量值:“android.intent.action.PICK_ACTIVITY”
String ACTION_POWER_CONNECTED
广播动作:外部电源已连接至设备。 这适用于希望专门注册此通知的应用程序。 与ACTION_BATTERY_CHANGED不同,应用程序将被唤醒,因此无需保持活动状态即可接收此通知。 这个动作可以用来实现等待直到可以触发电源的动作。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.ACTION_POWER_CONNECTED”
String ACTION_POWER_DISCONNECTED
广播动作:外部电源已从设备中删除。 这适用于希望专门注册此通知的应用程序。 与ACTION_BATTERY_CHANGED不同,应用程序将被唤醒,因此无需保持活动状态即可接收此通知。 这个动作可以用来实现等待直到可以触发电源的动作。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.ACTION_POWER_DISCONNECTED”
String ACTION_POWER_USAGE_SUMMARY
活动操作:向用户显示用电信息。
输入:没有。
输出:没有。
常量值:“android.intent.action.POWER_USAGE_SUMMARY”
String ACTION_PROCESS_TEXT
活动动作:处理一段文字。
输入: EXTRA_PROCESS_TEXT
包含要处理的文本。 EXTRA_PROCESS_TEXT_READONLY
指出结果文本是否为只读。
输出: EXTRA_PROCESS_TEXT
包含处理的文本。
常量值:“android.intent.action.PROCESS_TEXT”
String ACTION_PROVIDER_CHANGED
广播行动:一些内容提供者在他们的名字空间的某些部分发布用户可能特别感兴趣的新事件或项目。对于这些事情,当一组感兴趣的项目改变时,他们可以广播该行为。 例如,当收件箱中的一组未读邮件发生更改时,GmailProvider会发送此通知。
意图的数据标识哪个提供者的哪个部分改变了。 当通过内容解析器查询时,数据URI将返回有问题的数据集。
意图将具有以下额外的值:
常量值:“android.intent.action.PROVIDER_CHANGED”
String ACTION_QUICK_CLOCK
当用户点击系统“快速设置”区域中的时钟小部件时发送。
常量值:“android.intent.action.QUICK_CLOCK”
String ACTION_QUICK_VIEW
活动行动:快速查看数据。 为URI或URI列表启动快速查看器。
处理此意图操作的活动应该处理绝大多数MIME类型,而不仅仅是特定的MIME类型。
输入: getData()
是要预览的项目的强制内容URI。 如果有多个项目要预览,则getClipData()
包含内容URI的可选列表。 EXTRA_INDEX
是首先显示的剪辑数据中URI的可选索引。
输出:没有。
常量值:“android.intent.action.QUICK_VIEW”
String ACTION_REBOOT
广播动作:让设备重新启动。 这仅供系统代码使用。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.REBOOT”
String ACTION_RUN
活动行动:无论如何运行数据。
输入:? (注意:这是当前特定于测试工具的。)
输出:没有。
常量值:“android.intent.action.RUN”
String ACTION_SCREEN_OFF
广播动作:在设备进入睡眠状态并变为非交互式时发送。
由于历史原因,此广播操作的名称是指屏幕的电源状态,但实际上是为了响应设备整体交互状态的变化而发送的。
当设备变为非交互式时可以发送该广播,这可能与屏幕关闭无关。 要确定屏幕的实际状态,请使用getState()
。
有关详细信息,请参阅 isInteractive()
。
Context.registerReceiver()
.
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.SCREEN_OFF”
String ACTION_SCREEN_ON
广播动作:当设备醒来并变为互动时发送。
由于历史原因,此广播操作的名称是指屏幕的电源状态,但实际上是为了响应设备整体交互状态的变化而发送的。
当设备变为交互式时可以发送该广播,这可能与屏幕打开无关。 要确定屏幕的实际状态,请使用getState()
。
详情请参阅 isInteractive()
。
Context.registerReceiver()
.
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.SCREEN_ON”
String ACTION_SEARCH
活动操作:执行搜索。
输入: getStringExtra(SearchManager.QUERY)
是要搜索的文本。 如果为空,只需输入搜索结果活动并激活搜索UI。
输出:没有。
常量值:“android.intent.action.SEARCH”
String ACTION_SEARCH_LONG_PRESS
活动行动:开始与长按搜索键相关的行动。
输入:没有。
输出:没有。
常量值:“android.intent.action.SEARCH_LONG_PRESS”
String ACTION_SEND
活动行动:将一些数据提供给其他人。 没有指定数据传送给谁; 这个动作的接收者要求用户在哪里发送数据。
当启动SEND意图时,通常应该将其包装在选择器中(通过 createChooser(Intent, CharSequence)
),这将为用户提供适当的界面以选择如何发送数据,并允许您指定提示,指示他们正在做什么。
输入: getType()
是要发送的数据的MIME类型。 get * Extra可以包含要发送的数据的EXTRA_TEXT
或EXTRA_STREAM
字段。 如果使用EXTRA_TEXT,MIME类型应该是“text / plain”; 否则它应该是EXTRA_STREAM中数据的MIME类型。 如果MIME类型未知,则使用* / *(这将只允许可以处理通用数据流的发件人)。 如果使用EXTRA_TEXT
,您还可以选择为客户提供EXTRA_HTML_TEXT
以检索HTML格式的文本。
从JELLY_BEAN
,发送的数据可以通过setClipData(ClipData)
提供。 这允许您在共享内容时使用FLAG_GRANT_READ_URI_PERMISSION
:URI和ClipData
其他高级功能。 如果使用这种方法,您仍然必须通过下面介绍的EXTRA_TEXT
或EXTRA_STREAM
字段提供相同的数据,以便与旧应用程序兼容。 如果您没有设置ClipData,则在拨打startActivity(Intent)
时会将其复制到您的startActivity(Intent)
。
可选的标准临时演员,这可以通过一些适当的收件人进行解释,主要有: EXTRA_EMAIL
, EXTRA_CC
, EXTRA_BCC
, EXTRA_SUBJECT
。
输出:没有。
常量值:“android.intent.action.SEND”
String ACTION_SENDTO
活动操作:将消息发送给由数据指定的人员。
输入: getData()
是描述目标的URI。
输出:没有。
常量值:“android.intent.action.SENDTO”
String ACTION_SEND_MULTIPLE
活动行动:将多个数据传递给其他人。
像 ACTION_SEND
一样,除了数据是多个。
输入: getType()
是要发送的数据的MIME类型。 get * ArrayListExtra可以包含要发送的数据的EXTRA_TEXT
或EXTRA_STREAM
字段。 如果使用EXTRA_TEXT
,则还可以选择为客户提供EXTRA_HTML_TEXT
,以便使用HTML格式检索文本。
支持多种类型,接收者应尽可能处理混合类型。 接收者检查它们的正确方法是在每个URI上使用内容解析器。 意图发送者应该尝试将意图类型中最具体的MIME类型,但可以根据需要回退到<type> / *或* / *。
例如,如果您发送image / jpg和image / jpg,意图的类型可以是image / jpg,但是如果您发送image / jpg和image / png,则意图的类型应该是image / *。
从JELLY_BEAN
,发送的数据可以通过setClipData(ClipData)
提供。 这允许您在共享内容时使用FLAG_GRANT_READ_URI_PERMISSION
:URI和其他高级功能ClipData
。 如果使用这种方法,您仍然必须通过下面描述的EXTRA_TEXT
或EXTRA_STREAM
字段提供相同的数据,以便与旧应用程序兼容。 如果您没有设置ClipData,则在拨打startActivity(Intent)
时会将其复制到您的startActivity(Intent)
。
可选的标准临时演员,这可以通过一些适当的收件人进行解释,主要有: EXTRA_EMAIL
, EXTRA_CC
, EXTRA_BCC
, EXTRA_SUBJECT
。
输出:没有。
常量值:“android.intent.action.SEND_MULTIPLE”
String ACTION_SET_WALLPAPER
活动操作:显示选择壁纸的设置。
输入:没有。
输出:没有。
常量值:“android.intent.action.SET_WALLPAPER”
String ACTION_SHOW_APP_INFO
活动操作:启动显示应用程序信息的活动。 对于安装其他应用程序的应用程序(例如应用程序商店),建议处理此操作以向用户提供应用程序信息。
输入: EXTRA_PACKAGE_NAME
指定需要显示信息的包。
输出:没有。
常量值:“android.intent.action.SHOW_APP_INFO”
String ACTION_SHUTDOWN
广播动作:设备正在关闭。 当设备关闭时(完全关闭而不是睡眠)播放。 广播完成后,最终关机将继续进行,并且所有未保存的数据都将丢失。 应用程序通常不需要处理这个问题,因为前台活动也会暂停。
这是一个受保护的意图,只能由系统发送。
可能包括以下附加内容:
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. 常量值:“android.intent.action.ACTION_SHUTDOWN”
String ACTION_SYNC
活动操作:执行数据同步。
输入:?
输出:?
常量值:“android.intent.action.SYNC”
String ACTION_SYSTEM_TUTORIAL
活动动作:启动平台定义的教程
输入: getStringExtra(SearchManager.QUERY)
是要搜索的文本。 如果为空,只需输入搜索结果活动并激活搜索UI。
输出:没有。
常量值:“android.intent.action.SYSTEM_TUTORIAL”
String ACTION_TIMEZONE_CHANGED
广播动作:时区已更改。 意图将具有以下额外的值:
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.TIMEZONE_CHANGED”
String ACTION_TIME_CHANGED
广播行动:时间已经确定。
常量值:“android.intent.action.TIME_SET”
String ACTION_TIME_TICK
广播动作:当前时间已更改。 每分钟发送一次。 您无法通过在清单中声明的组件收到此内容,只能通过Context.registerReceiver()
明确注册。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.TIME_TICK”
String ACTION_UID_REMOVED
广播操作:用户标识已从系统中删除。 用户ID号存储在EXTRA_UID
下的额外数据中。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.UID_REMOVED”
String ACTION_UMS_CONNECTED
此常数在API级别14中已弃用。
由android.os.storage.StorageEventListener取代
广播动作:设备已进入USB大容量存储模式。 这主要用于USB设置面板。 应用程序应监听ACTION_MEDIA_MOUNTED和ACTION_MEDIA_UNMOUNTED广播,以在安装或卸下SD卡文件系统时收到通知
常量值:“android.intent.action.UMS_CONNECTED”
String ACTION_UMS_DISCONNECTED
此常数在API级别14中已弃用。
由android.os.storage.StorageEventListener取代
广播动作:设备已退出USB大容量存储模式。 这主要用于USB设置面板。 应用程序应监听ACTION_MEDIA_MOUNTED和ACTION_MEDIA_UNMOUNTED广播,以在安装或卸下SD卡文件系统时收到通知
常量值:“android.intent.action.UMS_DISCONNECTED”
String ACTION_UNINSTALL_PACKAGE
活动操作:启动应用程序卸载程序。
输入:数据必须是package:URI,其方案特定部分是要卸载的当前已安装软件包的软件包名称。 您可以选择提供EXTRA_RETURN_RESULT
。
输出:如果 EXTRA_RETURN_RESULT
,则返回安装是否成功。
常量值:“android.intent.action.UNINSTALL_PACKAGE”
String ACTION_USER_BACKGROUND
当用户切换发生时发送,导致进程的用户被发送到后台。 这只会发送给通过Context.registerReceiver
注册的接收Context.registerReceiver
。 它发送给正在进入后台的用户。 这是作为前景广播发送的,因为它是可见用户交互的一部分; 在处理时尽可能快。
常量值:“android.intent.action.USER_BACKGROUND”
String ACTION_USER_FOREGROUND
当用户切换发生时发送,导致进程的用户被带到前台。 这仅发送给通过Context.registerReceiver
注册的接收Context.registerReceiver
。 它发送给正在前台的用户。 这是作为前景广播发送的,因为它是可见用户交互的一部分; 在处理时尽可能快。
常量值:“android.intent.action.USER_FOREGROUND”
String ACTION_USER_INITIALIZE
在用户第一次启动时发送,以允许系统应用程序执行一次初始化。 (这将不会被第三方应用程序看到,因为新初始化的用户没有为其安装任何第三方应用程序。)在发送ACTION_BOOT_COMPLETED
之前,在启动用户时大约在家用应用程序启动时发送。 这是作为前景广播发送的,因为它是可见用户交互的一部分; 在处理时尽可能快。
常量值:“android.intent.action.USER_INITIALIZE”
String ACTION_USER_PRESENT
广播动作:设备唤醒后用户在场时发送(例如,当键盘锁不在时)。
这是一个受保护的意图,只能由系统发送。
常量值:“android.intent.action.USER_PRESENT”
String ACTION_USER_UNLOCKED
广播动作:当凭证加密的专用存储已被锁定为目标用户时发送。 这只会发送给注册的接收者,而不是接收者。
常量值:“android.intent.action.USER_UNLOCKED”
String ACTION_VIEW
活动操作:将数据显示给用户。 这是对数据执行的最常见操作 - 这是您可以在一段数据上使用的通用操作,以获得最合理的事情发生。 例如,当用于联系人条目时,它将查看条目; 当在mailto:URI上使用时,它将显示一个填充了由URI提供的信息的撰写窗口; 当与tel:URI一起使用时,它将调用拨号程序。
输入: getData()
是从中检索数据的URI。
输出:没有。
常量值:“android.intent.action.VIEW”
String ACTION_VOICE_COMMAND
活动操作:启动语音命令。
输入:没有。
输出:没有。
常量值:“android.intent.action.VOICE_COMMAND”
String ACTION_WALLPAPER_CHANGED
此常数在API级别16中已弃用。
现代应用程序应该使用WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER
将UI显示在他们的UI后面,而不是观看此广播并自行渲染壁纸。
广播动作:当前系统壁纸已更改。 请参阅WallpaperManager
检索新壁纸。 这应该仅用于确定壁纸何时更改以向用户显示新壁纸。 作为对此的回应,您绝对不应该改变壁纸或其他属性,例如建议的尺寸。 那太疯狂了吧? 你会造成各种循环,特别是如果其他应用程序正在做类似的事情,对吗? 当然。 所以请不要这样做。
常量值:“android.intent.action.WALLPAPER_CHANGED”
String ACTION_WEB_SEARCH
活动操作:执行网页搜索。
输入: getStringExtra(SearchManager.QUERY)
是要搜索的文本。 如果它是以http或https开头的网址,则网站将被打开。 如果它是纯文本,Google搜索将被应用。
输出:没有。
常量值:“android.intent.action.WEB_SEARCH”
String CATEGORY_ALTERNATIVE
设置是否应将活动视为用户当前正在查看的数据的替代操作。 另请参阅CATEGORY_SELECTED_ALTERNATIVE
,了解适用于项目列表中的选择的替代操作。
支持此类别意味着您希望您的活动显示在用户可以执行的一组备选项中,通常作为当前活动的选项菜单的一部分。 您通常会希望在此操作的<intent-filter>中包含特定的标签,以向用户描述它的功能。
IntentFilter对此类别的作用非常重要,因为它描述了目标执行的具体操作。 这通常不应该是一个通用的动作(比如ACTION_VIEW
,而应该是一个特定的名字,比如“com.android.camera.action.CROP”)。只有一个特定动作的替代方法会显示给用户,所以使用特定的动作这样可以确保显示替代选项,同时还允许其他应用程序提供自己的替代特定操作。
常量值:“android.intent.category.AlTERNATIVE”
String CATEGORY_APP_BROWSER
与ACTION_MAIN
用于启动浏览器应用程序。 该活动应该能够浏览互联网。
注意:这不应该用作Intent的主键,因为它不会导致应用程序以正确的操作和类别启动。 相反,与makeMainSelectorActivity(String, String)
一起在选择器中使用此类别生成主要意图。
常量值:“android.intent.category.APP_BROWSER”
String CATEGORY_APP_CALCULATOR
与ACTION_MAIN
一起使用来启动计算器应用程序。 该活动应该能够执行标准的算术运算。
注意:这不应该用作Intent的主键,因为它不会导致应用程序以正确的操作和类别启动。 相反,使用makeMainSelectorActivity(String, String)
来在选择器中使用此类别生成主要意图。
常量值:“android.intent.category.APP_CALCULATOR”
String CATEGORY_APP_CALENDAR
与ACTION_MAIN
一起使用来启动日历应用程序。 该活动应该能够查看和操作日历条目。
注意:这不应该用作Intent的主键,因为它不会导致应用程序以正确的操作和类别启动。 相反,将它与makeMainSelectorActivity(String, String)
一起用于在选择器中生成具有此类别的主要Intent。
常量值:“android.intent.category.APP_CALENDAR”
String CATEGORY_APP_CONTACTS
与ACTION_MAIN
一起使用以启动联系人应用程序。 该活动应该能够查看和操作地址簿条目。
注意:这不应该用作Intent的主键,因为它不会导致应用程序以正确的操作和类别启动。 相反,将它与makeMainSelectorActivity(String, String)
一起用于在选择器中生成具有此类别的主要Intent。
常量值:“android.intent.category.APP_CONTACTS”
String CATEGORY_APP_EMAIL
与ACTION_MAIN
一起使用来启动电子邮件应用程序。 该活动应该能够发送和接收电子邮件。
注意:这不应该用作Intent的主键,因为它不会导致应用程序以正确的操作和类别启动。 相反,使用makeMainSelectorActivity(String, String)
来在选择器中使用此类别生成主要意图。
常量值:“android.intent.category.APP_EMAIL”
String CATEGORY_APP_GALLERY
与ACTION_MAIN
一起使用以启动图库应用程序。 该活动应该能够查看和操作设备上存储的图像和视频文件。
注意:这不应该用作Intent的主键,因为它不会导致应用程序以正确的操作和类别启动。 相反,将它与makeMainSelectorActivity(String, String)
一起用于在选择器中生成具有此类别的主要Intent。
常量值:“android.intent.category.APP_GALLERY”
String CATEGORY_APP_MAPS
与ACTION_MAIN
用于启动地图应用程序。 该活动应该能够显示用户的当前位置和环境。
注意:这不应该用作Intent的主键,因为它不会导致应用程序以正确的操作和类别启动。 相反,使用makeMainSelectorActivity(String, String)
来在选择器中使用此类别生成主要意图。
常量值:“android.intent.category.APP_MAPS”
String CATEGORY_APP_MARKET
该活动允许用户浏览和下载新的应用程序。
常量值:“android.intent.category.APP_MARKET”
String CATEGORY_APP_MESSAGING
与ACTION_MAIN
一起使用以启动消息应用程序。 该活动应该能够发送和接收短信。
注意:这不应该用作Intent的主键,因为它不会导致应用程序以正确的操作和类别启动。 相反,与makeMainSelectorActivity(String, String)
一起在选择器中使用此类生成一个具有此类别的主要Intent。
常量值:“android.intent.category.APP_MESSAGING”
String CATEGORY_APP_MUSIC
与ACTION_MAIN
用于启动音乐应用程序。 该活动应该能够播放,浏览或操作设备上存储的音乐文件。
注意:这不应该用作Intent的主键,因为它不会导致应用程序以正确的操作和类别启动。 相反,将它与makeMainSelectorActivity(String, String)
一起用于在选择器中生成具有此类别的主要Intent。
常量值:“android.intent.category.APP_MUSIC”
String CATEGORY_BROWSABLE
可以从浏览器安全地调用的活动必须支持这个类别。 例如,如果用户正在查看网页或电子邮件并点击文本中的链接,则意图生成执行该链接将需要BROWSABLE类别,以便只有支持此类别的活动才会被视为可能的操作。 通过支持这一类别,您承诺通过调用任何匹配的Intent不会造成任何破坏(无需用户干预)。
常量值:“android.intent.category.BROWSABLE”
String CATEGORY_CAR_DOCK
设备插入汽车坞站时运行的活动。 与ACTION_MAIN
用于发起活动。 有关更多信息,请参阅UiModeManager
。
常量值:“android.intent.category.CAR_DOCK”
String CATEGORY_CAR_MODE
用于表示该活动可以在汽车环境中使用。
常量值:“android.intent.category.CAR_MODE”
String CATEGORY_DEFAULT
如果该活动应该是默认操作(中央按)在一段数据上执行的选项,则设置该选项。 设置该选项可以隐藏用户在对某些数据执行操作时没有设置的任何活动。 请注意,在启动操作时,通常不会在Intent中设置此值 - 它用于包中指定的意向过滤器。
常量值:“android.intent.category.DEFAULT”
String CATEGORY_DESK_DOCK
设备插入汽车坞站时运行的活动。 与ACTION_MAIN
用于发起活动。 有关更多信息,请参阅UiModeManager
。
常量值:“android.intent.category.DESK_DOCK”
String CATEGORY_DEVELOPMENT_PREFERENCE
此活动是一个开发偏好面板。
常量值:“android.intent.category.DEVELOPMENT_PREFERENCE”
String CATEGORY_EMBED
能够在父活动容器内运行。
常量值:“android.intent.category.EMBED”
String CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST
用作框架检测测试中的代码。
常量值:“android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST”
String CATEGORY_HE_DESK_DOCK
将设备插入数字(高端)底座时运行的活动。 与ACTION_MAIN
用于发起活动。 有关更多信息,请参阅UiModeManager
。
常量值:“android.intent.category.HE_DESK_DOCK”
String CATEGORY_HOME
这是家庭活动,这是设备启动时显示的第一个活动。
常量值:“android.intent.category.HOME”
String CATEGORY_INFO
提供关于它所在的包的信息; 通常在包裹不包含CATEGORY_LAUNCHER
用于向用户提供前门,而不必在全部应用列表中显示。
常量值:“android.intent.category.INFO”
String CATEGORY_LAUNCHER
应显示在顶层启动器中。
常量值:“android.intent.category.LAUNCHER”
String CATEGORY_LEANBACK_LAUNCHER
指示为Leanback模式优化的活动,并且应该在Leanback启动器中显示。
常量值:“android.intent.category.LEANBACK_LAUNCHER”
String CATEGORY_LE_DESK_DOCK
设备插入模拟(低端)扩展坞时运行的活动。 与ACTION_MAIN
用于发起活动。 有关更多信息,请参阅UiModeManager
。
常量值:“android.intent.category.LE_DESK_DOCK”
String CATEGORY_MONKEY
该活动可以由猴子或其他自动化测试工具来执行。
常量值:“android.intent.category.MONKEY”
String CATEGORY_OPENABLE
用于指示意向只需要可以用openFileDescriptor(Uri, String)
打开的URI。 查询时,可打开的URI必须至少支持OpenableColumns
定义的列。
常量值:“android.intent.category.OPENABLE”
String CATEGORY_PREFERENCE
此活动是一个偏好面板。
常量值:“android.intent.category.PREFERENCE”
String CATEGORY_SAMPLE_CODE
用作示例代码示例(不是普通用户体验的一部分)。
常量值:“android.intent.category.SAMPLE_CODE”
String CATEGORY_SELECTED_ALTERNATIVE
设置是否应将活动视为用户当前选择的数据的替代选择操作。 这类似于CATEGORY_ALTERNATIVE
,但用于显示用户可以从中选择的项目列表的活动,从而为他们提供替代执行默认操作的选项。
常量值:“android.intent.category.SELECTED_ALTERNATIVE”
String CATEGORY_TAB
旨在用作包含TabActivity的选项卡。
常量值:“android.intent.category.TAB”
String CATEGORY_TEST
用作测试(不是普通用户体验的一部分)。
常量值:“android.intent.category.TEST”
String CATEGORY_UNIT_TEST
用作单元测试(运行测试线束)。
常量值:“android.intent.category.UNIT_TEST”
String CATEGORY_VOICE
可以参与语音交互的活动类别。 支持此类别的活动必须准备好在没有显示任何UI的情况下运行(尽管在某些情况下它可能会显示UI),并依赖于VoiceInteractor
与用户进行交互。
常量值:“android.intent.category.VOICE”
String EXTRA_ALARM_COUNT
在AlarmManager
意图中用作int extra字段来告诉应用程序被调用有多少未决的警报正在被意图传递。 对于一次性警报,这将始终为1.对于周期性警报,如果设备在传送早期警报时睡着或关闭,则这可能会大于1。
常量值:“android.intent.extra.ALARM_COUNT”
String EXTRA_ALLOW_MULTIPLE
额外用于指示意图可以允许用户选择并返回多个项目。 这是一个额外的布尔值; 默认值是false。 如果为true,则允许实现向用户呈现UI,以便他们可以选择多个全部返回给调用者的项目。 发生这种情况时,应将其作为结果Intent的getClipData()
部分返回。
常量值:“android.intent.extra.ALLOW_MULTIPLE”
String EXTRA_ALLOW_REPLACE
此常数在API级别16中已弃用。
从JELLY_BEAN
,Android将不再显示有关更新现有应用程序的插页式消息,因此不再需要此信息。
用作ACTION_INSTALL_PACKAGE
的布尔额外字段来安装软件包。 如果.apk替换现有的用户,则告知安装程序用户界面跳过与用户的确认。
常量值:“android.intent.extra.ALLOW_REPLACE”
String EXTRA_ALTERNATE_INTENTS
一个Intent []描述了您希望用 ACTION_CHOOSER
显示的其他替代选项。
应用程序可以提供几种不同的有效负载类型来完成用户的预期操作。 例如,调用ACTION_SEND
与另一个应用程序共享照片的应用程序可能会使用EXTRA_ALTERNATE_INTENTS来让选择器透明地提供几种不同的受支持的共享发送机制,例如实际的“图片/ *”照片数据或照片可能包含的托管链接查看。
目前在EXTRA_INTENT
的意图将被视为该集合中的第一/主要/首选意图。 额外指定的其他意图是订购的; 默认情况下,数组中较早出现的意图将优先于数组后面出现的意图,即匹配相同的目标组件。 要改变这种偏好,调用应用程序也可以提供EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER
。
常量值:“android.intent.extra.ALTERNATE_INTENTS”
String EXTRA_ASSIST_CONTEXT
ACTION_ASSIST
上的可选字段, ACTION_ASSIST
包含辅助请求时当前前台应用程序提供的其他上下文信息。 这是一个Bundle
的附加数据。
常量值:“android.intent.extra.ASSIST_CONTEXT”
String EXTRA_ASSIST_INPUT_DEVICE_ID
包含用于调用协助的InputDevice ID的 ACTION_ASSIST
上的可选字段。
常量值:“android.intent.extra.ASSIST_INPUT_DEVICE_ID”
String EXTRA_ASSIST_INPUT_HINT_KEYBOARD
ACTION_ASSIST
上的可选字段,建议用户可能会使用键盘作为主要输入设备以获得帮助。
常量值:“android.intent.extra.ASSIST_INPUT_HINT_KEYBOARD”
String EXTRA_ASSIST_PACKAGE
ACTION_ASSIST
上的可选字段, ACTION_ASSIST
包含调用协助时当前前台应用程序包的名称。
常量值:“android.intent.extra.ASSIST_PACKAGE”
String EXTRA_ASSIST_UID
ACTION_ASSIST
上的可选字段, ACTION_ASSIST
包含调用协助时当前前台应用程序包的uid。
常量值:“android.intent.extra.ASSIST_UID”
String EXTRA_BCC
持有电子邮件地址的String []应该被盲目复制。
常量值:“android.intent.extra.BCC”
String EXTRA_BUG_REPORT
作为parcelable附加域 ACTION_APP_ERROR
,包含错误报告。
常量值:“android.intent.extra.BUG_REPORT”
String EXTRA_CC
一个String [],其中包含应该被复制的电子邮件地址。
常量值:“android.intent.extra.CC”
String EXTRA_CHANGED_COMPONENT_NAME
该常数在API级别7中已弃用。
见EXTRA_CHANGED_COMPONENT_NAME_LIST
; 该字段将只包含列表中的第一个名字。
常量值:“android.intent.extra.changed_component_name”
String EXTRA_CHANGED_COMPONENT_NAME_LIST
该字段是ACTION_PACKAGE_CHANGED
一部分,并包含已更改的所有组件的字符串数组。 如果整个包的状态发生了变化,那么它将包含一个带有包名本身的条目。
常量值:“android.intent.extra.changed_component_name_list”
String EXTRA_CHANGED_PACKAGE_LIST
此字段的一部分 ACTION_EXTERNAL_APPLICATIONS_AVAILABLE
, ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE
, ACTION_PACKAGES_SUSPENDED
, ACTION_PACKAGES_UNSUSPENDED
并且包含所有已更改的部件中的一个字符串数组。
常量值:“android.intent.extra.changed_package_list”
String EXTRA_CHANGED_UID_LIST
此字段的一部分 ACTION_EXTERNAL_APPLICATIONS_AVAILABLE
, ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE
并且包含所有已更改的部件中的UID的的整数数组。
常量值:“android.intent.extra.changed_uid_list”
String EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER
IntentSender
用于当用户从 ACTION_CHOOSER
提供的选择器活动中进行选择时将被调用的活动。
为另一个应用程序准备完成动作的应用程序可能希望允许用户根据所选目标在多个选项之间消除歧义,以便在调用之前完成动作。
发送时,此IntentSender可能会被填入以下额外内容:
EXTRA_INTENT
The first intent that matched the user's chosen targetEXTRA_ALTERNATE_INTENTS
Any additional intents that also matched the user's chosen target beyond the firstEXTRA_RESULT_RECEIVER
A ResultReceiver
that the refinement activity should fill in and send once the disambiguation is complete常量值:“android.intent.extra.CHOOSER_REFINEMENT_INTENT_SENDER”
String EXTRA_CHOOSER_TARGETS
A ChooserTarget[]
for ACTION_CHOOSER
描述了用于选择器呈现给用户的附加的高优先级深度链接目标。
以这种方式提供的目标将与来自其他应用程序的服务提供的所有其他目标一起呈现。 他们将优先于其他服务目标,但在用户手动固定到前端的源提供的目标之后。
也可以看看:
常量值:“android.intent.extra.CHOOSER_TARGETS”
String EXTRA_CHOSEN_COMPONENT
用户选择的 ComponentName
完成操作。
常量值:“android.intent.extra.CHOSEN_COMPONENT”
String EXTRA_CHOSEN_COMPONENT_INTENT_SENDER
一个IntentSender
,如果用户成功选择目标组件来处理ACTION_CHOOSER
活动中的操作,将会收到通知。 IntentSender将附加EXTRA_CHOSEN_COMPONENT
附加到它包含所选组件的ComponentName
。
在某些情况下,这种回调可能永远不会到来,例如,如果用户放弃选择器,切换到另一个任务或任何其他原因。 应该不应该假定这种回调总是会发生。
常量值:“android.intent.extra.CHOSEN_COMPONENT_INTENT_SENDER”
String EXTRA_DATA_REMOVED
在 ACTION_PACKAGE_REMOVED
意图中用作布尔额外字段,以表示它是代表完全卸载(删除代码及其数据)还是部分卸载(表示它是数据更新)。
常量值:“android.intent.extra.DATA_REMOVED”
String EXTRA_DOCK_STATE
用作ACTION_DOCK_EVENT
意图中的int外部字段以请求停靠状态。 可能的值是EXTRA_DOCK_STATE_UNDOCKED
, EXTRA_DOCK_STATE_DESK
,或EXTRA_DOCK_STATE_CAR
,或EXTRA_DOCK_STATE_LE_DESK
,或EXTRA_DOCK_STATE_HE_DESK
。
常量值:“android.intent.extra.DOCK_STATE”
int EXTRA_DOCK_STATE_CAR
用作 EXTRA_DOCK_STATE
的int值来表示手机在汽车坞站中。
常量值:2(0x00000002)
int EXTRA_DOCK_STATE_DESK
用作 EXTRA_DOCK_STATE
的int值来表示手机位于桌面底座中。
常数值:1(0x00000001)
int EXTRA_DOCK_STATE_HE_DESK
用作 EXTRA_DOCK_STATE
的int值来表示手机位于数字(高端)底座中。
常量值:4(0x00000004)
int EXTRA_DOCK_STATE_LE_DESK
用作 EXTRA_DOCK_STATE
的int值以表示手机处于模拟(低端)坞站。
常量值:3(0x00000003)
int EXTRA_DOCK_STATE_UNDOCKED
用作 EXTRA_DOCK_STATE
的int值表示手机不在任何扩展坞中。
常量值:0(0x00000000)
String EXTRA_DONT_KILL_APP
用作 ACTION_PACKAGE_REMOVED
或 ACTION_PACKAGE_CHANGED
意图中的布尔额外字段以覆盖重新启动应用程序的默认操作。
常量值:“android.intent.extra.DONT_KILL_APP”
String EXTRA_EMAIL
一个String [],用于存放应传递给的电子邮件地址。
常量值:“android.intent.extra.EMAIL”
String EXTRA_EXCLUDE_COMPONENTS
A ComponentName[]
描述了应该被过滤掉并从呈现给用户的组件列表中省略的组件。
当与ACTION_CHOOSER
使用时,选择器将忽略此数组中的任何组件,除非它们会显示它们。 如果发送到这些目标的想法对于其他应用程序功能来说是多余的,那么这对于从您的组织或其他应用程序中省略特定目标很有用。 已过滤的组件将无法呈现来自关联的ChooserTargetService
目标。
常量值:“android.intent.extra.EXCLUDE_COMPONENTS”
String EXTRA_HTML_TEXT
与该意图相关联的字符串常量,与用于ACTION_SEND
提供替代EXTRA_TEXT
为HTML格式的文本。 请注意,您还必须提供EXTRA_TEXT
。
常量值:“android.intent.extra.HTML_TEXT”
String EXTRA_INDEX
具有语义的可选索引取决于意图操作。
该值必须是大于或等于0的整数。
常量值:“android.intent.extra.INDEX”
String EXTRA_INITIAL_INTENTS
Intent
或 LabeledIntent
对象的 Intent
[] Intent
LabeledIntent
包含 putExtra(String, Parcelable[])
附加活动,用于放置选项列表的前端,当向用户显示 ACTION_CHOOSER
。
常量值:“android.intent.extra.INITIAL_INTENTS”
String EXTRA_INSTALLER_PACKAGE_NAME
用作ACTION_INSTALL_PACKAGE
的字符串附加字段来安装软件包。 指定安装程序包名称; 这个包将收到ACTION_APP_ERROR
意图。
常量值:“android.intent.extra.INSTALLER_PACKAGE_NAME”
String EXTRA_INTENT
描述您希望用 ACTION_PICK_ACTIVITY
或 ACTION_CHOOSER
显示的选项的意图。
常量值:“android.intent.extra.INTENT”
String EXTRA_KEY_EVENT
包含触发其Intent创建的事件的 KeyEvent
对象。
常量值:“android.intent.extra.KEY_EVENT”
String EXTRA_LOCAL_ONLY
额外用于指示意图只应返回本地设备上的数据。 这是一个额外的布尔值; 默认值是false。 如果为true,那么实现应该只允许用户选择已经在设备上的数据,而不需要在打开时从远程服务下载数据。
常量值:“android.intent.extra.LOCAL_ONLY”
String EXTRA_MIME_TYPES
额外用于传达一组可接受的MIME类型。 额外的类型是String[]
。 值可能是具体MIME类型(如“image / png”)和/或部分MIME类型(如“audio / *”)的组合。
常量值:“android.intent.extra.MIME_TYPES”
String EXTRA_NOT_UNKNOWN_SOURCE
用作ACTION_INSTALL_PACKAGE
的布尔额外字段来安装软件包。 指定正在安装的应用程序不应被视为来自未知来源,而是来自调用Intent的应用程序。 为此,您必须使用startActivityForResult()启动安装程序。
常量值:“android.intent.extra.NOT_UNKNOWN_SOURCE”
String EXTRA_ORIGINATING_URI
用作 ACTION_INSTALL_PACKAGE
和 ACTION_VIEW
的URI附加字段,用于指示Intent数据字段中的本地APK源自的URI。
常量值:“android.intent.extra.ORIGINATING_URI”
String EXTRA_PACKAGE_NAME
意图额外:应用程序包名称。
类型:字符串
常量值:“android.intent.extra.PACKAGE_NAME”
String EXTRA_PHONE_NUMBER
一个String抱着电话号码在最初输入 ACTION_NEW_OUTGOING_CALL
,或实际数量在一个叫 ACTION_CALL
。
常量值:“android.intent.extra.PHONE_NUMBER”
String EXTRA_PROCESS_TEXT
用于定义要处理的文本的额外名称,作为CharSequence。 请注意,这可能是一个样式化的CharSequence,因此您必须使用Bundle.getCharSequence()
来检索它。
常量值:“android.intent.extra.PROCESS_TEXT”
String EXTRA_PROCESS_TEXT_READONLY
用于定义处理后的文本是否将用作只读的布尔额外名称。
常量值:“android.intent.extra.PROCESS_TEXT_READONLY”
String EXTRA_QUIET_MODE
可选布尔额外指示安静模式是否已打开或关闭。 当配置文件进入安静模式时,配置文件中的所有应用程序都将被终止并且配置文件用户被停止。 源自配置文件的小部件被屏蔽,应用启动器图标变灰。
常量值:“android.intent.extra.QUIET_MODE”
String EXTRA_REFERRER
此额外内容可与任何用于启动活动的Intent一起使用,提供有关启动该活动的人员的信息。 该字段包含一个Uri
对象,通常是转介来自的网站的http:或https:URI; 它也可以使用android-app:
方案来识别它来自的本地应用程序。
要在客户端检索此值,请使用getReferrer()
而不是直接检索额外的值。 对于那些只能创建一个字符串而不是Uri的应用程序而言,它也适用于替代提供EXTRA_REFERRER_NAME
; 但是,如果提供该字段,则始终优先。
也可以看看:
常量值:“android.intent.extra.REFERRER”
String EXTRA_REFERRER_NAME
EXTRA_REFERRER
替代版本将URI作为字符串提供,而不是Uri
对象。 仅适用于无法创建Uri对象的情况,特别是当通过intent:
或android-app:
方案提供意图附加组件时。
也可以看看:
常量值:“android.intent.extra.REFERRER_NAME”
String EXTRA_REMOTE_INTENT_TOKEN
用于远程意图的额外字段。 它是以远程意图传递的astring标记。
常量值:“android.intent.extra.remote_intent_token”
String EXTRA_REPLACEMENT_EXTRAS
与ACTION_CHOOSER
EXTRA_INTENT
使用时,捆绑包形成潜在目标包名称映射到不同的额外捆绑包以添加到默认意向附加EXTRA_INTENT
ACTION_CHOOSER
。 每个密钥应该是一个包名称。 该软件包不需要当前安装在设备上。
应用程序可以选择为用户从预定的一组目标程序包中选择活动的情况提供备用附加程序。 如果用户从选择器中选择的活动属于其包名称作为该包中的一个关键字的包,则该包的相应附加内容将与意图中已存在的附加内容合并到EXTRA_INTENT
。 如果替换附加件与已经存在于附加件中的附加件具有相同的关键字,则它将覆盖来自意图的附加件。
例子:
EXTRA_TEXT
to an application when sharing with it via ACTION_SEND
, augmenting a link with additional query parameters for that target.常量值:“android.intent.extra.REPLACEMENT_EXTRAS”
String EXTRA_REPLACING
用作 ACTION_PACKAGE_REMOVED
意图中的布尔额外字段以表示这是包的替换,因此该广播将立即跟随相同包的不同版本的添加广播。
常量值:“android.intent.extra.REPLACING”
String EXTRA_RESTRICTIONS_BUNDLE
额外意向发送到处理ACTION_GET_RESTRICTION_ENTRIES
的BroadcastReceiver。 额外的类型是一个包含作为键/值对的限制的Bundle。
常量值:“android.intent.extra.restrictions_bundle”
String EXTRA_RESTRICTIONS_INTENT
额外用于处理 ACTION_GET_RESTRICTION_ENTRIES
的BroadcastReceiver的响应中。
常量值:“android.intent.extra.restrictions_intent”
String EXTRA_RESTRICTIONS_LIST
额外用于处理ACTION_GET_RESTRICTION_ENTRIES
的BroadcastReceiver的响应。 额外的类型是ArrayList<RestrictionEntry>
。
常量值:“android.intent.extra.restrictions_list”
String EXTRA_RESULT_RECEIVER
A ResultReceiver
用于将数据返回给发件人。
用来完成一个应用程序特定 refinement
为 ACTION_CHOOSER
。
如果EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER
存在于用于启动意图ACTION_CHOOSER
活动这个额外将filled in
到IntentSender
和发送当用户选择从选择器的目标成分。 由接收者决定将结果发送给此ResultReceiver以表示消除歧义已完成,并且选择器应调用用户的选择。
消歧器应该为ResultReceiver提供一个Bundle,其意图分配给密钥EXTRA_INTENT
。 这个提供的意图将被选择器用来匹配并填充最终的Intent或ChooserTarget,然后再启动它。 提供的意图必须match
从EXTRA_INTENT
或EXTRA_ALTERNATE_INTENTS
的意图EXTRA_ALTERNATE_INTENTS
传递到EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER
接受。
传递给ResultReceiver的结果代码应该是 RESULT_OK
如果 RESULT_OK
成功并且选择器中提供的目标的目标应该启动,或者 RESULT_CANCELED
如果选择器应该完成而不启动目标。
常量值:“android.intent.extra.RESULT_RECEIVER”
String EXTRA_RETURN_RESULT
用作ACTION_INSTALL_PACKAGE
或ACTION_UNINSTALL_PACKAGE
的布尔额外字段。 指定安装程序UI应该向应用程序返回安装/卸载的结果代码。 返回的结果代码将是RESULT_OK
成功或RESULT_FIRST_USER
失败。
常量值:“android.intent.extra.RETURN_RESULT”
String EXTRA_SHORTCUT_ICON
额外的名称,用于定义快捷方式的图标(位图)。
也可以看看:
常量值:“android.intent.extra.shortcut.ICON”
String EXTRA_SHORTCUT_ICON_RESOURCE
用于将快捷方式的图标定义为ShortcutIconResource的额外名称。
常量值:“android.intent.extra.shortcut.ICON_RESOURCE”
String EXTRA_SHORTCUT_INTENT
用于定义快捷方式的Intent的额外名称。
也可以看看:
常量值:“android.intent.extra.shortcut.INTENT”
String EXTRA_SHORTCUT_NAME
用于定义快捷方式名称的额外名称。
也可以看看:
常量值:“android.intent.extra.shortcut.NAME”
String EXTRA_SHUTDOWN_USERSPACE_ONLY
可选额外ACTION_SHUTDOWN
,允许发件人限定此关闭仅适用于系统的用户空间,而不是完全关闭。 当这是真的,硬件设备可以使用这些信息来确定他们不应该完全关闭他们的设备,因为这不是完全关闭到内核,而只是重新启动用户空间。 如果不提供,则默认为false。
常量值:“android.intent.extra.SHUTDOWN_USERSPACE_ONLY”
String EXTRA_STREAM
内容:URI保存与意图关联的数据流,与 ACTION_SEND
用于提供正在发送的数据。
常量值:“android.intent.extra.STREAM”
String EXTRA_SUBJECT
一个持有消息所需主题行的常量字符串。
常量值:“android.intent.extra.SUBJECT”
String EXTRA_TEMPLATE
初始数据放置在新创建的记录中。 与ACTION_INSERT
使用。 这里的数据是一个包含与底层ContentProvider.insert()调用相同字段的Map。
常量值:“android.intent.extra.TEMPLATE”
String EXTRA_TEXT
与Intent关联的常量CharSequence,与ACTION_SEND
一起用于提供要发送的文字数据。 请注意,这可能是一个CharSequence样式,因此您必须使用Bundle.getCharSequence()
来检索它。
常量值:“android.intent.extra.TEXT”
String EXTRA_TITLE
与 ACTION_CHOOSER
一起使用时提供给用户的CharSequence对话框标题。
常量值:“android.intent.extra.TITLE”
String EXTRA_UID
在ACTION_UID_REMOVED
意图中用作int的额外字段以提供包已分配的uid。 同样是ACTION_PACKAGE_REMOVED
或ACTION_PACKAGE_CHANGED
的可选附加ACTION_PACKAGE_REMOVED
。
常量值:“android.intent.extra.UID”
String EXTRA_USER
UserHandle带有与添加和删除托管配置文件有关的广播意图 ACTION_MANAGED_PROFILE_ADDED
和 ACTION_MANAGED_PROFILE_REMOVED
。
常量值:“android.intent.extra.USER”
int FILL_IN_ACTION
与 fillIn(Intent, int)
一起使用可以覆盖当前操作值,即使它已经设置。
常数值:1(0x00000001)
int FILL_IN_CATEGORIES
使用 fillIn(Intent, int)
可以覆盖当前类别,即使它们已经设置。
常量值:4(0x00000004)
int FILL_IN_CLIP_DATA
与 fillIn(Intent, int)
一起使用可以使当前ClipData被覆盖,即使它已被设置。
常量值:128(0x00000080)
int FILL_IN_COMPONENT
与 fillIn(Intent, int)
一起使用允许当前组件值被覆盖,即使它已被设置。
常量值:8(0x00000008)
int FILL_IN_DATA
与 fillIn(Intent, int)
一起使用可以覆盖当前数据或类型值,即使它已经设置。
常量值:2(0x00000002)
int FILL_IN_PACKAGE
与 fillIn(Intent, int)
一起使用可以覆盖当前包值,即使它已经设置。
常量值:16(0x00000010)
int FILL_IN_SELECTOR
与 fillIn(Intent, int)
一起使用可以使当前选择器被覆盖,即使它已被设置。
常量值:64(0x00000040)
int FILL_IN_SOURCE_BOUNDS
与 fillIn(Intent, int)
一起使用以允许当前边界矩形被覆盖,即使它已被设置。
常量值:32(0x00000020)
int FLAG_ACTIVITY_BROUGHT_TO_FRONT
该标志通常不是由应用程序代码设置的,而是由系统为您设置的,如 launchMode
文档中针对singleTask模式所述。
常量值:4194304(0x00400000)
int FLAG_ACTIVITY_CLEAR_TASK
如果在传递给Context.startActivity()
的Intent中Context.startActivity()
,则此标志将导致在活动启动之前将与该活动关联的任何现有任务清除。 也就是说,活动成为空的任务的新根,任何旧的活动都完成了。 这只能与FLAG_ACTIVITY_NEW_TASK
一起使用。
常量值:32768(0x00008000)
int FLAG_ACTIVITY_CLEAR_TOP
如果已设置,并且正在启动的活动已在当前任务中运行,则不会启动该活动的新实例,而是关闭其上的所有其他活动,并将此Intent交付给(现在开启顶部)旧活动作为一个新的意图。
例如,考虑一个由以下活动组成的任务:A,B,C,D。如果D调用startActivity()并将Intent解析为活动B的组件,则C和D将完成并且B接收给定的Intent ,导致堆栈现在是:A,B。
上例中活动B的当前正在运行的实例将通过其onNewIntent()方法接收您在此处启动的新意向,或者自己完成并重新启动新意向。 如果它宣布其启动模式为“多个”(默认),并且您没有将FLAG_ACTIVITY_SINGLE_TOP
设置为同一意图,则会完成并重新创建; 对于所有其他启动模式,或者如果设置了FLAG_ACTIVITY_SINGLE_TOP
,则此Intent将被传递到当前实例的onNewIntent()。
与FLAG_ACTIVITY_NEW_TASK
结合使用时,此启动模式也可以起到良好的作用:如果用于启动任务的根活动,则会将该任务的任何当前正在运行的实例置于前台,然后将其清除至其根状态。 例如,从通知管理器启动活动时,这非常有用。
有关任务的更多信息,请参阅 Tasks and Back Stack 。
常量值:67108864(0x04000000)
int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
此常数在API级别21中已弃用。
从API 21起,这与FLAG_ACTIVITY_NEW_DOCUMENT
完全相同,应该使用它来代替这一点。
常量值:524288(0x00080000)
int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
如果设置,则新活动不会保留在最近启动的活动列表中。
常量值:8388608(0x00800000)
int FLAG_ACTIVITY_FORWARD_RESULT
如果已设置并且此意图用于从现有活动启动新活动,则现有活动的回复目标将转移到新活动。 通过这种方式,新活动可以调用setResult(int)
并将该结果发送回原始活动的回复目标。
常量值:33554432(0x02000000)
int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
该标志通常不由应用程序代码设置,但是如果此活动正在从历史记录启动(longpress主键),则由系统为您设置。
常量值:1048576(0x00100000)
int FLAG_ACTIVITY_LAUNCH_ADJACENT
此标志仅用于分屏多窗口模式。 新活动将显示在启动该活动的旁边。 这只能与FLAG_ACTIVITY_NEW_TASK
一起使用。 此外,如果要创建现有活动的新实例,则需要设置FLAG_ACTIVITY_MULTIPLE_TASK
。
常量值:4096(0x00001000)
int FLAG_ACTIVITY_MULTIPLE_TASK
该标志用于创建新任务并向其中启动一项活动。 此标志始终与FLAG_ACTIVITY_NEW_DOCUMENT
或FLAG_ACTIVITY_NEW_TASK
配对。 在这两种情况下,这些标志本身都会搜索现有任务以查找与此Intent匹配的任务。 只有在找不到这样的任务时才会创建新的任务。 与FLAG_ACTIVITY_MULTIPLE_TASK配对时,这两种行为都会被修改为跳过搜索匹配任务并无条件启动新任务。 当与FLAG_ACTIVITY_NEW_TASK
使用时,除非您正在实现自己的顶级应用程序启动器,否则不要使用此标志。 与FLAG_ACTIVITY_NEW_TASK
结合使用可禁用将现有任务置于前台的行为。 设置时, 总是会启动一个新任务来托管Intent的“活动”,而不管已有任务是否已运行相同的任务。
由于默认系统不包含图形任务管理,因此除非您提供某种方式让用户返回到已启动的任务,否则不应使用此标志。 有关此标志用于创建新文档任务的详细信息,请参阅FLAG_ACTIVITY_NEW_DOCUMENT
。
如果 FLAG_ACTIVITY_NEW_TASK
或 FLAG_ACTIVITY_NEW_DOCUMENT
未被设置,则该标志被忽略。
有关任务的更多信息,请参阅 Tasks and Back Stack 。
常量值:134217728(0x08000000)
int FLAG_ACTIVITY_NEW_DOCUMENT
该标志用于将文档打开成以此Intent启动的活动为根基的新任务。 通过使用该标志,或同等属性的, documentLaunchMode
包含不同的文件在同一活动的多个实例将出现在最近的任务列表。
使用此的活动属性表单, documentLaunchMode
,优于此处所述的意图标记。 属性表单允许Activity为Activity的所有启动器指定多个文档行为,而使用此标志需要启动Activity来指定它。
请注意,此标志的默认语义是否在活动完成后保留它的最近记录条目与使用FLAG_ACTIVITY_NEW_TASK
和documentLaunchMode
- 如果此标志正用于创建新的最近记录条目,则默认情况下一旦活动完成,条目将被删除。 您可以使用FLAG_ACTIVITY_RETAIN_IN_RECENTS
修改此行为。
FLAG_ACTIVITY_NEW_DOCUMENT可能与FLAG_ACTIVITY_MULTIPLE_TASK
结合使用。 当单独使用时,它等同于指定documentLaunchMode
=“intoExisting”的活动清单。 当与documentLaunchMode
一起使用时,它等同于指定documentLaunchMode
=“始终”的活动清单。 有关更多信息,请参阅documentLaunchMode
。
常量值:524288(0x00080000)
int FLAG_ACTIVITY_NEW_TASK
如果设置,此活动将成为此历史堆栈上新任务的开始。 任务(从开始它到下一个任务活动的活动)定义用户可以移动到的活动的原子组。 任务可以移动到前台和后台; 特定任务内的所有活动始终保持相同的顺序。 有关任务的更多信息,请参阅Tasks and Back Stack 。
这个标志通常由想要呈现“启动器”风格行为的活动使用:它们向用户提供可以完成的单独事件的列表,否则这些事情将完全独立于启动它们的活动。
当使用这个标志时,如果一个任务已经开始执行你正在开始的活动,那么一个新的活动将不会开始; 相反,当前任务将被简单地置于屏幕的最前面状态。有关禁用此行为的标志,请参阅FLAG_ACTIVITY_MULTIPLE_TASK
。
当调用者请求正在启动的活动的结果时,不能使用此标志。
常量值:268435456(0x10000000)
int FLAG_ACTIVITY_NO_ANIMATION
如果在传递给Context.startActivity()
的Intent中Context.startActivity()
,则此标志将阻止系统应用活动转换动画以转到下一个活动状态。 这并不意味着动画永远不会运行 - 如果在显示活动开始之前没有指定此标志的其他活动发生变化,则将使用该转换。 当您要执行一系列活动操作时,可以很好地使用此标志,但用户看到的动画不应该由第一个活动更改驱动,而应该由后者驱动。
常量值:65536(0x00010000)
int FLAG_ACTIVITY_NO_HISTORY
如果设置,则新活动不保存在历史堆栈中。 只要用户离开它,活动就完成了。 这也可以用noHistory
属性来设置。
如果设置,当前活动启动一个新的活动来设置结果并结束时,从不调用 onActivityResult()
。
常量值:1073741824(0x40000000)
int FLAG_ACTIVITY_NO_USER_ACTION
如果设置,则此标志将阻止当前最前面的活动发生正常的 onUserLeaveHint()
回调,因为新开始的活动处于最前面。
通常,活动可以依赖回调来指示明确的用户操作已经导致其活动被移出前台。 该回调标志着该活动生命周期中的一个适当点,用于解除它打算显示的任何通知,直到用户看到它们为止,例如闪烁的LED。
如果活动是通过任何非用户驱动的事件(例如电话回执或警报处理程序)启动的,则应将此标志传递给 Context.startActivity
,以确保暂停活动不认为用户已确认其通知。
常量值:262144(0x00040000)
int FLAG_ACTIVITY_PREVIOUS_IS_TOP
如果已设置,并且此意图用于从现有活动启动新活动,则当前活动不会被视为决定是否应将新意向传递到顶端而不是开始新意向的顶级活动。 之前的活动将用作顶部,假设当前活动将立即完成。
常量值:16777216(0x01000000)
int FLAG_ACTIVITY_REORDER_TO_FRONT
如果在传递给 Context.startActivity()
的Intent中 Context.startActivity()
,则此标志将导致已启动的活动被带到其任务历史堆栈的前面(如果它已经在运行)。
例如,考虑一个由四个活动组成的任务:A,B,C,D。如果D调用startActivity()并将Intent解析为活动B的组件,则B将被带到历史堆栈的前面,结果为:A,C,D,B。如果还指定了 FLAG_ACTIVITY_CLEAR_TOP
则该标志将被忽略。
常量值:131072(0x00020000)
int FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
如果已设置,并且此活动要么在新任务中启动,要么将现有任务带到最上方,那么它将作为任务的前门启动。 这将导致应用所需的任何亲和力以使该任务处于适当状态(或者将活动移入或移出该活动),或者如果需要将该任务简单地重置为其初始状态。
常量值:2097152(0x00200000)
int FLAG_ACTIVITY_RETAIN_IN_RECENTS
默认情况下,当用户关闭它时,由FLAG_ACTIVITY_NEW_DOCUMENT
创建的FLAG_ACTIVITY_NEW_DOCUMENT
将删除最近任务中的条目(使用back或else可以完成())。 如果您希望将文档保留在最近的位置以便可以重新启动,则可以使用此标志。 设置完成并且任务的活动完成后,最近的条目将保留在用户重新启动它的界面中,如顶级应用程序的最近条目。
接收活动可以用 autoRemoveFromRecents
或正确呼叫 Activity.finishAndRemoveTask()
来覆盖此请求。
常量值:8192(0x00002000)
int FLAG_ACTIVITY_SINGLE_TOP
如果已设置,则如果活动已在历史堆栈的顶部运行,则不会启动该活动。
常量值:536870912(0x20000000)
int FLAG_ACTIVITY_TASK_ON_HOME
如果在传递给Context.startActivity()
的Intent中Context.startActivity()
,则此标志将导致将新启动的任务放置在当前家庭活动任务(如果有的话)之上。 也就是说,即使这不是他们所看到的最后一个活动,从任务中退出也会使用户回到家中。 这只能与FLAG_ACTIVITY_NEW_TASK
一起使用。
常量值:16384(0x00004000)
int FLAG_DEBUG_LOG_RESOLUTION
您可以启用以进行调试的标志:设置时,在解析此意图期间将打印日志消息,以向您显示创建最终解析列表的内容。
常量值:8(0x00000008)
int FLAG_EXCLUDE_STOPPED_PACKAGES
如果设置,这个意图将不匹配当前停止的包中的任何组件。 如果未设置,则默认行为是将这些应用程序包含在结果中。
常量值:16(0x00000010)
int FLAG_FROM_BACKGROUND
可以由调用者设置以指示此Intent来自后台操作,而不是来自直接用户交互。
常量值:4(0x00000004)
int FLAG_GRANT_PERSISTABLE_URI_PERMISSION
与FLAG_GRANT_READ_URI_PERMISSION
和/或FLAG_GRANT_WRITE_URI_PERMISSION
结合使用时,URI权限授予可以在设备重启之前保持revokeUriPermission(Uri, int)
直到通过revokeUriPermission(Uri, int)
明确吊销revokeUriPermission(Uri, int)
。 这个标志只提供可能持续的授予; 接收应用程序必须调用takePersistableUriPermission(Uri, int)
才能真正持续。
也可以看看:
常量值:64(0x00000040)
int FLAG_GRANT_PREFIX_URI_PERMISSION
当与FLAG_GRANT_READ_URI_PERMISSION
和/或FLAG_GRANT_WRITE_URI_PERMISSION
结合使用时,URI许可授权适用于任何与原始授权URI相匹配的前缀匹配的URI。 (没有此标志,URI必须完全匹配才能被授予访问权限。)只有当scheme,authority和由prefix定义的所有路径段完全匹配时,才会将另一个URI视为前缀匹配。
常量值:128(0x00000080)
int FLAG_GRANT_READ_URI_PERMISSION
如果设置,则此Intent的接收者将被授予执行对Intent数据中的URI和其ClipData中指定的任何URI的读取操作的权限。 当应用到Intent的ClipData时,所有URI以及通过Intent项目中的数据或其他ClipData的递归遍历都将被授予; 只使用顶级意图的授予标志。
常数值:1(0x00000001)
int FLAG_GRANT_WRITE_URI_PERMISSION
如果设置,则此Intent的接收者将被授予对Intent数据中的URI和其ClipData中指定的任何URI执行写操作的权限。 当应用到Intent的ClipData时,所有URI以及通过Intent项目中的数据或其他ClipData的递归遍历都将被授予; 只使用顶级意图的授予标志。
常量值:2(0x00000002)
int FLAG_INCLUDE_STOPPED_PACKAGES
如果设置,此意图将始终匹配当前停止的包中的任何组件。 这是FLAG_EXCLUDE_STOPPED_PACKAGES
未设置时的默认行为。 如果这两个标志都设置了,这个标志就会胜出(它允许在框架可以自动设置排除标志的地方重写排除)。
常量值:32(0x00000020)
int FLAG_RECEIVER_FOREGROUND
如果设置,在发送广播时,允许接收者以前台优先级运行,并且具有较短的超时间隔。 在正常广播期间,接收器不会自动挂出背景优先级。
常量值:268435456(0x10000000)
int FLAG_RECEIVER_NO_ABORT
如果这是一个有序广播,请不要让接收方中止广播。 他们仍然可以将结果传播给后来的接收者,但他们无法阻止后来的接收者看到广播。
常量值:134217728(0x08000000)
int FLAG_RECEIVER_REGISTERED_ONLY
如果设置,在发送广播时只有已注册的接收器将被调用 - 不会启动BroadcastReceiver组件。
常量值:1073741824(0x40000000)
int FLAG_RECEIVER_REPLACE_PENDING
如果设置,在发送广播时,新的广播将替换与其相匹配的任何现有未决广播。 匹配由Intent.filterEquals
定义为两个广播的意图返回true。 当找到一个匹配的时候,新的广播(和与之相关的接收者)将取代待处理广播列表中的现有广播,并保留在列表中的相同位置。
这个标志通常与粘性广播一起使用,它只关心向接收者提供广播的最新值。
常量值:536870912(0x20000000)
String METADATA_DOCK_HOME
布尔值,可以作为具有停靠活动的元数据提供,以指示停靠点在活动时应接管主键。
常量值:“android.dock_home”
int URI_ALLOW_UNSAFE
与toUri(int)
和parseUri(String, int)
一起使用的标志:允许解析不安全的信息。 尤其是,标志FLAG_GRANT_READ_URI_PERMISSION
, FLAG_GRANT_WRITE_URI_PERMISSION
, FLAG_GRANT_PERSISTABLE_URI_PERMISSION
,并FLAG_GRANT_PREFIX_URI_PERMISSION
标志不能设置,这样生成的意图不能导致意外的数据访问的情况发生。
如果您不相信正在分析的URI的来源,则仍应进行进一步处理以保护自己。 尤其是,在使用它开始活动时,通常应该添加CATEGORY_BROWSABLE
来限制可以处理它的活动。
常量值:4(0x00000004)
int URI_ANDROID_APP_SCHEME
用于toUri(int)
和parseUri(String, int)
:URI字符串始终具有“android-app:”方案。 这是一种URI_INTENT_SCHEME
的变体,其格式对于将http / https URI传递到特定软件包名称的情况更简单。 格式是:
android-app://{package_id}[/{scheme}[/{host}[/{path}]]][#Intent;{...}]
在这个方案中,只需要package_id
。 如果你包含一个主机,你还必须包含一个方案; 包括路径也需要主机和方案。 最终的#Intent; 片段可以在没有方案,主机或路径的情况下使用。 请注意,这不能与setSelector(Intent)
意图一起使用,因为基本意图将始终具有明确的软件包名称。
这个方案如何映射到Intent对象的一些例子:
URI | Intent | ||||||
---|---|---|---|---|---|---|---|
android-app://com.example.app |
|
||||||
android-app://com.example.app/http/example.com |
|
||||||
android-app://com.example.app/http/example.com/foo?1234 |
|
||||||
android-app://com.example.app/ |
|
||||||
android-app://com.example.app/http/example.com/foo?1234 |
|
||||||
android-app://com.example.app/ |
|
常量值:2(0x00000002)
int URI_INTENT_SCHEME
用于toUri(int)
和parseUri(String, int)
:URI字符串始终具有“intent:”方案。 如果您稍后想要在意图描述Intent的URI与其他所有应该被视为原始URI的URI之间消除歧义,则可以使用此语法。 当与parseUri(String, int)
使用时,任何其他方案都将导致该原始URI的通用VIEW操作。
常数值:1(0x00000001)
Intent (String action)
用给定的动作创建一个意图。 所有其他字段(数据,类型,类)都为空。 请注意,该操作必须位于命名空间中,因为Intents在系统中全局使用 - 例如系统VIEW操作为android.intent.action.VIEW; 应用程序的自定义操作就像com.google.app.myapp.CUSTOM_ACTION一样。
Parameters | |
---|---|
action |
String : The Intent action, such as ACTION_VIEW. |
Intent (String action, Uri uri)
用给定的动作和给定的数据url创建一个intent。 请注意,该操作必须位于命名空间中,因为Intents在系统中全局使用 - 例如系统VIEW操作为android.intent.action.VIEW; 应用程序的自定义操作就像com.google.app.myapp.CUSTOM_ACTION一样。
注意:与正式RFC不同,Android框架中的方案和主机名匹配区分大小写。 因此,您应该始终确保您使用小写字母编写这些元素,并对从Android以外收到的任何Uris进行规范化,以确保该方案和主机是小写字母。
Parameters | |
---|---|
action |
String : The Intent action, such as ACTION_VIEW. |
uri |
Uri : The Intent data URI. |
Intent (Context packageContext, Class<?> cls)
为特定组件创建一个意图。 所有其他字段(动作,数据,类型,类)都为空,尽管稍后可以使用显式调用修改它们。 这提供了一种方便的方法来创建一个旨在执行硬编码类名的意图,而不是依赖系统为您找到合适的类; 有关此影响的更多信息,请参阅setComponent(ComponentName)
。
Parameters | |
---|---|
packageContext |
Context : A Context of the application package implementing this class. |
cls |
Class : The component class that is to be used for the intent. |
Intent (String action, Uri uri, Context packageContext, Class<?> cls)
使用指定的操作和数据为特定组件创建一个意图。 这相当于使用Intent(String, android.net.Uri)
构造意图,然后调用setClass(Context, Class
)
来设置其类。
注意:与正式RFC不同,Android框架中的方案和主机名匹配区分大小写。 因此,您应该始终确保您使用小写字母编写这些元素,并对从Android以外收到的任何Uris进行规范化,以确保该方案和主机是小写字母。
Parameters | |
---|---|
action |
String : The Intent action, such as ACTION_VIEW. |
uri |
Uri : The Intent data URI. |
packageContext |
Context : A Context of the application package implementing this class. |
cls |
Class : The component class that is to be used for the intent. |
Intent addCategory (String category)
为意图添加一个新类别。 类别提供了关于意图执行的操作的更多详细信息。 解决意图时,只会使用提供所有请求类别的活动。
Parameters | |
---|---|
category |
String : The desired category. This can be either one of the predefined Intent categories, or a custom category in your own namespace. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent addFlags (int flags)
为意图添加额外的标志(或与现有的标志值)。
Parameters | |
---|---|
flags |
int : The new flags to set. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
也可以看看:
Object clone ()
创建并返回此对象的副本。 “复制”的确切含义可能取决于对象的类别。 一般意图是,对于任何对象x
,表达式:
will be true, and that the expression:x.clone() != x
will bex.clone().getClass() == x.getClass()
true
, but these are not absolute requirements. While it is typically the case that:
will bex.clone().equals(x)
true
, this is not an absolute requirement.
按照惯例,返回的对象应该通过调用super.clone
获得。 如果一个类和它的所有超类( Object
除外)都遵守这个约定,那么情况就是x.clone().getClass() == x.getClass()
。
按照惯例,这个方法返回的对象应该独立于这个对象(被克隆)。 为了实现这种独立性,可能需要在返回super.clone
之前修改返回的对象的一个或多个字段。 通常,这意味着复制包含被克隆对象的内部“深层结构”的任何可变对象,并将这些对象的引用替换为对这些副本的引用。 如果一个类仅包含原始字段或对不可变对象的引用,那么通常情况下不需要修改由super.clone
返回的对象中的字段。
类Object
的方法clone
执行特定的克隆操作。 首先,如果该对象的类没有实现接口Cloneable
,则引发CloneNotSupportedException
。 请注意,所有数组都被视为实现接口Cloneable
并且数组类型T[]
的clone
方法的返回类型为T[]
,其中T是任何引用或基本类型。 否则,此方法创建该对象的类的新实例,并使用该对象的相应字段的内容来初始化其所有字段,就像通过赋值一样; 这些字段的内容本身并不克隆。 因此,此方法执行此对象的“浅拷贝”,而不是“深拷贝”操作。
类 Object
本身并不实现接口 Cloneable
,所以在类 Object
的对象上调用 clone
方法将导致在运行时抛出异常。
Returns | |
---|---|
Object |
a clone of this instance. |
Intent cloneFilter ()
仅对与过滤器匹配相关的Intent部分进行克隆:操作,数据,类型,组件和类别。
Returns | |
---|---|
Intent |
Intent createChooser (Intent target, CharSequence title, IntentSender sender)
用于创建 ACTION_CHOOSER
意图的便利功能。
构建一个新的ACTION_CHOOSER
意图封装了给定的目标意图,也选择性地提供一个标题。 如果目标意图指定了FLAG_GRANT_READ_URI_PERMISSION
或FLAG_GRANT_WRITE_URI_PERMISSION
,那么这些标志也将在返回的选择器意图中设置,其ClipData设置恰当:如果该getClipData()
为非null,则直接反映为getClipData()
,或者从getData()
构建新的getData()
。
当用户做出选择时,主叫方可以选择提供IntentSender
以接收回IntentSender
。 如果调用应用程序想要记住上次选择的目标,并将其作为下次显示在UI中其他位置的更突出或单触式可供使用的功能,则此功能非常有用。
Parameters | |
---|---|
target |
Intent : The Intent that the user will be selecting an activity to perform. |
title |
CharSequence : Optional title that will be displayed in the chooser. |
sender |
IntentSender : Optional IntentSender to be called when a choice is made. |
Returns | |
---|---|
Intent |
Return a new Intent object that you can hand to Context.startActivity() and related methods. |
Intent createChooser (Intent target, CharSequence title)
用于创建 ACTION_CHOOSER
意图的便利功能。
构建一个包含给定目标意图的新的ACTION_CHOOSER
意图,也可以选择提供标题。 如果目标意图指定了FLAG_GRANT_READ_URI_PERMISSION
或FLAG_GRANT_WRITE_URI_PERMISSION
,那么这些标志也将在返回的选择器意图中设置,其ClipData设置恰当:如果该getClipData()
为非null,则直接反映为getClipData()
,或者从getData()
构建新的getData()
。
Parameters | |
---|---|
target |
Intent : The Intent that the user will be selecting an activity to perform. |
title |
CharSequence : Optional title that will be displayed in the chooser. |
Returns | |
---|---|
Intent |
Return a new Intent object that you can hand to Context.startActivity() and related methods. |
int describeContents ()
描述此Parcelable实例的封送表示中包含的特殊对象的种类。 例如,如果对象将在writeToParcel(Parcel, int)
的输出中包含writeToParcel(Parcel, int)
,则此方法的返回值必须包含CONTENTS_FILE_DESCRIPTOR
位。
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. |
int fillIn (Intent other, int flags)
将其他内容复制到此对象中,但仅限其中字段未由此对象定义的位置。 为了定义字段的目的,意图中的以下数据被认为是独立的字段:
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)
. 此外,你可以使用 FILL_IN_ACTION
, FILL_IN_DATA
, FILL_IN_CATEGORIES
, FILL_IN_PACKAGE
, FILL_IN_COMPONENT
, FILL_IN_SOURCE_BOUNDS
, FILL_IN_SELECTOR
,并 FILL_IN_CLIP_DATA
覆盖在那里,如果它已经被设置相应字段不会被替换的限制。
注意:只有明确指定FILL_IN_COMPONENT
,组件字段才会被复制。 只有明确指定FILL_IN_SELECTOR
时,才会复制选择器。
例如,考虑{data =“foo”,categories =“bar”}的Intent A和{action =“gotit”,data-type =“some / thing”,categories =“one”,“two” }。
调用A.fillIn(B,Intent.FILL_IN_DATA)将导致A现在包含:{action =“gotit”,data-type =“some / thing”,categories =“bar”}。
Parameters | |
---|---|
other |
Intent : Another Intent whose values are to be used to fill in the current one. |
flags |
int : Options to control which fields can be filled in. |
Returns | |
---|---|
int |
Returns a bit mask of FILL_IN_ACTION , FILL_IN_DATA , FILL_IN_CATEGORIES , FILL_IN_PACKAGE , FILL_IN_COMPONENT , FILL_IN_SOURCE_BOUNDS , FILL_IN_SELECTOR and {@link #FILL_IN_CLIP_DATA indicating which fields were changed. |
boolean filterEquals (Intent other)
确定两个意图是否相同意图解决(过滤)的目的。 也就是说,如果他们的行为,数据,类型,类别和类别相同。 这不比较列入意图的任何额外数据。
Parameters | |
---|---|
other |
Intent : The other Intent to compare against. |
Returns | |
---|---|
boolean |
Returns true if action, data, type, class, and categories are the same. |
int filterHashCode ()
生成匹配filterEquals()的语义的哈希码。
Returns | |
---|---|
int |
Returns the hash value of the action, data, type, class, and categories. |
也可以看看:
String getAction ()
检索要执行的一般操作,例如ACTION_VIEW
。 该行为描述了意图中其余信息的一般解释方式 - 最重要的是,如何处理由getData()
返回的数据。
Returns | |
---|---|
String |
The action of this intent or null if none is specified. |
也可以看看:
boolean[] getBooleanArrayExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
boolean[] |
the value of an item that previously added with putExtra() or null if no boolean array value was found. |
也可以看看:
boolean getBooleanExtra (String name, boolean defaultValue)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
defaultValue |
boolean : the value to be returned if no value of the desired type is stored with the given name. |
Returns | |
---|---|
boolean |
the value of an item that previously added with putExtra() or the default value if none was found. |
也可以看看:
Bundle getBundleExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
Bundle |
the value of an item that previously added with putExtra() or null if no Bundle value was found. |
也可以看看:
byte[] getByteArrayExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
byte[] |
the value of an item that previously added with putExtra() or null if no byte array value was found. |
也可以看看:
byte getByteExtra (String name, byte defaultValue)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
defaultValue |
byte : the value to be returned if no value of the desired type is stored with the given name. |
Returns | |
---|---|
byte |
the value of an item that previously added with putExtra() or the default value if none was found. |
也可以看看:
Set<String> getCategories ()
返回意图中所有类别的集合。 如果没有类别,则返回NULL。
Returns | |
---|---|
Set<String> |
The set of categories you can examine. Do not modify! |
char[] getCharArrayExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
char[] |
the value of an item that previously added with putExtra() or null if no char array value was found. |
也可以看看:
char getCharExtra (String name, char defaultValue)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
defaultValue |
char : the value to be returned if no value of the desired type is stored with the given name. |
Returns | |
---|---|
char |
the value of an item that previously added with putExtra() or the default value if none was found. |
也可以看看:
CharSequence[] getCharSequenceArrayExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
CharSequence[] |
the value of an item that previously added with putExtra() or null if no CharSequence array value was found. |
ArrayList<CharSequence> getCharSequenceArrayListExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
ArrayList<CharSequence> |
the value of an item that previously added with putExtra() or null if no ArrayList
|
CharSequence getCharSequenceExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
CharSequence |
the value of an item that previously added with putExtra() or null if no CharSequence value was found. |
ClipData getClipData ()
返回与此意图关联的ClipData
。 如果没有,则返回null。 有关更多信息,请参阅setClipData(ClipData)
。
Returns | |
---|---|
ClipData |
也可以看看:
ComponentName getComponent ()
检索与意图关联的具体组件。 当接收到一个意图时,这是最好的处理它的组件(也就是你自己),并且总是非空的; 在所有其他情况下,除非明确设置,否则它将为空。
Returns | |
---|---|
ComponentName |
The name of the application component to handle the intent. |
Uri getData ()
检索这个意图所运行的数据。 该URI指定数据的名称; 通常它会使用content:scheme,在内容提供者中指定数据。 其他方案可能由特定活动处理,例如http:通过网页浏览器。
Returns | |
---|---|
Uri |
The URI of the data this intent is targeting or null. |
也可以看看:
String getDataString ()
与 getData()
相同,但将URI作为编码的字符串返回。
Returns | |
---|---|
String |
double[] getDoubleArrayExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
double[] |
the value of an item that previously added with putExtra() or null if no double array value was found. |
也可以看看:
double getDoubleExtra (String name, double defaultValue)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
defaultValue |
double : the value to be returned if no value of the desired type is stored with the given name. |
Returns | |
---|---|
double |
the value of an item that previously added with putExtra() or the default value if none was found. |
也可以看看:
Bundle getExtras ()
从意图中检索扩展数据的映射。
Returns | |
---|---|
Bundle |
the map of all extras previously added with putExtra(), or null if none have been added. |
int getFlags ()
检索任何与此意图相关的特殊标志。 您通常只需将它们设置为setFlags(int)
并让系统对它们采取适当的操作。
Returns | |
---|---|
int |
int The currently set flags. |
也可以看看:
float[] getFloatArrayExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
float[] |
the value of an item that previously added with putExtra() or null if no float array value was found. |
也可以看看:
float getFloatExtra (String name, float defaultValue)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
defaultValue |
float : the value to be returned if no value of the desired type is stored with the given name. |
Returns | |
---|---|
float |
the value of an item that previously added with putExtra(), or the default value if no such item is present |
也可以看看:
int[] getIntArrayExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
int[] |
the value of an item that previously added with putExtra() or null if no int array value was found. |
也可以看看:
int getIntExtra (String name, int defaultValue)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
defaultValue |
int : the value to be returned if no value of the desired type is stored with the given name. |
Returns | |
---|---|
int |
the value of an item that previously added with putExtra() or the default value if none was found. |
也可以看看:
ArrayList<Integer> getIntegerArrayListExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
ArrayList<Integer> |
the value of an item that previously added with putExtra() or null if no ArrayList
|
Intent getIntent (String uri)
此方法在API级别4中已弃用。
改为使用parseUri(String, int)
。
用0标志调用 parseUri(String, int)
。
Parameters | |
---|---|
uri |
String
|
Returns | |
---|---|
Intent |
Throws | |
---|---|
URISyntaxException |
Intent getIntentOld (String uri)
Parameters | |
---|---|
uri |
String
|
Returns | |
---|---|
Intent |
Throws | |
---|---|
URISyntaxException |
long[] getLongArrayExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
long[] |
the value of an item that previously added with putExtra() or null if no long array value was found. |
也可以看看:
long getLongExtra (String name, long defaultValue)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
defaultValue |
long : the value to be returned if no value of the desired type is stored with the given name. |
Returns | |
---|---|
long |
the value of an item that previously added with putExtra() or the default value if none was found. |
也可以看看:
String getPackage ()
检索此Intent仅限于的应用程序包名称。 解析Intent时,如果非null,则会将分辨率限制为仅给定应用程序包中的组件。
Returns | |
---|---|
String |
The name of the application package for the Intent. |
Parcelable[] getParcelableArrayExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
Parcelable[] |
the value of an item that previously added with putExtra() or null if no Parcelable[] value was found. |
ArrayList<T> getParcelableArrayListExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
ArrayList<T> |
the value of an item that previously added with putExtra() or null if no ArrayList
|
T getParcelableExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
T |
the value of an item that previously added with putExtra() or null if no Parcelable value was found. |
也可以看看:
String getScheme ()
返回意图数据的方案部分。 如果数据为空或不包含方案,则返回null。 否则,返回没有最终':'的方案前缀,即“http”。
这与调用getData()。getScheme()(并检查空数据)相同。
Returns | |
---|---|
String |
The scheme of this intent. |
也可以看看:
Intent getSelector ()
返回与此Intent关联的特定选择器。 如果没有,则返回null。 有关更多信息,请参阅setSelector(Intent)
。
Returns | |
---|---|
Intent |
也可以看看:
Serializable getSerializableExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
Serializable |
the value of an item that previously added with putExtra() or null if no Serializable value was found. |
short[] getShortArrayExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
short[] |
the value of an item that previously added with putExtra() or null if no short array value was found. |
也可以看看:
short getShortExtra (String name, short defaultValue)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
defaultValue |
short : the value to be returned if no value of the desired type is stored with the given name. |
Returns | |
---|---|
short |
the value of an item that previously added with putExtra() or the default value if none was found. |
也可以看看:
Rect getSourceBounds ()
以屏幕坐标获取此意图发件人的界限。 这可以用于向动画等的接收器提示。 空表示没有源边界。
Returns | |
---|---|
Rect |
String[] getStringArrayExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
String[] |
the value of an item that previously added with putExtra() or null if no String array value was found. |
也可以看看:
ArrayList<String> getStringArrayListExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
ArrayList<String> |
the value of an item that previously added with putExtra() or null if no ArrayList
|
String getStringExtra (String name)
从意图中检索扩展数据。
Parameters | |
---|---|
name |
String : The name of the desired item. |
Returns | |
---|---|
String |
the value of an item that previously added with putExtra() or null if no String value was found. |
也可以看看:
String getType ()
检索意图中包含的任何显式MIME类型。 这通常是空的,因为类型是由意向数据决定的。
Returns | |
---|---|
String |
If a type was manually set, it is returned; else null is returned. |
boolean hasCategory (String category)
检查意图中是否存在类别。
Parameters | |
---|---|
category |
String : The category to check. |
Returns | |
---|---|
boolean |
boolean True if the intent contains the category, else false. |
boolean hasExtra (String name)
如果额外值与给定名称相关联,则返回true。
Parameters | |
---|---|
name |
String : the extra's name |
Returns | |
---|---|
boolean |
true if the given extra is present. |
boolean hasFileDescriptors ()
如果Intent的extras包含一个parcel文件描述符,则返回true。
Returns | |
---|---|
boolean |
true if the Intent contains a parcelled file descriptor. |
Intent makeMainActivity (ComponentName mainActivity)
创建一个意图来启动任务的主(根)活动。 这是应用程序从Home启动时启动的Intent。 对于其他任何想要以相同方式启动应用程序的应用程序,重要的是他们使用Intent结构相同的方式,并且可以使用此功能来确保这种情况。
返回的Intent具有给定的Activity组件作为其显式组件, ACTION_MAIN
作为其操作,并包含类别CATEGORY_LAUNCHER
。 这并没有设置FLAG_ACTIVITY_NEW_TASK
,但通常您会希望通过返回的Intent中的addFlags(int)
来完成此addFlags(int)
。
Parameters | |
---|---|
mainActivity |
ComponentName : The main activity component that this Intent will launch. |
Returns | |
---|---|
Intent |
Returns a newly created Intent that can be used to launch the activity as a main application entry. |
Intent makeMainSelectorActivity (String selectorAction, String selectorCategory)
为应用程序的主要活动制定意图,而不指定要运行的特定活动,但要提供选择器以查找活动。 这会导致最终的Intent与应用程序从Home启动时的结构相同。 对于其他任何想要以相同方式启动应用程序的应用程序,重要的是他们使用Intent结构相同的方式,并且可以使用此功能来确保这种情况。
返回的Intent具有ACTION_MAIN
作为其操作,并包含类别CATEGORY_LAUNCHER
。 这并不一定FLAG_ACTIVITY_NEW_TASK
集,但通常你会想要做的是通过addFlags(int)
对返回的意图。
Parameters | |
---|---|
selectorAction |
String : The action name of the Intent's selector. |
selectorCategory |
String : The name of a category to add to the Intent's selector. |
Returns | |
---|---|
Intent |
Returns a newly created Intent that can be used to launch the activity as a main application entry. |
也可以看看:
Intent makeRestartActivityTask (ComponentName mainActivity)
制作可用于在基本状态下重新启动应用程序任务的意图。 这与makeMainActivity(ComponentName)
,但也设置标志FLAG_ACTIVITY_NEW_TASK
和FLAG_ACTIVITY_CLEAR_TASK
。
Parameters | |
---|---|
mainActivity |
ComponentName : 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. |
Returns | |
---|---|
Intent |
Returns a newly created Intent that can be used to relaunch the activity's task in its root state. |
String normalizeMimeType (String type)
规范MIME数据类型。
规范化的MIME类型具有空白修剪的内容类型参数,并且是小写的。 这将类型与Android最佳惯例进行意图过滤对齐。
例如,“text / plain; charset = utf-8”变为“text / plain”。 “text / x-vCard”变为“text / x-vcard”。
从外部Android接收的所有MIME类型(例如用户输入或外部来源,如蓝牙,NFC或互联网)应在用于创建Intent之前进行规范化。
Parameters | |
---|---|
type |
String : MIME data type to normalize |
Returns | |
---|---|
String |
normalized MIME data type, or null if the input was null |
Intent parseIntent (Resources resources, XmlPullParser parser, AttributeSet attrs)
从XML解析“intent”元素(及其子元素)并实例化一个Intent对象。 给定的XML解析器应该位于解析应该开始的标签处(通常命名为“intent”),从中检索基本操作,数据,类型以及包和类名称。 该函数将解析任何子元素,寻找
Parameters | |
---|---|
resources |
Resources : The Resources to use when inflating resources. |
parser |
XmlPullParser : The XML parser pointing at an "intent" tag. |
attrs |
AttributeSet : The AttributeSet interface for retrieving extended attribute data at the current parser location. |
Returns | |
---|---|
Intent |
An Intent object matching the XML data. |
Throws | |
---|---|
XmlPullParserException |
If there was an XML parsing error. |
IOException |
If there was an I/O error. |
Intent parseUri (String uri, int flags)
从URI创建一个意图。 该URI可以对动作,类别和其他意图字段进行编码,如果它由toUri(int)
返回。 如果Intent不是由toUri()生成的,则其数据将是整个URI,其操作将是ACTION_VIEW。
这里给出的URI不能是相对的 - 也就是说,它必须包含方案和完整路径。
Parameters | |
---|---|
uri |
String : The URI to turn into an Intent. |
flags |
int : Additional processing flags. Either 0, URI_INTENT_SCHEME , or URI_ANDROID_APP_SCHEME . |
Returns | |
---|---|
Intent |
Intent The newly created Intent object. |
Throws | |
---|---|
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. |
也可以看看:
Intent putCharSequenceArrayListExtra (String name, ArrayList<CharSequence> value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
ArrayList : The ArrayList
|
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, Parcelable value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
Parcelable : The Parcelable data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, long[] value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
long : The byte array data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, byte value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
byte : The byte data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, double[] value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
double : The double array data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, CharSequence value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
CharSequence : The CharSequence data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, boolean[] value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
boolean : The boolean array data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, int value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
int : The integer data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, char[] value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
char : The char array data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, byte[] value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
byte : The byte array data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, Parcelable[] value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
Parcelable : The Parcelable[] data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, Bundle value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
Bundle : The Bundle data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, CharSequence[] value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
CharSequence : The CharSequence array data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, float[] value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
float : The float array data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, double value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
double : The double data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, int[] value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
int : The int array data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, String[] value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
String : The String array data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, short[] value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
short : The short array data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, boolean value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
boolean : The boolean data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, String value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
String : The String data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, long value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
long : The long data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, char value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
char : The char data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, Serializable value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
Serializable : The Serializable data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, float value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
float : The float data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtra (String name, short value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
short : The short data value. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putExtras (Intent src)
将'src'中的所有附加内容复制到这个意图中。
Parameters | |
---|---|
src |
Intent : Contains the extras to copy. |
Returns | |
---|---|
Intent |
也可以看看:
Intent putExtras (Bundle extras)
为意图添加一组扩展数据。 键必须包含一个包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
extras |
Bundle : The Bundle of extras to add to this intent. |
Returns | |
---|---|
Intent |
Intent putIntegerArrayListExtra (String name, ArrayList<Integer> value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
ArrayList : The ArrayList
|
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putParcelableArrayListExtra (String name, ArrayList<? extends Parcelable> value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
ArrayList : The ArrayList
|
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent putStringArrayListExtra (String name, ArrayList<String> value)
将扩展数据添加到意图。 该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。
Parameters | |
---|---|
name |
String : The name of the extra data, with package prefix. |
value |
ArrayList : The ArrayList
|
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
void removeCategory (String category)
从意图中删除一个类别。
Parameters | |
---|---|
category |
String : The category to remove. |
也可以看看:
void removeExtra (String name)
从意图中删除扩展数据。
Parameters | |
---|---|
name |
String
|
也可以看看:
Intent replaceExtras (Intent src)
用Intent中的extras完全替换Intent中的extras。
Parameters | |
---|---|
src |
Intent : The exact extras contained in this Intent are copied into the target intent, replacing any that were previously there. |
Returns | |
---|---|
Intent |
Intent replaceExtras (Bundle extras)
用给定的附加组件完全替换Intent中的附加组件。
Parameters | |
---|---|
extras |
Bundle : The new set of extras in the Intent, or null to erase all extras. |
Returns | |
---|---|
Intent |
ComponentName resolveActivity (PackageManager pm)
返回应该用来处理这个意图的Activity组件。 根据意图中的信息确定适当的组成部分,评估如下:
如果 getComponent()
返回一个显式类,那么将返回而不作任何进一步考虑。
该活动必须处理 CATEGORY_DEFAULT
意图类别。
如果 getAction()
不是NULL,则该活动必须处理此操作。
如果 resolveType(ContentResolver)
返回非NULL,则该活动必须处理此类型。
如果 addCategory(String)
已添加任何类别,则该活动必须处理指定的所有类别。
如果 getPackage()
非NULL,则仅考虑该应用程序包中的活动组件。
如果没有满足所有这些条件的活动,则返回空字符串。
如果发现多个活动满足该意图,则将使用具有最高优先级的活动。 如果有多个具有相同优先级的活动,系统将根据用户偏好选择最佳活动,或者解析为允许用户选择活动并从那里转发的系统类。
只需通过调用 resolveActivity(Intent, int)
“defaultOnly”参数为true即可实现此方法。
这个API是作为从意图开始活动的一部分而被调用的。 你通常不需要自己打电话。
Parameters | |
---|---|
pm |
PackageManager : The package manager with which to resolve the Intent. |
Returns | |
---|---|
ComponentName |
Name of the component implementing an activity that can display the intent. |
ActivityInfo resolveActivityInfo (PackageManager pm, int flags)
将意图解析为描述应该执行意图的活动的ActivityInfo
。 解决方法遵循与resolveActivity(PackageManager)
所述相同的规则,但是您可以获取有关已解决活动的完整信息,而不仅仅是其类名。
Parameters | |
---|---|
pm |
PackageManager : The package manager with which to resolve the Intent. |
flags |
int : Addition information to retrieve as per PackageManager.getActivityInfo() . |
Returns | |
---|---|
ActivityInfo |
PackageManager.ActivityInfo |
String resolveType (Context context)
返回此意图的MIME数据类型。 如果类型字段是明确设置的,那么简单地返回。 否则,如果数据已设置,则返回该数据的类型。 如果两个字段均未设置,则返回空值。
Parameters | |
---|---|
context |
Context
|
Returns | |
---|---|
String |
The MIME type of this intent. |
String resolveType (ContentResolver resolver)
返回此意图的MIME数据类型。 如果类型字段是明确设置的,那么简单地返回。 否则,如果数据已设置,则返回该数据的类型。 如果两个字段均未设置,则返回空值。
Parameters | |
---|---|
resolver |
ContentResolver : A ContentResolver that can be used to determine the MIME type of the intent's data. |
Returns | |
---|---|
String |
The MIME type of this intent. |
也可以看看:
String resolveTypeIfNeeded (ContentResolver resolver)
仅当意图解析需要它时才返回此意图的MIME数据类型。 这对于应用程序代码通常不是有用的; 它被框架用于与后端系统服务进行通信。
Parameters | |
---|---|
resolver |
ContentResolver : A ContentResolver that can be used to determine the MIME type of the intent's data. |
Returns | |
---|---|
String |
The MIME type of this intent, or null if it is unknown or not needed. |
Intent setAction (String action)
设置要执行的一般操作。
Parameters | |
---|---|
action |
String : An action name, such as ACTION_VIEW. Application-specific actions should be prefixed with the vendor's package name. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
也可以看看:
Intent setClass (Context packageContext, Class<?> cls)
使用由 Class
对象返回的名称调用 setComponent(ComponentName)
便利。
Parameters | |
---|---|
packageContext |
Context : A Context of the application package implementing this class. |
cls |
Class : The class name to set, equivalent to setClassName(context, cls.getName()) . |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
也可以看看:
Intent setClassName (String packageName, String className)
使用显式的应用程序包名称和类名称调用 setComponent(ComponentName)
便利性。
Parameters | |
---|---|
packageName |
String : The name of the package implementing the desired component. |
className |
String : The name of a class inside of the application package that will be used as the component for this Intent. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent setClassName (Context packageContext, String className)
使用明确的类名称调用 setComponent(ComponentName)
便利性。
Parameters | |
---|---|
packageContext |
Context : A Context of the application package implementing this class. |
className |
String : The name of a class inside of the application package that will be used as the component for this Intent. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
void setClipData (ClipData clip)
设置与此意图关联的ClipData
。 这取代了以前设置的ClipData。
意图中的ClipData不用于Intent匹配或其他此类操作。 在语义上它就像extras,用于通过Intent传输附加数据。 使用这个附加数据的主要特征是FLAG_GRANT_READ_URI_PERMISSION
和FLAG_GRANT_WRITE_URI_PERMISSION
将对包含在剪辑数据中的任何URI项目进行操作。 特别是,如果您想传输包含多个content:
URI的收件人可能不具有访问内容提供者的全局权限,那么这非常有用。
如果ClipData包含本身为Intents的项目,则这些Intents中的任何授予标志都将被忽略。 只有主要意图的顶级标志受到尊重,并且将应用于剪辑中的所有Uri或Intent项目(或剪辑的子项目)。
Intent中不直接使用ClipData对象中的MIME类型,标签和图标。 应用程序通常应该依赖于Intent本身的MIME类型,而不是它可能在ClipData中找到的类型。 通常的做法是构建一个ClipData,用于MIME类型为“* / *”的Intent。
Parameters | |
---|---|
clip |
ClipData : The new clip to set. May be null to clear the current clip. |
Intent setComponent (ComponentName component)
(通常是可选的)显式设置组件来处理意图。 如果保留缺省值为null,则系统将根据Intent中的其他字段(操作,数据,类型,类别)确定要使用的适当类。 如果定义了这个类,那么不管其他字段如何,总是会使用指定的类。 当你知道你绝对想要使用特定的类时,你应该只设置这个值; 否则最好让系统找到适当的类,以便尊重已安装的应用程序和用户首选项。
Parameters | |
---|---|
component |
ComponentName : The name of the application component to handle the intent, or null to let the system find one for you. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent setData (Uri data)
设置这个意图的数据。 此方法自动清除以前由setType(String)
或setTypeAndNormalize(String)
设置的任何类型。
注意:与正式RFC不同,Android框架中的方案匹配区分大小写。 因此,您应该始终使用小写格式编写您的Uri,或者使用normalizeScheme()
或setDataAndNormalize(Uri)
来确保该方案转换为小写。
Parameters | |
---|---|
data |
Uri : The Uri of the data this intent is now targeting. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent setDataAndNormalize (Uri data)
规范化并设置这个意图的数据。
此方法自动清除以前设置的任何类型(例如 setType(String)
)。
数据Uri在设置之前使用 normalizeScheme()
进行标准化,所以真的这只是一种方便的方法
setData(data.normalize())
Parameters | |
---|---|
data |
Uri : The Uri of the data this intent is now targeting. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent setDataAndType (Uri data, String type)
(通常是可选的)设置intent的数据以及显式的MIME数据类型。 这种方法应该很少被使用 - 它允许你重写通常用你自己的类型在这里给出的数据推断的MIME类型。
注意:与正式的RFC定义不同,Android框架中的MIME类型和Uri方案匹配区分大小写。 因此,应始终使用小写字母编写这些元素,或使用normalizeMimeType(String)
或normalizeScheme()
或setDataAndTypeAndNormalize(Uri, String)
以确保将它们转换为小写字母。
Parameters | |
---|---|
data |
Uri : The Uri of the data this intent is now targeting. |
type |
String : The MIME type of the data being handled by this intent. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent setDataAndTypeAndNormalize (Uri data, String type)
(通常是可选的)规范化并设置数据Uri和显式MIME数据类型。 这种方法应该很少被使用 - 它允许你重写通常用你自己的类型在这里给出的数据推断的MIME类型。
数据Uri和MIME类型在设置之前使用 normalizeScheme()
和 normalizeMimeType(String)
进行标准化,所以实际上这只是一种便捷方法
setDataAndType(data.normalize(), Intent.normalizeMimeType(type))
Parameters | |
---|---|
data |
Uri : The Uri of the data this intent is now targeting. |
type |
String : The MIME type of the data being handled by this intent. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
void setExtrasClassLoader (ClassLoader loader)
设置将来自此Intent附加组件的任何Parcelable值解组时使用的ClassLoader。
Parameters | |
---|---|
loader |
ClassLoader : a ClassLoader, or null to use the default loader at the time of unmarshalling. |
Intent setFlags (int flags)
设置控制这个意图如何处理的特殊标志。 这里的大多数值取决于Intent执行的组件的类型,具体Context.startActivity()
,FLAG_ACTIVITY_ *标志全部用于Context.startActivity()
,FLAG_RECEIVER_ *标志全部用于Context.sendBroadcast()
。
有关这些选项中的某些选项如何影响应用程序的行为的重要信息,请参阅 Tasks and Back Stack文档。
Parameters | |
---|---|
flags |
int : The desired flags. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
也可以看看:
getFlags()
addFlags(int)
FLAG_GRANT_READ_URI_PERMISSION
FLAG_GRANT_WRITE_URI_PERMISSION
FLAG_GRANT_PERSISTABLE_URI_PERMISSION
FLAG_GRANT_PREFIX_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_DOCUMENT
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
Intent setPackage (String packageName)
(通常是可选的)设置一个明确的应用程序包名称,用于限制此Intent将解析的组件。 如果保留为默认值null,则将考虑所有应用程序中的所有组件。 如果非null,则Intent只能匹配给定应用程序包中的组件。
Parameters | |
---|---|
packageName |
String : The name of the application package to handle the intent, or null to allow any application package. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
void setSelector (Intent selector)
为此Intent设置一个选择器。 这是对意图匹配类型的修改。 如果选择器已设置,则将在尝试查找可处理Intent的实体时使用,而不是Intent的主要内容。 这允许您构建包含通用协议的Intent,同时更具体地定位它。
可以使用的例子是CATEGORY_APP_BROWSER
。 此类别允许您构建一个将启动浏览器应用程序的Intent。 但是,应用程序的正确主入口点实际上是ACTION_MAIN
CATEGORY_LAUNCHER
其中setComponent(ComponentName)
用于指定要启动的实际活动。 如果您以不同的方式启动浏览器,则如果用户以前或以后以正常方式启动它,则可能会发生意外行为,因为它们不匹配。 相反,您可以使用MAIN操作(但未指定ComponentName)构建一个Intent,并使用ACTION_MAIN
和CATEGORY_APP_BROWSER
设置一个选择器,以将其专门指向浏览器活动。
设置选择器不会影响filterEquals(Intent)
和filterHashCode()
的行为。 这是选择器所需行为的一部分 - 它不会影响意图的基本含义,只有在确定谁可以处理它时,将与之匹配的是什么类型的东西。
您不能在同一个基本意图上同时使用选择器和 setPackage(String)
。
Parameters | |
---|---|
selector |
Intent : The desired selector Intent; set to null to not use a special selector. |
void setSourceBounds (Rect r)
以屏幕坐标设置此意图发件人的边界。 这可以用于向动画等的接收器提示。 空表示没有源边界。
Parameters | |
---|---|
r |
Rect
|
Intent setType (String type)
设置一个显式的MIME数据类型。
这用于创建仅指定类型而不指定数据的意图,例如指示要返回的数据的类型。
此方法自动清除以前设置的任何数据(例如 setData(Uri)
)。
注意:与正式的RFC MIME类型不同,Android框架中的MIME类型匹配区分大小写。 因此,您应始终使用小写字母编写MIME类型,或使用normalizeMimeType(String)
或setTypeAndNormalize(String)
以确保将其转换为小写字母。
Parameters | |
---|---|
type |
String : The MIME type of the data being handled by this intent. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
Intent setTypeAndNormalize (String type)
规范化并设置显式的MIME数据类型。
这用于创建仅指定类型而不指定数据的意图,例如指示要返回的数据的类型。
此方法自动清除以前设置的任何数据(例如 setData(Uri)
)。
MIME类型在设置之前使用 normalizeMimeType(String)
进行标准化,所以真的这只是一种方便的方法
setType(Intent.normalizeMimeType(type))
Parameters | |
---|---|
type |
String : The MIME type of the data being handled by this intent. |
Returns | |
---|---|
Intent |
Returns the same Intent object, for chaining multiple calls into a single statement. |
String toString ()
返回对象的字符串表示形式。 通常, toString
方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。
类Object
的toString
方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @
”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |
String toURI ()
此方法在API级别4中已弃用。
改为使用toUri(int)
。
用0标志调用 toUri(int)
。
Returns | |
---|---|
String |
String toUri (int flags)
将此Intent转换为一个保存其URI表示的String。 返回的URI字符串已被正确的URI编码,所以它可以与Uri.parse(String)
一起使用。 该URI包含Intent的数据作为基本URI,并附加了一段描述动作,类别,类型,标志,包,组件和附加信息的片段。
您可以将返回的字符串转换回与 getIntent(String)
的意图。
Parameters | |
---|---|
flags |
int : Additional operating flags. Either 0, URI_INTENT_SCHEME , or URI_ANDROID_APP_SCHEME . |
Returns | |
---|---|
String |
Returns a URI encoding URI string describing the entire contents of the Intent. |
void writeToParcel (Parcel out, int flags)
将此对象平铺到一个包裹中。
Parameters | |
---|---|
out |
Parcel : The Parcel in which the object should be written. |
flags |
int : Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE . |