android开发——intent/intent-filter

什么是intent?

intent是androidAPK的四大组件之一,用于各个组件之间的转换。

 

intent组成

action:指定intent要干什么

data:指定intent的操作目标

二者说明intent要对谁做什么操作

category:说明与action指定动作相关的附加信息

type:说明intent中的data是什么类型,一般data自己就可以搞定了

compoment:指定intent发给谁,如果intent中这项为空,则自动匹配,找出与intent最符合的

extras:其他数据,通常通过bundle加入intent

 

intent分类:

明显意图:component指定了。

模糊意图:component没指定,系统可以根据intent的其他内容(action/type/category)找到最合适的component,再把意图发给它/它们

 

action

用于在startActivity(intent)中,启动activity。用的最多的是ACTION_VIEW、ACTION_MAIN

已经有的activity action:

action名action值action意义
ACTION_MAINandroid.intent.action.MAIN唤起APK的主活动
ACTION_VIEWandroid.intent.action.VIEW显示数据
ACTION_ATTACH_DATAandroid.intent.action.ATTACH_DATA指明一些数据需要附加
ACTION_EDITandroid.intent.action.EDIT对给定数据给出修改入口
ACTION_PICKandroid.intent.action.PICK选择一条数据并返回之
ACTION_CHOOSERandroid.intent.action.CHOOSER一个intent可能有好多合适的组件,给出一个选择界面,可以选择其中一个组件
ACTION_GET_CONTENTandroid.intent.action.GET_CONTENT允许用户选择一条数据并返回它
ACTION_DIALandroid.intent.action.DIAL按data指定的数据拨号(只显示在拨号盘)
ACTION_CALLandroid.intent.action.CALL按data指定的数据拨号(拨通号码)
ACTION_SENDandroid.intent.action.SEND发送数据(不指定发给谁,发之前向用户询问是否发送)
ACTION_SENDTOandroid.intent.action.SENDTO发送数据(指定发给谁)
ACTION_ANSWERandroid.intent.action.ANSWER处理来电
ACTION_INSERTandroid.intent.action.INSERT向给定container中插入空item
ACTION_DELETEandroid.intent.action.DELETE在container中删除给定数据
ACTION_RUNandroid.intent.action.RUNRun the data, whatever that means.
ACTION_SYNCandroid.intent.action.SYNC数据同步
ACTION_PICK_ACTIVITYandroid.intent.action.PICK_ACTIVITY选择一个activity,返回其类名
ACTION_SEARCHandroid.intent.action.SEARCH搜索
ACTION_WEB_SEARCHandroid.intent.action.WEB_SEARCH网络搜索
ACTION_FACTORY_TESTandroid.intent.action.FACTORY_TEST打开工厂测试入口

broadcast action:

接收广播信息时用,在程序中registerReceiver或AndroidManifest.xml中的<receiver>项 

action名action值broadcast action
ACTION_TIME_TICKandroid.intent.action.TIME_TICK当前时间改变,每分钟一次,必须通过registerReceiver才可收到
ACTION_TIME_CHANGEDandroid.intent.action.TIME_SET时间被设置
ACTION_TIMEZONE_CHANGEDandroid.intent.action.TIMEZONE_CHANGED时区改变,这时intent需要保含time-zone - The java.util.TimeZone.getID()
ACTION_BOOT_COMPLETEDandroid.intent.action.BOOT_COMPLETED广播一次,系统boot完成后广播
ACTION_PACKAGE_ADDEDandroid.intent.action.PACKAGE_ADDED安装新APK时广播
ACTION_PACKAGE_CHANGEDandroid.intent.action.PACKAGE_CHANGED已安装APK发生改变时广播
ACTION_PACKAGE_DATA_CLEAREDandroid.intent.action.PACKAGE_DATA_CLEARED用户清楚应用数据时广播
ACTION_PACKAGE_RESTARTEDandroid.intent.action.PACKAGE_RESTARTEDAPK重启时发送,信息中包含包名
ACTION_PACKAGE_REMOVEDandroid.intent.action.PACKAGE_REMOVED已安装应用被删除
ACTION_BATTERY_CHANGEDandroid.intent.action.BATTERY_CHANGED粘连广播,包含电池的充电状态/电量等信息
ACTION_POWER_CONNECTEDandroid.intent.action.ACTION_POWER_CONNECTED外部电源插入后广播
ACTION_POWER_DISCONNECTEDandroid.intent.action.ACTION_POWER_DISCONNECTED外部电源移除
ACTION_UID_REMOVEDandroid.intent.action.UID_REMOVED一个用户ID被清除
ACTION_SHUTDOWNandroid.intent.action.ACTION_SHUTDOWN关机

Categories:可通过addCategory(String)添加到intent

category名category值category意义
CATEGORY_DEFAULTandroid.intent.category.DEFAULTactivity设置为可以接收implicit intent时用,默认是不接收的
CATEGORY_BROWSABLEandroid.intent.category.BROWSABLE通过浏览器可以启动的activity需要指定该项
CATEGORY_TABandroid.intent.category.TAB想作为一个界面中的某一个选项卡时指定
CATEGORY_ALTERNATIVEandroid.intent.category.ALTERNATIVE活动作为alternative action
CATEGORY_SELECTED_ALTERNATIVEandroid.intent.category.SELECTED_ALTERNATIVE活动作为alternative selection action
CATEGORY_LAUNCHERandroid.intent.category.LAUNCHER显示在屏幕顶层
CATEGORY_INFOandroid.intent.category.INFO显示所在包的信息
CATEGORY_HOMEandroid.intent.category.HOMEhome界面
CATEGORY_PREFERENCEandroid.intent.category.PREFERENCEThis activity is a preference panel.
CATEGORY_TESTandroid.intent.category.TEST测试用
CATEGORY_CAR_DOCKandroid.intent.category.CAR_DOCKAn activity to run when device is inserted into a car dock
CATEGORY_DESK_DOCKandroid.intent.category.DESK_DOCKAn activity to run when device is inserted into a desk dock.
CATEGORY_LE_DESK_DOCKandroid.intent.category.LE_DESK_DOCKAn activity to run when device is inserted into a analog (low end) dock
CATEGORY_HE_DESK_DOCKandroid.intent.category.HE_DESK_DOCKAn activity to run when device is inserted into a digital (high end) dock
CATEGORY_CAR_MODEandroid.intent.category.CAR_MODEUsed to indicate that the activity can be used in a car environment
CATEGORY_APP_MARKETandroid.intent.category.APP_MARKETThis activity allows the user to browse and download new applications

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值