Intent和IntentFilter

Posted 修心_666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Intent和IntentFilter相关的知识,希望对你有一定的参考价值。

Intent概述

​ •Intent是android的核心组件,利用消息实现应用程序间的交互机制,这种消息描述了应用中一次操作的动作、数据以及附加数据,系统通过该Intent的描述负责找到对应的组件,并将Intent传递给调用的组件,完成组件的调用。

​ •Intent由动作、数据、分类、类型、组件和扩展信息等内容组成,每个组成都由相应的属性进行表示,并提供设置和获取相应属性的方法。

组成属性设置属性方法获取属性方法
动作ActionsetAction()getAction()
数据DatasetData()getData()
分类CategoryaddCategory()getCategories()
类型TypesetType()getType()
组件ComponentsetComponent() setClass() setClassName()getComponent()
扩展信息ExtraputExtra**()**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_VIEWcontent://contacts/people/1显示_id为1的联系人信息
ACTION_EDITcontent://contacts/people/1编辑_id为1的联系人信息
ACTION_VIEWtel:123显示电话为123的联系人信息
ACTION_VIEWhttp://www.google.com在浏览器中浏览该网页
ACTION_VIEWfile:///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的主要内容,如果未能解决你的问题,请参考以下文章

Intent 和 Intent 过滤器

Intent和IntentFilter详解

Android之Intent和Activity

Android基础——隐式intent和intent过滤器

详解intent和intentfilter

Intent和BroadcastReceiver