通过在Kotlin发送广播开始新活动



LoginActivity上成功尝试后,我想启动DashBoardActivity。我也想在登录后广播UserToken。但我可以startActivity()sendBroadcast().。如果我在LoginActivity.kt中使用了以下代码,那么

btnLogin.setOnClickListener {
if(loginSuccess){
sendBroadcast(Intent("TEST"))
startActivity(Intent(this, DashboardActivity::class.java))
finish()
}
}

Dashboard Activity将打开,但广播onReceive()不工作。请帮我做好这项任务。

DashBoardActivity.kt

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_dashboard)
registerReceiver(userDataChangeReceiver,
IntentFilter("TEST"))
}
private val userDataChangeReceiver = object: BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
println("succeess!")
}
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_dashboard)
val userDataChangeReceiver = object: BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
println("succeess!")
}
}
registerReceiver(userDataChangeReceiver,
IntentFilter("TEST"))
}
}

最新更新