我的应用程序中有一个协程,它将在延迟一段时间后开始新的 Activity :

GlobalScope.launch() {
   delay(1000L)
   startActivity(Intent(this, ThisActivity::class.java))
}

但是我在意图上说“使用提供的参数不能调用以下函数”时出现错误

我怎样才能解决这个问题?谢谢

最佳答案

问题是this引用了CoroutineScope:

GlobalScope.lauch(){
   delay(1000L)
   startActivity(Intent(this,ThisActivity::class.java))
}

您需要在此处指定上下文。如果您正在一个Activity中运行它(例如,MyActivity),则可以这样做
GlobalScope.lauch(Dispatchers.Main) {
   delay(1000L)
   startActivity(Intent(this@MyActivity,ThisActivity::class.java))
}

10-04 14:51
查看更多