android 四大组件之 broadcastreceiver

广播接受者,首先我们看下我们平时使用的手机,哪些有用到广播接受者呢:

1:来电的时候,我们如果安装了触宝等软件的时候,它会有一个归属地框的提示,这就是一个广播接受者,它同时接收到了我们的电话,并判断了归属地,显示到了界面上。

2:当手机快没电的时候,我们也会收到提醒,手机电量还剩xxx,等等等等,都是广播接受者。


那我们来学习下这个功能强大滴东东吧。


广播接受者分类:

广播接受者有两类

1:无序广播         顾名思义,这种广播可以想象成一个人在说话,一群人在听,很难说清是谁先听到的,所以我们说它是无序的,其实说是说无序的,它其实是有序的,是按照应用程序的安装的先后有顺序,先安装的先收到,后安装的后收到

2:有序广播        有序广播就是有顺序的广播了,我们可以手动的去设置广播接收者的优先级,控制应用在什么时候去收到广播。


知道了这两个概念以后,我们再稍微深入一点去理解这两个东西了:

无序广播:因为不能确定谁到底是先收到,谁是后收到,所以,虽然我们可以接受广播,进行一些自己的处理,但是我们不能将处理的结果发给下一个接受者,也不能去终止这个广播。

有序广播:          有序的广播由于是有序的,它的机制是先收到广播的对广播进行处理,然后将自己处理过的广播发送给下一位接受者,并且也有权对这个广播接收者进行终止操作,这样下一个接收者就收不到这个广播了,黑名单拦截就是用的这个啦


接下来就是去实践一下啦,首先我们注册一个接收无序广播的例子了:

首先写一个类,继承BroadCastReceiver

然后里面有我们重写一些onReceive这个方法:

syso一个东东吧,随意啦,只要你知道是执行到这里的,添加啥都无所谓了   在传进来的那个intent 可以获取里面的那些参数了。


接下来是注册这个广播接受者:

在AndroidManifest.xml里面注册一下啦:

        <receiver android:name=".BootReceiver">
            <intent-filter>
                <action android:name="android.intent.action.PHONE_STATE" />
            </intent-filter>
        </receiver>

这里是来电的监听了,完事儿后给那个模拟器打个电话吧,看看效果哦


接下来注册一个有序广播了:

有序广播就不展开的这么详细了,就是注册的时候稍微注意指定下它的优先级了,并且在接收到广播以后可以对它进行一些操作,然后最好再注册一个优先级稍微低一点的广播接受者,这样的话就能详细的看到结果了


祝君顺利:有疑问可留言,乐意为您效劳




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值