You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AppCompatActivity恢复Compose Navigation返回栈失败,是否为Jetpack Compose Bug?

确认:Jetpack Compose Bug 还是自身实现问题?

运行App时抛出如下异常:

java.lang.IllegalStateException: Restoring the Navigation back stack failed: destination 132070424 cannot be found from the current destination ComposeNavGraph(0x0) startDestination={Destination(0xe362b7e) route=com.example.typesafenavigation.Login}

异常重现步骤

  • 在「开发者选项」中将「后台进程限制」设置为「不允许后台进程」。
  • 打开目标App。
  • 最小化该App并打开另外2个应用。
  • 再次打开该App。
  • App崩溃并抛出上述异常。

无异常的两种场景

  • 使用ComponentActivity替代AppCompatActivity
  • 使用普通字符串作为路由而非类型安全的Object

这是否属于Jetpack Compose的Bug?

App源代码

import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import kotlinx.serialization.Serializable

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContent {
            val navController = rememberNavController()
            NavHost(
                navController = navController,
                startDestination = Login
            ) {
                composable<Login> {
                    LoginScreen()
                }
            }
        }
    }
}

@Composable
fun LoginScreen() {
    Box(
        modifier = Modifier.fillMaxSize(),
        contentAlignment = Alignment.Center
    ) {
        Text(
            text = "Login Screen",
            fontSize = MaterialTheme.typography.headlineLarge.fontSize
        )
    }
}

@Serializable
object Login

更新

  • 提供了示例项目
  • 提供了演示视频

内容的提问来源于stack exchange,提问作者Slava

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 19:53:09