美文网首页
Android学习笔记——广播

Android学习笔记——广播

作者: 沈喵咪 | 来源:发表于2020-12-05 12:12 被阅读0次

    主要用于个人复习(基于第一行代码)

    广播的类型

    标准广播:一种完全异步执行的广播,在广播发出之后,所有的BroadcastReceiver几乎会在同一时刻收到这条广播消息,因此他们没有任何先后顺序而言,效率高,但无法被截断

    有序广播:一种同步执行的广播,在广播发出之后,同一时刻只会有BroadcastReceiver能够接受这条广播消息,当这个BroadcastReceiver种的逻辑执行完毕后,广播才会继续传递,此时的BroadcastReceiver是有先后顺序的,优先级高的BroadcastReceiver就可以先收到广播消息,并前面的BroadcastReceiver还可以截断正在传递的广播

    接受系统广播

    动态注册:动态注册的BroadcastReceiver可以自由地控制注册与注销,但必须在启动程序之后才能接受广播

    新建一个BroadcastTest项目

    registerReceiver()方法进行注册,将TimeChangeReceiver的实例和IntentFilter的实例都传进去

    注意:动态注册的BroadcastReceiver一定要取消注册,这里再onDestory()方法中调用unregisterReceiver()方法来实现

    静态注册

    静态的广播接收器一定要在AndroidManifest.xml注册

    android:name:具体注册哪一个BroadcastReceiver

    必须在配置文件中进行权限声明,否则程序将会直接崩溃

    不要在onReceive()方法中添加过多的逻辑或者任何的耗时操作,因为BroadcastReceiver中不允许开线程,当onReceive()方法运行了较长时间而没有结束时,程序就会出现错误

    发送有序广播

    新建AnotherBroadcastReceiver

    修改MainActivity

    截断设置:在配置文件中设置优先级

    使用本地广播

    MainActivity中:

    相关文章

      网友评论

          本文标题:Android学习笔记——广播

          本文链接:https://www.haomeiwen.com/subject/beiywktx.html