首页 > 学院 > 开发设计 > 正文

Broadcast Receiver广播

2019-11-06 09:37:27
字体:
来源:转载
供稿:网友
广播一般情况下用来监听手机内部的状态的,也可有消息推送广播有两种注册方式:静态注册(常驻型广播):特点:当App运行的时候,广播就应经存在了,即使是退出应用,广播依然存在。

通过清单文件的方式注册的。

静态注册步骤:1.自定义一个类,继承自BroadCastReceiver,实现onReceiver方法2.在清单文件中添加<receiver>标签,<intent-filter>,<action>3.在主类中通过隐式意图发送广播,sendBroadcast(intent)4.在广播中接收intent的值动态注册: 特点:当你点击某个事件时,广播才会生成,并且App退出时,广播则死亡,在广播死亡之前,你要手动的注销广播,否则会报错。通过代码的方式注册的。动态注册步骤:1.自定义类,继承自BroadCastReceiver,实现onReceiver方法2.在自定义类中,添加一个静态常量Action3.在主类中通过按钮实现注册。调用registerReceiver方法(你要实现的广播类,意图过滤器)4.发送广播。sendBroadCast(intent)5.在onDestroy方法中,销毁广播unregisterReceiver,记住要加判断,如果不为空则销毁。广播分两种:普通广播 : 特点:当有多个广播存在时,接收消息的时候,没有固定顺序,如果为静态注册,则通过清单文件的方式一次向下接收普通广播,如果为静态注册,则根据在清单文件中的位置依次从上至下加载。如果为动态注册,则会根据代码的加载顺序进行发送。有序广播:特点:他是根据一个属性值,整形的,数值越大,优先级越高,数值越小,优先级越小有序广播,是通过PRiority来区别的,跟你的清单文件的顺序没有任何关系,并且发送广播的时候不是通过sendBroadCast发送的,而是通过sendOrderedBroadcast发送的,priority的值越大,则这个广播的优先级越高。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表