image.png
broadcast接收程序
广播作为四个组件之一,使用方法也很多样,可以自己注册manifest,也可以动态注册到java代码中,可以接收来自系统的广播,也可以自己定义发送的广播
广播允许进程内部和进程之间的通信。
roadcastReceiver分类
从注册方式区分:动态注册和静态注册(显示广播和隐式广播) ) )。
从发送方式上区分:无序广播和有序广播
从处理类型上区分:前台广播和后台广播
从运行方式上区分:普通广播和Sticky广播(废除) ) ) ) )。
按发件人:系统广播和定制广播
BroadcastReceiver作为Android的四个组件之一,与Activity不同,没有可以显示的界面。
BroadcastReceiver有两个概念:广播发送者和广播接收者(Receiver )。 这里的广播实际上是指Intent。 节目可以自己发送广播自己接收,也可以接收系统和其他APP应用程序的广播,或者向其他APP应用程序发送广播。
发送者可以通过诸如Context.sendBroadcast这样的接口发送广播。
收件人可以在Context.registerReceiver ()中动态注册,也可以在AndroidManifest.xml文件中以标记静态注册。
注册完成后,发送者发送广播时,发送的广播将与在系统中注册的所有条件匹配的收件人的IntentFilter匹配,成功匹配后将运行相应收件人的onReceive函数。 匹配规则请参考Intent和Intent过滤器的匹配规则。
intent过滤器(intent过滤器) )。
一个活动可以有多个intent过滤器。 相当于添加几个过滤器,很可能被过滤掉。
Android : name='.activity.launch mode.singletaskactivity '
Android : alwaysretaintaskstate=' true '
Android:标签='单任务'
安卓: launch mode=' single task '
Android : task affinity=' top.shixin zang.task2'
Android : host=' myapp.my company.com '
Android :方案=' myapp ' /
intent过滤器匹配规则
操作匹配规则
可以将action理解为一个组件起作用,并可以执行哪些操作。 系统提供了很多内置的action,当然也可以定制。
.
Intent中的至少一个action与过滤器匹配,并且可以调用包含过滤器的组件。 不那样的话,就打不中。
动作游戏
名称角色
备注
android.intent.action.MAIN
指示活动是程序的开始
_
android.intent.action.CALL
呼叫指定的电话号码
_
android.intent.action.DIAL
使用拨号面板
_
andriod.intent.action.ALL_APPS
列出所有APP应用程序
_
android.intent.action.ANSWER
处理来电
_
android.intent.action.VIEW
显示用户的数据
通用,也可以是电话、浏览器等
android.intent.action.SENDTO
发送信息
邮件、彩色邮件、邮件等
android.intent.action.EDIT
作为编辑访问指定的数据
_
android.intent.action.PICK
从列表中选择信息
一般用于选择联系方式和照片等
android.intent.action.CHOOSER
显示活动选择器
例如,常见的选择共享在哪里
类别匹配规则
类别是一种分类,与操作一样,一个过滤器可以包含多个分类。
.
与action匹配规则(只要有一个匹配即可)不同,如果category匹配,则要求intent category必须与过滤器声明的完全匹配。
例如,startactivity(intent )中的intent分类不是Android.intent.category.default和Android.intent.category.browsable
image.png
数据匹配规则
data指示组件可以支持的数据格式和类型。
同样,一个过滤器也可以有多个data。
.
一个数据由mimeType和方案组成。
mimeType是指支持的数据类型和格式,通常包括:
文本/平面
image/jpeg
视频/*
audio/*
/号前有数据类型,后有具体格式。
方案是常见的URI格式。
://:/
参数
意思是
说明
方案
协议类型
最重要的是,协议类型决定了访问数据的方式,如本地还是网络
主机
主机
第二,主机地址决定具体的ip
端口
端口
第三,一个主机可以有多个NIC端口,在有端口之前不能具体访问
路径
具体路径
最后一个级别指示要访问的文件夹路径
例如:
3358 www.Baidu.com :80/search/info
file ://emulator/0/SD card/shixin zang
方案和mimeType构成一个数据。 data匹配规则是intent中的data可以匹配至少一个筛选器。