簡體   English   中英

使用“活動”關閉應用程序。 Finish()` 導致重啟時出現故障

[英]Closing application using `activity. Finish()` causes malfunction on restart

我正在使用activity. Finish() activity. Finish()在注銷時關閉應用程序。 但是,當再次打開應用程序時,我的協程不會啟動,更具體地說, viewModelScope.launch不會啟動。 這可能是因為我錯誤地關閉了應用程序嗎? 我想關閉應用程序並在注銷時清除應用程序中的所有 viewModels 和數據

這是我關閉應用程序的方式

val activity = (LocalContext.current as? Activity)
activity?. Finish()

這是重啟時無法啟動的協程(用戶登錄)

fun login() {
    Log.d("Login test", "Attempt to login stage 1")
    viewModelScope.launch {
        Log.d("Collection test", "Attempt to login stage 2")
        userState = AuthResource.Loading
        try {
            
        } catch (e: IOException) {
           
        } catch (e: HttpException) {
            
        } 
    }

}

收到第一條日志消息,但從未收到第二條日志消息,並且從未激活加載 state。 我正在使用 kotlin 和 Jetpack Compose

當 Activity 完成時,關聯的視圖 model 將終止。 尚未運行的協程將不會運行。 這是 viewModel 的一部分——它綁定到一個生命周期,並且該生命周期以 Activity 結束。 如果你想確保它發生,你需要在另一個 scope 上運行它。

暫無
暫無

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

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