Android广播的发送和接收

本文详细介绍了在Android中如何发送标准广播和有序广播,包括创建Intent、使用sendBroadcast方法,以及如何编写和注册BroadcastReceiver以接收并处理广播。同时涵盖了接收器的注册与取消注册过程。
摘要由CSDN通过智能技术生成

发送广播

标准广播

标准广播的发送很简单,首先需要创建一个intent来确定发送的广播内容,然后调用sendBroadcast方法进行发送就可以了。

val intent=Intent("com.example.broadcast.OTO")
intent.setPackage(packageName)
sendBroadcast(intent)

有序广播

发送有序广播,有序广播需要在标准广播的基础上加个参数,这个增加的null代表了接收的权限。

val intent=Intent("com.example.broadcast.OTO")
intent.setPackage(packageName)
sendBroadcast(intent,null)

接收广播

编写接收器

接收广播时需要注册广播的接收器,还需要进行接收器的注册和取消注册。接收器中作出对收到广播后的处理,重写onReceive方法,这里弹出一个toast表示收到广播。

inner class MyBroadcast():BroadcastReceiver(){
        override fun onReceive(p0: Context?, p1: Intent?) {
            Toast.makeText(this@MainActivity, "receive the intent named OTO", Toast.LENGTH_SHORT).show()
        }
}

注册接收器

想要接收到广播,首先需要注册接收器,需要在界面初始化的时候进行注册,在注册时首先需要创建一个intentFilter来确定需要接收的广播,然后进行注册,在界面销毁时进行取消注册。

    val receiver=MyBroadcast()

    override fun initData() {
        val intent=IntentFilter()
        intent.addAction("com.example.broadcast.OTO")
        registerReceiver(receiver,intent)
        viewBinding?.button?.setOnClickListener(this)
    }
    override fun onDestroy() {
        unregisterReceiver(receiver)
        super.onDestroy()
    }

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值