记一次安卓(Kotlin)-Android四大组件之广播接收者BroadcastReceiver_16

146 阅读1分钟

系统提供的一种通讯方式.

应用场景:

  • Android不同组件间的通信;
  • 多线程通信
  • 与Android系统在特定情况下的通信
两种广播类型

标准广播:发出广播后,该广播事件的接收者,几乎会在同一时刻收到通知,都可以响应或不响应该时间

有序广播:发出广播后,只有一个广播接收者能收到,一个接收者处理完之后,可以选择继续向下传递给其他接收者,也可以拦截广播.不常用,不推荐使用了.

  • 注册
    • 运行时动态注册

    • 静态注册广播

不要在收到广播后进行任何耗时操作,因为在广播中是不允许开辟线程的,当onReceiver()方法进行较长时间(超时10s)还没结束的话,那么程序会报错,广播更多的时候扮演的是一个打开其他组件的角色,比如启动Service,Nofification提示,Activity等

从android8.0(API26)开始,对清单文件中静态注册广播接收者增加了限制,建议不要在清单文件中静态注册广播接收者,但是系统的信息还是可以使用这个方式用的

image.png

image.png

image.png