当使用startActivity(Intent)进入下一个活动时,应用程序不断崩溃



我的应用程序中有一个错误,同时更新Firebase实时数据库中的两个根级节点会导致应用程序小型崩溃,startActivity(Intent(失败并返回到基本Activity。

fun makeNewChannel(currentUser: String, channelname: String) {
val memberkey = fb.child("/channel/$channelname/members").push().key.toString()
val updateChannel = HashMap<String, Any?>()
updateChannel.put("/channel/$channelname/members/$memberkey", currentUser)
updateChannel.put("/channel/$channelname/name", channelname)
val updateUser = HashMap<String, Any?>()
updateUser.put("/user/$currentUser/channels/$channelname", memberkey)
fb.updateChildren(updateUser)
fb.updateChildren(updateChannel)}

如果我注释掉updateUser,它是另一个节点上的那个,那么startActivity不会崩溃,应用程序会顺利过渡到下一个活动。我假设这可能是因为/channel节点上的侦听器,但我真的不知道。

更改此。。。

val myIntent = Intent(this@ChannelListActivity, ChannelActivity::class.java)
myIntent.putExtra("chan_name", channelList[index])
Log.d(
"toChannel2",
"Clicked channel from channel list, moving to ChannelActivity"
)
startActivity(myIntent)
finish()

对此。。。

val myIntent = Intent(this@ChannelListActivity, ChannelActivity::class.java)
// // The myIntent.flags tells to clear/close the @CurrentFragment/@CurrentActivity and inflate/start @NextFragment/@NextActiviy
myIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK.or(Intent.FLAG_ACTIVITY_NEW_TASK)
Log.d(
"toChannel2",
"Clicked channel from channel list, moving to ChannelActivity"
)
startActivity(myIntent)
finish()