Jetpack 撰写导航 popUpTo 包含 true 未从后台清除可组合屏幕

Ram*_*sad 8 android android-jetpack-navigation android-jetpack-compose jetpack-compose-navigation

我正在使用 Jetpack Compose ui 版本1.3.0-beta08和导航撰写版本2.4.0-alpha02,并使用所有新的架构组件运行 Bloom 应用程序。登录成功后,我需要清除所有以前的撰写登录屏幕,但即使添加了popUpTo("HomeScreen"){inclusive = true},当我从主屏幕单击返回时,我的登录屏幕从后台删除,但登录欢迎屏幕未从后台删除。我在撰写导航中遗漏/错误了吗?

composable(Screen.LoginScreen.route) {
                LoginScreen {
                    Log.d("AppMainNavigation", "AppMainNavigation: ${navController.backQueue}")
                    navController.navigate(Screen.HomeBaseScreen.route){
                        popUpTo(Screen.LoginScreen.route){
                            inclusive = true
                        }
                        launchSingleTop = true
                    }
                }
            }
Run Code Online (Sandbox Code Playgroud)

GitHub 链接: https://github.com/rramprasad/BloomApp/blob/main/app/src/main/java/dev/ramprasad/bloom/MainActivity.kt

Naf*_*bbo 2

将您的 jetpack compose 版本更新到最新的发布预览版本和所有其他依赖项。当前jetpack组成版本:1.0.0-rc02

还有你想弹出哪个屏幕就用这个

我的闪屏代码:

 @Composable
 fun Navigate(navController: NavController) {
    produceState(initialValue = -1) {
        delay(1500)
        navController.popBackStack()
        val route = if (Firebase.auth.currentUser == null) AppRouter.Intro.route else AppRouter.Home.route
        navController.navigate(route)
    }
 }
Run Code Online (Sandbox Code Playgroud)

所以在这里你可以使用下面的行从后台删除屏幕

navController.popBackStack()
Run Code Online (Sandbox Code Playgroud)