BroadcastReceiver广播 笔记

来源:互联网 发布:午夜tv的软件 编辑:程序博客网 时间:2024/06/10 19:10
1、BoradcastReceiver是没有界面的,action可以有多个
BroadcastReceiver必须注册
Broadcastreceiver的生命周期比较短,只在onReceive方法体中。
在onReceiver方法中,不能做耗时的工作,如果主线程一但被阻塞超过5秒(有设备决定,一般最多不会超过10秒)以上,就会出现ANR(Application Not Responding当某个应用处于长期假死状态(UI主线程被阻塞,做一些耗时的工作)时,android系统会弹出一个窗口。)
onReceiver是在UI主线程里面执行的,UI主线程是描述UI界面,并响应用户的操作。
BoradcastReceiver的作用:
1)、用来接收广播,可以根据自己的需求订阅相关的广播,当相关的广播在系统中传递的时候,系统就会去通知订阅了该广播的广播接收者。
2)、可以在不同的应用程序之间传递信息,也就是跨进程
BoradcastReceiver的分类:
1)、普通广播:同一时刻,只要订阅了该广播的广播接收者都能接收到广播
2)、顺序广播:按照优先级从高到低有序地在广播接收者之间传递,如果某一个广播接收者不想让该广播继续传递,则它可以终止该广播的传递
优先级从-1000~1000,默认优先级是0.
Priority的使用前提:1、顺序广播
2、有多个广播接收者订阅同一个广播
abortBroadcast(); // 终止广播的传递,只要广播的类型是顺序广播的时候起作用。
sendBroadcast(); // 发送普通广播
sendOrderBroadcast(intent, 接收权限); // 发送顺序广播
接收权限: 最好用应用的包名作为权限的前缀,再加上意义。

自定义权限:在使用自定义权限的时候,需要先定义permission,permission在任意的应用程序中定义都可以静态注册不依赖于任何组件,不用new对象也不用注销,适合在onStrat()和onStop()里面注册和注销广播。

public abstract Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler);

动态注册广播的优点是效率高,缺点是不一定能实时的接收广播,因为它依附的组件关闭以后,广播就注销了,所以接收不到

转自:http://my.eoe.cn/957795/archive/5007.html?f_section=similar

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机没法解压10g压缩包怎么办 苹果id被锁邮箱也忘记密码怎么办 手机号注册的微信忘记密码怎么办 qq号注册微信忘记密码怎么办 云课堂密码忘记手机号更改了怎么办 孩子做事才要奖励怎么办的教案 员工做事效率低家庭情况不好怎么办 安全云课堂人脸识别失败怎么办 酷我k歌里音乐太少怎么办 酷狗里面的歌没有了怎么办 第一试用网登录密码忘记了怎么办 第一试用网登录密码忘了怎么办 微博登录直播间帐号被锁定怎么办 硫酸不小心弄到皮肤上怎么办 小米平板进水了开不了机怎么办 U盘被弹出后再插没有显示怎么办 视频从U盘传下来不能播放怎么办 微博账号忘了登录名怎么办 迅雷应版权方要求无法下载怎么办? 微信账号忘记密码上面有钱怎么办 蘑菇街账号忘记了里面有钱怎么办 手机注册的百度云帐号换号怎么办 网易云音乐sd卡写入失败怎么办? 玩客云涌u盘满了怎么办 手机安装杜比音效失败死机该怎么办 网易云音乐下载额度用完了怎么办 苹果手机付费app连续扣费怎么办 oppoO粉卡的流量用没了怎么办 qq邮箱里的文件过期了怎么办 163邮箱里的文件过期了怎么办 做人事的给员工漏交社保了怎么办 公司漏交了员工一个月的社保怎么办 小米4c能充电不能开机怎么办 小米手机关机开不开机该怎么办 小米5s关机开不开机怎么办 老板跑路了员工社保还挂着怎么办 红米5连wifi很慢怎么办 电脑百度网盘下载速度慢怎么办 新手机与旧手机同步了怎么办 百度网盘2t满了怎么办 魅族手机相册的密码忘了怎么办