Android BroadcastReceiver 接收系统广播

广播机制简介

Android中的每个程序都可以对广播进行注册,这样就只会受到自己关心的广播内容,这些广播可能是来自系统的,也可能是来自其他应用程序的,当然也可以发送广播。Android提供了一套完整的API允许程序自由地发送和接收广播。

Android中的广播主要可以分为两种类型:

  1. 标准广播

完全异步执行的广播,效率高,无法被截断

  1. 有序广播

同步执行的广播,接收有先后顺序,意味着先收到广播的BroadcastReceiver(BR)可以截断正在传递的广播

接收系统广播

根据自己的需要,可以自由地注册BR,这样当有相应广播发出时,BR就能够接收到。注册BR的方式一般有两种:在代码中注册在AndroidManifest.xml中注册,前者也被称为动态注册,后者也被称为静态注册

动态注册监听事件变化

新建BroadcastTest项目,我们尝试用动态注册的方式编写一个能够监听时间变化的程序,修改MainActivity

class MainActivity : AppCompatActivity() {
   

    lateinit var timeChangeReceiver: TimeChangeReceiver

    override fun onCreate(savedInstanceState: Bundle?) {
   
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val intentFilter = IntentFilter()
        //加入动作,指定我们想要监听什么广播
        intentFilter.addAction(
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值