「这是我参与2022首次更文挑战的第18天,活动详情查看:2022首次更文挑战」
Intent属性
Intent的属性有:Action(动作)、Data(数据)、Category(类别)、Type(数据类型)、Component(组件)、Extra(扩展信息)、Flag(标志位)。最常用的是Action属性和Data属性
1.Action
Intent的行为动作,可以用来指定Intent要执行的动作类别
Activity的action有:
- ACTION_MAIN(android.intent.action.MAIN) 应用程序的入口
- ACTION_VIEW(android.intent.action.VIEW) 显示数据给用户
- ACTION_EDIT(android.intent.action.EDIT) 显示可以编辑的数据
- ACTION_PICK(android.intent.action.PICK) 选择一个一条Data,并且返回它
- ACTION_DAIL(android.intent.action.GET_CONTENT) 显示Data指向的号码在拨号界面Dailer上
- ACTION_CALL(android.intent.action.DIAL) 拨打Data指向的号码
- ACTION_SEND(android.intent.action.SEND) 直接发短信
- ACTION_SENDTO(android.intent.action.SENDTO) 发送多组Data到指定的地方
- ACTION_INSERT(android.intent.action.INSERT) 插入数据
- ACTION_DELETE(android.intent.action.DELETE) 删除数据
- ACTION_RUN(android.intent.action.RUN) 运行Data,不管Data是什么
- ACTION_SEARCH(android.intent.action.SEARCH) 执行搜索
- ACTION_WEB_SEARCH(android.intent.action.WEB_SEARCH) 执行网上搜索
- ACRION_SYNC(android.intent.action.SYNC) 执同步一个Data
Broadcast的action有:
- ACTION_TIME_TICK 系统时间每过一分钟发出的广播
- ACTION_TIME_CHANGED 系统时间通过设置发生了变化
- ACTION_TIMEZONE_CHANGED 时区改变 -ACTION_BOOT_COMPLETED 系统启动完毕
- ACTION_PACKAGE_ADDED 新的应用程序apk包安装完毕
- ACTION_PACKAGE_CHANGED 现有应用程序apk包改变
- ACTION_PACKAGE_REMOVED 现有应用程序apk包被删除
- ACTION_UID_REMOVED 用户id被删除
2.Data
包含了uri(待操作数据引用)和memitype(待操作数据的数据类型)两个部分,这两个均为可选。要注意同时设置时应该使用setDataAndType()方法,防止互相抵消。它对应着Intent Filter中的data标签
一个完整的Uri由scheme、host、port、path组成,格式是为:<scheme>://<host>:<port>/<path>,
Data内容一般由action决定,比如:
- ACTION_VIEW uri为:content://contacts/people/1 显示id为1的联系人信息
- ACTION_DIAL uri为:content://contacts/people/1 将id为1的联系人电话号码显示在拨号界面中
3.Category
category包含了关于组件如何处理Intent的一些其他信息 常见的category有:
- CATEGORY_BROWSABLE 目标组件会允许自己通过一个链接被一个Web浏览器启动,该链接可能是一个图片链接或e-mail信息等。
- CATEGORY_LAUNCHER 用于标识Activity是某个App的入口Activity
这篇先到这来吧,我们下一篇继续学习Intent的属性