开头

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

诸如此类,都可以通过设置Intent属性来完成。

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

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

DataData通常是URI格式定义的操作数据。例如:tel:// 。通过setData()方法设置。

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

ExtrasExtras属性主要用于传递目标组件所需要的额外的数据。通过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

按下“按照”按钮时触发

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

安装的APPSD卡移动到系统空间

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_REMOVEDACTION_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_CONTENTintent,希望可以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的时候,指定该DialogTitle.

转载请注明出处=>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

 

Action、Category、Data、Extras知识详解相关推荐

  1. R语言可视化绘图基础知识详解

    R语言可视化绘图基础知识详解 图形参数:字体.坐标.颜色.标签等: 图像符号和线条: 文本属性: 图像尺寸及边界: 坐标轴.图例自定义等: 图像的组合: #install.packages(c(&qu ...

  2. 网络知识详解之:网络攻击与安全防护

    网络知识详解之:网络攻击与安全防护 计算机网络相关知识体系详解 网络知识详解之:TCP连接原理详解 网络知识详解之:HTTP协议基础 网络知识详解之:HTTPS通信原理剖析(对称.非对称加密.数字签名 ...

  3. 网络管理之基础知识详解

    网络管理之基础知识详解 目录 3.1 网络的特征 3.2 拓扑结构 4.1 OSI简介 4.2 数据传输过程 4.3 分层作用 4.4 PDU 5.1 单播 5.2 多播 5.3 广播 5.4 三种通 ...

  4. linux top VIRT RES SHR SWAP DATA内存参数详解

    Linux top VIRT RES SHR SWAP DATA内存参数详解 其实很早之前就想开博客,写一写码农几年自己积攒下来的知识与见解.看过很多文章有过很多感触,有些收获很值得梳理一下认真思考反 ...

  5. 计算机raid基础知识,主板知识详解:板载 RAID

    主板知识详解:板载 RAID RAID 是英文 Redundant Array of Inexpensive Disks 的缩写.中文简称为廉价磁盘冗余阵列.RAID 就是一种由多块硬盘构成的冗余阵 ...

  6. 操作系统--二级存储结构下篇知识详解

    操作系统--二级存储结构下篇知识详解 三级存储结构 三级存储结构 n Low cost is the defining characteristic of tertiary 低成本是第三产业的决定性特 ...

  7. ACL——【知识详解+案列+(RACL+VACL+PACL)】详解

    目录 一.ACL(知识讲解+简单案列应用): (1)知识详解: (2)简单案列应用: (3)调整ACL 策略(实现ACL策略穿插) (4)以字符串命名的ACL的编写与调用(常用): (5)ACL方向: ...

  8. 网络知识详解之:HTTPS通信原理剖析(对称、非对称加密、数字签名、数字证书)

    网络知识详解之:HTTPS通信原理剖析(对称.非对称加密.数字签名.数字证书) 计算机网络相关知识体系详解 网络知识详解之:TCP连接原理详解 网络知识详解之:HTTP协议基础 网络知识详解之:HTT ...

  9. R语言基础知识详解及概括

    R语言基础知识详解及概括 目录 R语言基础知识详解及概括 R数据可视化示例 R语言进行数据创建

  10. python 快速排序_小白入门知识详解:Python实现快速排序的方法(含实例代码)...

    前言: 今天为大家带来的内容是:小白入门知识详解:Python实现快速排序的方法(含实例代码)希望通过本文的内容能够对各位有所帮助,喜欢的话记得点赞转发收藏不迷路哦!!! 提示: 这篇文章主要介绍了P ...

最新文章

  1. BPM与Portal SSO实施方案v2
  2. IIS 错误代码大汇总
  3. 关于ABAP流程处理的一些命令的说明(stop,exit,return,check,reject)
  4. linux grep查找命令使用示例
  5. Android构建流程——篇六
  6. Mozilla裁员波及Daala Codec团队
  7. boost helloworlld
  8. 喜用神最正确的算法_各种电磁仿真算法的优缺点和适用范围(FDTD, FEM和MOM等)...
  9. 如何使用Dependabot保持环境最新
  10. 有关开放源代码软件与商业软件知识产权的研究报告(中)
  11. 【晶体管电路设计】四、共基极放大电路设计
  12. 微信小程序实时音视频功能简析(live-pusher与live-player)
  13. Java游戏---俄罗斯方块
  14. 数字时代,商业智能BI的落地意味着什么
  15. 学习华为认证HCIA,HCIP,HCIE分别需要多长时间呢?
  16. 基于URLOS的SaaS平台发布,轻松卖软件!
  17. 网络安全从业人员应具备的职业素养
  18. stm32f103电子钟心得体会_STM32时钟小结
  19. element中el-dialog组件垂直居中完美解决方案,适配超高dialog
  20. Python界面开发库大全

热门文章

  1. 安装LR11 时,安装Microsoft Visual c++2005 sp1运行时组件,就会提示命令行选项语法错误,键入“命令/?”可获取帮肋信息
  2. 靶向目标基因检测技术
  3. /admin/login.php,app/admin/controller/Login.php · 静水流深/wotuoquan - Gitee.com
  4. BTT6030芯片手册
  5. 王二的经济学故事读书笔记
  6. 遥远记忆中的美好时光
  7. 聚类算法之k-均值,k-中心点
  8. 快速云:管理企业中云蔓延的7个技巧
  9. 高中计算机知识竞赛,数学系、计算机科学系举行2016年“师范技能竞赛月”之高中数学知识竞赛...
  10. 北大计算机与微电子学校,中国计算机大会CNCC2019在苏州隆重举行