我的应用程序中有一个协程,它将在延迟一段时间后开始新的 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))
}