【问题标题】:How can I start a new activity in a coroutine? Kotlin Android如何在协程中开始新的活动? Kotlin 安卓
【发布时间】:2020-04-02 22:14:36
【问题描述】:

我的应用中有一个协程,它将在延迟后开始一个新的活动,如下所示:

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

但是我收到一个意图错误,说“以下函数都不能使用提供的参数调用”

我该如何解决这个问题?谢谢

【问题讨论】:

    标签: android kotlin


    【解决方案1】:

    问题是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))
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-31
      • 1970-01-01
      相关资源
      最近更新 更多