Intent和IntentFilter
Posted 修心_666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Intent和IntentFilter相关的知识,希望对你有一定的参考价值。
Intent概述
•Intent是android的核心组件,利用消息实现应用程序间的交互机制,这种消息描述了应用中一次操作的动作、数据以及附加数据,系统通过该Intent的描述负责找到对应的组件,并将Intent传递给调用的组件,完成组件的调用。
•Intent由动作、数据、分类、类型、组件和扩展信息等内容组成,每个组成都由相应的属性进行表示,并提供设置和获取相应属性的方法。
组成 | 属性 | 设置属性方法 | 获取属性方法 |
---|---|---|---|
动作 | Action | setAction() | getAction() |
数据 | Data | setData() | getData() |
分类 | Category | addCategory() | getCategories() |
类型 | Type | setType() | getType() |
组件 | Component | setComponent() setClass() setClassName() | getComponent() |
扩展信息 | Extra | putExtra**()** | getXXXExtra()获取不同数据类型的数据,如int类型则使用getIntExtra(),字符串则使用getStringExtra() getExtras()获取Bundle包 |
Action属性
•Action属性用于描述Intent要完成的动作,对要执行的动作进行一个简要描述。Intent类定义了一系列Action属性常量,用来标识一套标准动作,如ACTION_CALL(打电话)、ACTION_EDIT(编辑)等。
• Action属性常量
Action****常量 | 行为描述 | 使用组件(分类) |
---|---|---|
ACTION_CALL | 打电话,即直接呼叫Data中所带电话号码 | Activity |
ACTION_ANSWER | 接听来电 | |
ACTION_SEND | 由用户指定发送方式进行数据发送操作 | |
ACTION_SENDTO | 根据不同的Data类型,通过对应的软件发送数据 | |
ACTION_VIEW | 根据不同的Data类型,通过对应的软件显示数据 | |
ACTION_EDIT | 显示可编辑的数据 | |
ACTION_MAIN | 应用程序的入口 | |
ACTION_SYNC | 同步服务器与移动设备之间的数据 | |
ACTION_BATTERY_LOW | 警告设备电量低 | Broadcast |
ACTION_HEADSET_PLUG | 插入或者拔出耳机 | |
ACTION_SCREEN_ON | 打开移动设备屏幕 | |
ACTION_TIMEZONE_CHANGED | 移动设备时区发生变化 |
Data属性
•Intent的Data属性是执行动作的URI和MIME类型
•Data属性常量
Data属性 | 说明 | 示例 |
---|---|---|
tel😕/ | 号码数据格式,后跟电话号码 | tel://123 |
mailto:// | 邮件数据格式,后跟邮件收件人地址 | mailto://dh@163.com |
smsto😕/ | 短息数据格式,后跟短信接收号码 | smsto://123 |
content:// | 内容数据格式,后跟需要读取的内容 | content://contacts/people/1 |
file:// | 文件数据格式,后跟文件路径 | file://sdcard/mymusic.mp3 |
geo://latitude,longitude | 经纬数据格式,在地图上显示经纬度所指定的位置 | geo://180,65 |
•Action和Data一般匹配使用,不同的Action由不同的Data数据指定
Action属性 | Data属性 | 描述 |
---|---|---|
ACTION_VIEW | content://contacts/people/1 | 显示_id为1的联系人信息 |
ACTION_EDIT | content://contacts/people/1 | 编辑_id为1的联系人信息 |
ACTION_VIEW | tel:123 | 显示电话为123的联系人信息 |
ACTION_VIEW | http://www.google.com | 在浏览器中浏览该网页 |
ACTION_VIEW | file:///sdcard/mymusic.mp3 | 播放MP3 |
Category属性
•Category属性指明一个执行Action的分类
•Intent中定义了一系列Category属性常量
Category****属性 | 说明 |
---|---|
CATEGORY_DEFAULT | 默认的执行方式,按照普通Activity的执行方式执行 |
CATEGORY_HOME | 该组件为Home Activity |
CATEGORY_LAUNCHER | 优先级最高的Activity,通常为入口ACTION_MAIN配合使用 |
CATEGORY_BROWSABLE | 可以使用浏览器启动 |
CATEGORY_GADGET | 可以内嵌到另外的Activity中 |
如果觉得本文对你有帮助的话,不妨关注作者一波,小小的关注其实对我很重要。更多高质量内容与资料请访问:个人主页:修心的小屋
以上是关于Intent和IntentFilter的主要内容,如果未能解决你的问题,请参考以下文章