BroadCast作为一个通知的有效工具,在Android开发中具有很大的意义。
下面给出一个示例:
- 首先,创建我们的具体对通知进行操作的函数MyReceiver.kt。
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.widget.Toast
class MyReceiver: BroadcastReceiver() {
private val action:String = "com.example.welcome"//欢迎动作
override fun onReceive(context: Context?, intent: Intent?) {
when(intent?.action){
action -> Toast.makeText(context, "欢迎来到音乐联盟", Toast.LENGTH_SHORT).show()
else -> throw IllegalArgumentException("这是啥动作?")
}
}
}
- 之后,在启动acticity中动态注册我们的广播.
//注册广播
val myReceiver = MyReceiver()
val intentFilter = IntentFilter()
intentFilter!!.addAction("com.example.welcome")
registerReceiver(myReceiver, intentFilter)
- 最后,在主活动中发送广播。
//发送广播
val intent: Intent = Intent()
intent.setAction("com.example.welcome")
sendBroadcast(intent)
- 总结,有点类似信息管道,这个广播会在需要它的地方被使用,只要注册了就可以。