簡體   English   中英

如何在協程中開始新的活動? Kotlin Android

[英]How can I start a new activity in a coroutine? Kotlin Android

我的應用程序中有一個協程,它將在延遲后開始一個新的活動,如下所示:

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

但是,我收到一個意圖錯誤,提示“使用提供的 arguments 不能調用以下任何函數”

我怎樣才能解決這個問題? 謝謝

問題是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))
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM