Android: BroadcastReceiver是什么鬼?

1.BroadcastReceiver是什么鬼?

Broadcast直译广播,举个形象的例子来理解BroadcastReceiver:

记得以前读书的时候,每个班级都会有一个挂在墙上的大喇叭,用来广播一些通知,比如,开学要去搬书,广播: “每个班级找几个同学教务处拿书”,发出这个广播后,所有同学都会在同一时刻收到这条广播通知, 收到,但不是每个同学都会去搬书,一般去搬书的都是班里的"大力士",这群"大力士"接到这条广播后就会动身去把书搬回可是!

——好吧,上面这个就是一个广播传递的一个很形象的例子:

大喇叭–> 发送广播 --> 所有学生都能收到广播 --> 大力士处理广播

回到我们的概念,其实BroadcastReceiver就是应用程序间的全局大喇叭,即通信的一个手段, 系统自己在很多时候都会发送广播,比如电量低或者充足,刚启动完,插入耳机,输入法改变等, 发生这些时间,系统都会发送广播,这个叫系统广播,每个APP都会收到,如果你想让你的应用在接收到 这个广播的时候做一些操作,比如:系统开机后,偷偷后台跑你懂得服务,哈哈,这个时候你只需要在你的应用中注册一个用于监视开机的BroadcastReceiver,当接收到开机广播就做写偷偷摸摸的勾当~ 当然我们也可以自己发广播,比如:接到服务端推送信息,用户在别处登录,然后应该强制用户下线回到 登陆界面,并提示在别处登录。

2.两种广播类型:

在这里插入图片描述

3.两种注册广播的方式

在这里插入图片描述

4.一个小小的实例

public class MyBRReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context,"网络状态发生改变~",Toast.LENGTH_SHORT).show();
    }
}
原创文章 31 获赞 30 访问量 7094

猜你喜欢

转载自blog.csdn.net/qq_41912398/article/details/105380936