android 广播

每个应用程序都可以对自己关心的广播进行注册。
标准广播;异步的,所有广播接收器同时接收此广播,无序。
有序广播:同步的,广播放出之后同一时刻只有一个广播接收器能接受这个广播,当这个广播接收器的逻辑执行完后才会传递到下一个广播接收器,且前面的广播接收器可以截断广播的传递。

一 接收系统广播

广播注册的两种方式

在代码中注册–动态注册
如何创建一个广播接收器?
新建一个继承自BroadcastReciver的类,并覆写其中的onReceive()方法,注册后或有广播接收则执行其中的逻辑。
在活动中新建一个IntentFileter对象,向其中添加要监听的广播action,然后构造一个广播接收器的对象,最后调用registerReceiver()方法,传入intentFileter对象和广播接收器,这样就完成了注册。在销毁活动时一定要取消注册。
在Manifest注册–静态注册
在Manifrest中注册一个广播接收器,在其中的intentfileter中加入要监听的action即可以监听做出这个action的广播。此时必须在manifest中申明接收此广播的权限。

注意:在广播接收器中接收广播后执行的逻辑是不能开启子线程的,所以不要在里面进行耗时操作。

发送自定义的广播

先自定义一个广播接收器,在manifest中指定我们将要创建的广播的相对应的action,然后在活动中用Intent创建一个包含广播的intent,再用sendBroadcast方法来启动,启用有序广播则调用sendOrderedBroadcast来发送,注意顺序会按照广播接收器注册时设置的priority来发送,在广播接收器中调用abortBroadcast能够截断广播。

发送本地广播

需要使用localBroadcastMananger来进行广播的启动和广播接收器的注册

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值