Action、Category、Data、Extras知识具体解释

开头

Intent作为联系各Activity之间的纽带,其作用并不仅仅仅仅限于简单的数据传递。通过其自带的属性,事实上能够方便的完毕非常多较为复杂的操作。比如直接调用拨号功能、直接自己主动调用合适的程序打开不同类型的文件等等。

诸如此类,都能够通过设置Intent属性来完毕。

Intent主要有下面四个重要属性,它们分别为:


Action:Action属性的值为一个字符串,它代表了系统中已经定义了一系列经常使用的动作。通过setAction()方法或在清单文件AndroidManifest.xml中设置。默觉得:DEFAULT。

Data:Data一般是URI格式定义的操作数据。比如:tel:// 。通过setData()方法设置。

Category:Category属性用于指定当前动作(Action)被运行的环境。通过addCategory()方法或在清单文件AndroidManifest.xml中设置。默觉得:CATEGORY_DEFAULT。

Extras:Extras属性主要用于传递目标组件所须要的额外的数据。通过putExtras()方法设置。常作为一个Intent,BroadCast Receiver等组件的传入数据使用!


以上的一些基本知识,另一些约束希望大家能够自己去了解,详细能够參见<Android 4高级编程>这边书第五章

  

四个属性全部常量值例如以下所看到的:(写得快死掉,请大家转载要注明出处:http://blog.csdn.net/ljphhj)

为了让解说起来比較有条理,我将依照自己捋的顺序来解说这四个属性!


Data:


Uri.Parse(x字符串):[格式]

意义

tel:电话号码

用于一些拨号的程序

mailto:收件人邮箱地址

用于发邮件的程序

smsto:短信收件人号码

用于发送短信的程序

content://内容数据格式

用于一些要读取数据内容的地方()

file://文件路径

用于打开指定路径的文件

market://search?q=pname:pkgname:市场数据格式

在Google Market里搜索包名为pkgname的应用

geo:latitude,longitude

在地图上显示指定经纬度的位置

http://xxx.xxxx.com

在浏览器中打开一个网页

Action:


Activity Action 


常量名称

意义

ACTION_MAIN

应用程序入口

ACTION_VIEW

显示数据给用户

ACTION_ATTACH_DATA

指明附加信息给其它地方的一些数据

ACTION_EDIT

显示可编辑的数据

ACTION_PICK

选择数据

ACTION_CHOOSER

显示一个Activity选择器

ACTION_GET_CONTENT

获得内容

ACTION_DIAL

显示打电话的拨号盘

ACITON_CALL

直接打电话

ACTION_SEND

直接发短信

ACTION_SENDTO

选择发短信

ACTION_SEND_MULTIPLE

共享多个二进制内容(MIME type类型)

ACTION_ANSWER

应答来电

ACTION_INSERT

插入数据

ACTION_DELETE

删除数据

ACTION_RUN

运行数据

ACTION_SYNC

同步数据

ACTION_PICK_ACTIVITY

从数据项中选择一个子项目,并返回你所选中的项目Activity

ACTION_SEARCH

搜索

ACTION_SEARCH_LONG_PRESS

搜索长按

转载请注明出处=>csdn胖虎:http://blog.csdn.net/ljphhj

ACTION_WEB_SEARCH

Web搜索

ACTION_FACTORY_TEST

工厂測试入口点

ACTION_ALL_APPS

列出全部能应用(相当于启动器Launcher)

ACTION_BUG_REPORT

显示出Bug报告

ACTION_CREATE_SHORTCUT

创建具有“快捷方式”的Activity

ACTION_FACTORY_TEST

工厂測试的入口点

ACTION_INSERT_OR_EDIT

插入并编辑新数据(加入联系人)

ACTION_POWER_USAGE_SUMMARY

显示电池的使用信息

ACTION_SET_WALLPAPER

调用设置墙纸的Activity

ACTION_SYSTEM_TUTORIAL

Start the platform-defined tutorial

ACTION_VOICE_COMMAND

开启语音命令Activity


BroadCast Action

常量名称

意义

ACTION_AIRPLANE_MODE_CHANGED

推断是否开启“飞行模式”

ACTION_BATTERY_CHANGED

监控电池状态改变

ACTION_BATTERY_OKAY

电池脱离“低电量”时达到正常状态

ACTION_BOOT_COMPLETED

在系统完毕启动之后触发

ACTION_CAMERA_BUTTON

按下“依照”button时触发

ACTION_CLOSE_SYSTEM_DIALOGS

系统关闭时/按下Home键/锁屏等使系统窗体关闭的事件时通知

ACTION_CONFIGURATION_CHANGED

当“语言”发生改变时通知(仅仅能通过registerReceiver来注冊广播,不能在清单文件里注冊)【不建议使用】

ACTION_DATE_CHANGED

日期改变

ACTION_DEVICE_STORAGE_LOW

设备内存不足时通知

ACTION_DEVICE_STORAGE_OK

设备内存情况恢复正常时通知

ACTION_DOCK_EVENT

Dock 底座的通知(车载、家用、桌面等底座)

ACTION_EXTERNAL_APPLICATIONS_AVAILABLE

安装的APP从SD卡移动到系统空间

ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE

安装的APP从系统空间移动到SD卡

ACTION_GTALK_SERVICE_CONNECTED

当GTalk连接上的时候通知

ACTION_GTALK_SERVICE_DISCONNECTED

当GTalk断开连接的时候通知

ACTION_HEADSET_PLUG

连接上外设的时候通知(耳机等)

ACTION_INPUT_METHOD_CHANGED

输入法发生改变时通知

ACTION_LOCALE_CHANGED

当前系统区域位置改变时通知

ACTION_MANAGE_PACKAGE_STORAGE

当设备内存不足时(LOW),由用户发起这个广播通知,触发开启包管理器

ACTION_MEDIA_BAD_REMOVAL

未正确移除SD卡(正确移除SD卡的方法:设置--SD卡和设备内存--卸载SD卡),但已把SD卡取出来时发出的广播

广播:扩展介质(扩展卡)已经从 SD 卡插槽拔出,可是挂载点 (mount point) 还没解除 (unmount)

ACTION_MEDIA_BUTTON

按Media 键的时候通知

ACTION_MEDIA_CHECKING

SD卡插入时挂载会发出该通知

ACTION_MEDIA_EJECT

当用户移除掉外部设备SD卡的时候,须要在这个广播通知内进行挂载点打开的全部文件的关闭处理,在这个通知中SD卡还能够读写,在收到ACTION_MEDIA_REMOVED、ACTION_MEDIA_UNMOUNTED等广播之后,sd 卡便不能够读写了!

ACTION_MEDIA_MOUNTED

SD卡被成功挂载

ACTION_MEDIA_NOFS

表示SD卡存在,可是文件系统不兼容或者尚未格式化

ACTION_MEDIA_REMOVED

SD卡被移除

ACTION_MEDIA_UNMOUNTED

SD卡已卸载

ACTION_MEDIA_SHARED

SD卡进入USB连接模式

ACTION_MEDIA_UNSHARED

SD卡退出USB连接模式

ACTION_MEDIA_UNMOUNTABLE

SD卡存在,可是无法挂载

ACTION_MEDIA_SCANNER_STARTED

開始扫描

ACTION_MEDIA_SCANNER_FINISHED

结束扫描

ACTION_MEDIA_SCANNER_SCAN_FILE

正在扫描一个文件

ACTION_NEW_OUTGOING_CALL

拨出的电话会通知(能够做拨出电话的拦截)

转载请注明出处=>csdn胖虎:http://blog.csdn.net/ljphhj

ACTION_PACKAGE_ADDED

有应用程序被加入

ACTION_PACKAGE_CHANGED

有应用程序被改变

ACTION_PACKAGE_DATA_CLEARED

有应用程序数据被清除

ACTION_PACKAGE_INSTALL

有应用程序被安装(监控恶意软件)

ACTION_PACKAGE_REMOVED

有应用程序被删除

ACTION_PACKAGE_REPLACED

有应用程序被替代

ACTION_PACKAGE_RESTARTED

有应用程序被重新启动

ACTION_POWER_CONNECTED

外接电源接入(或充电器)时通知

ACTION_POWER_DISCONNECTED

外接电源移除(或充电器)时通知

ACTION_PROVIDER_CHANGED

有的ContentProvider有自己的空间,这些空间我们想要接触,当有数据发生改变的时候,我们能够触发这个广播通知。

ACTION_REBOOT

设备重新启动通知

ACTION_SCREEN_ON

屏幕打开(仅仅能通过代码动态注冊BroadCastReceiver才干生效)

ACTION_SCREEN_OFF

屏幕关闭(仅仅能通过代码动态注冊BroadCastReceiver才干生效)

ACTION_SHUTDOWN

系统关机广播

ACTION_TIME_CHANGED

时间改变时通知

ACTION_TIME_TICK

以分钟为单位,一分钟触发一次,(不能在清单文件里定义,仅仅能通过动态注冊的方式)

ACTION_TIMEZONE_CHANGED

时区改变时通知

ACTION_UID_REMOVED

用户UID被移除时通知

ACTION_UMS_CONNECTED

手机已进入大容量模式,可是没有消息说USB有没有连上

ACTION_UMS_DISCONNECTED

手机已退出容量模式

ACTION_USER_PRESENT

当用户屏幕解锁后通知

ACTION_WALLPAPER_CHANGED

壁纸改变的通知


Category:


常量名称

意义

CATEGORY_DEFAULT

Android系统中默认的运行方式,依照普通Activity的运行方式运行。

CATEGORY_ALTERNATIVE

把要做的动作指定为在特定数据类型上运行的默认动作的可选项(如:一个联系人的默认动作为查看其信息,而可选的动作则是对其进行信息编辑)

CATEGORY_CAR_DOCK

指定手机被插入汽车底座(硬件)时运行该Activity

CATEGORY_CAR_MODE

设置该Activity可在车载环境下使用

CATEGORY_DESK_DOCK

指定手机被插入桌面底座(硬件)时运行该Activity

CATEGORY_PREFERENCE

设置该组件为Preference。

CATEGORY_DEVELOPMENT_PREFERENCE

说明Activity是一个设置面板

CATEGORY_EMBED

说明能够运行在Activity容器内

CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST

用来作为測试仪器測试框架下的代码

CATEGORY_HOME

设置该组件为Home Activity。

CATEGORY_LAUNCHER

设置该组件为在当前应用程序启动器中优先级最高的Activity,通常为入口ACTION_MAIN(Action)配合使用。

CATEGORY_BROWSABLE

设置该组件能够使用浏览器启动。

CATEGORY_GADGET

设置该组件能够内嵌到另外的Activity中。

转载请注明出处=>csdn胖虎:http://blog.csdn.net/ljphhj

CATEGORY_INFO

用于提供包信息

CATEGORY_MONKEY

说明能够被Monkey或者其它的測试工具运行

CATEGORY_OPENABLE

用来指示一个ACTION_GET_CONTENT的intent, 希望能够ContentResolver.openInputStream能够打开URI

CATEGORY_SAMPLE_CODE

作为一个简单代码演示样例使用(用户一般不用这个)

CATEGORY_SELECTED_ALTERNATIVE

设置这个Activity能否够被觉得是用户当前选择的数据的一个可选择的Action(做插件扩展:http://www.cnblogs.com/xirihanlin/archive/2009/07/31/1536055.html)

CATEGORY_TAB

用于一个TabActivity中

CATEGORY_TEST

用于一般的測试演示样例程序(一般用户不用)

CATEGORY_UNIT_TEST

用于单元測试

Extras:

EXTRA常量值

意义

EXTRA_ALARM_COUNT

存放延迟的Pending Alarms的数量

EXTRA_BCC

存放邮件密送人地址的字符串数组

EXTRA_CC

存放邮件抄送人地址的字符串数组

EXTRA_CHANGED_COMPONENT_NAME

Deprecated.(过时了)

EXTRA_CHANGED_COMPONENT_NAME_LIST

用于调用ACTION_PACKAGE_CHANGED时,列出改变的组件的名字数组

EXTRA_DATA_REMOVED

用于ACTION_PACKAGE_REMOVED时,指示是全然卸载(删除程序和数据),还是部分卸载(留下数据,这意味着有可能是更新应用程序)

EXTRA_DOCK_STATE

用于ACTION_DOCK_EVENT须要这个Dock State.它能取的值有EXTRA_DOCK_STATE_UNDOCKED,EXTRA_DOCK_STATE_DESK,EXTRA_DOCK_STATE_CAR.

EXTRA_DOCK_STATE_CAR

汽车底座

EXTRA_DOCK_STATE_DESK

桌面底座

EXTRA_DOCK_STATE_UNDOCKED

无Dock底座

EXTRA_DONT_KILL_APP

用一个boolean型的值在调用ACTION_PACKAGE_REMOVED或者ACTION_PACKAGE_CHANGED来重载默认的重新启动应用的行为

EXTRA_EMAIL

存放邮件地址的字符串数组

EXTRA_INITIAL_INTENTS

添加额外的Activity选择项到ACTION_CHOOSER调用时的选择列表中

EXTRA_INTENT

配合ACTION_PICK_ACTIVITY.选择你想要的Activity

EXTRA_KEY_EVENT

以KeyEvent对象方式存放触发Intent的按键

EXTRA_PHONE_NUMBER

存放调用ACTION_CALL时的电话号码

EXTRA_REMOTE_INTENT_TOKEN

远程的Intent

EXTRA_REPLACING

一个boolean值配合ACTION_PACKAGE_REMOVED来指示是否程序被替换(又一次安装程序)

EXTRA_SHORTCUT_ICON

图标的名字字符串,它相应的类型为Bitmap,作为快捷方式的图标

EXTRA_SHORTCUT_ICON_RESOURCE

图标的名字的资源字符串,类型为ShortcutIconResource,作为快捷方式的图标

EXTRA_SHORTCUT_INTENT

用于shortcut(快捷方式)的Intent中

EXTRA_STREAM

A content: URI holding a stream of data associated with the Intent, used with ACTION_SEND to supply the data being sent.

EXTRA_SHORTCUT_NAME

配合ACTION_CREATE_SHORTCUT来创建一个Activity的快捷方式时,指定快捷方式的名字

EXTRA_SUBJECT

存放邮件主题字符串

EXTRA_TEMPLATE

The initial data to place in a newly created record. Use with ACTION_INSERT. The data here is a Map containing the same fields as would be given to the underlying ContentProvider.insert() call.

EXTRA_TEXT

存放邮件内容

EXTRA_TITLE

配合ACTION_CHOOSER,在创建Chooser Dialog的时候,指定该Dialog的Title.

转载请注明出处=>csdn胖虎:http://blog.csdn.net/ljphhj

EXTRA_UID

一个int类型,配合ACTION_UID_REMOVED支持注冊uid的包,方便当ACTION_PACKAGE_REMOVED或者ACTION_PACKAGE_CHANGED触发时能

找到同一个目标(用UID来区分)


希望这些对大家学习Intent中的这些常量值,还有BroadCast Receiver的学习有一些帮助。

转载请注明出处:http://blog.csdn.net/ljphhj

 

上一篇:Classifier4J的中文支持


下一篇:IntelliJ IDEA的入门使用