天天看点

Kotlin广播BroadcastReceiver

1.继承BroadcastReceiver

private inner class MyReceiver : BroadcastReceiver() {
        override fun onReceive(context: Context, intent: Intent) {
            if (intent.action == "ALL_DATA") {
                var value = intent.getStringExtra("VALUE")  //收到的消息。
                var mm: MessdateBean = Gson().fromJson(value,MessdateBean::class.java)
                list = mm.content
                var mo = Message.obtain()
                mo.what = 1
                handler.sendMessage(mo)
            }
        }
    }
           

2.动态注册

myReceiver = MyReceiver()
        intentFilter = IntentFilter()
        intentFilter!!.addAction("ALL_DATA")
        registerReceiver(myReceiver, intentFilter)
           

3.注意解绑

unregisterReceiver(myReceiver)
           

4,进行广播

var intent = Intent()
                intent.action = "ALL_DATA"
                intent.putExtra("VALUE", text)
                sendBroadcast(intent)