Pile de retour et liens profonds
Contrôlez l’historique et ouvrez des routes depuis des URL.
Pile de retour et liens profonds est une leçon Jetpack Compose Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Jetpack Compose Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Jetpack Compose Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
What the Back Stack Is
The back stack is the history of screens you have visited. Each navigate call pushes a new entry on top of it.
Going Back
Calling popBackStack() removes the top entry and shows the screen beneath. The system back gesture does the same thing automatically.
navController.popBackStack()Pop Up To a Route
Use popUpTo while navigating to clear screens off the stack up to a target. It is perfect for returning to a known root.
navController.navigate("home") {
popUpTo("home")
}Avoid Duplicate Entries
Set launchSingleTop to true so tapping the same destination twice does not stack identical copies of it.
navController.navigate("home") {
launchSingleTop = true
}Clear After Login
After signing in, pop the login screen with inclusive = true so back never returns to it.
navController.navigate("home") {
popUpTo("login") { inclusive = true }
}Meet Deep Links
A deep link opens a specific screen directly from a URL or notification, skipping the normal step-by-step path through your app.
Declare a Deep Link
Attach a navDeepLink to a destination with a URI pattern. Compose matches incoming links against that pattern.
composable(
"profile/{userId}",
deepLinks = listOf(navDeepLink { uriPattern = "app://profile/{userId}" })
) { }Deep Links Carry Arguments
Placeholders in a deep link URI fill your route arguments. Opening app://profile/42 lands on the profile screen with userId set to 42.
Register an Intent Filter
For links from outside the app, add a matching intent-filter in the manifest so Android routes the URL to your activity.
Deep Links Build the Stack
Navigation Compose can synthesize a back stack for a deep link, so pressing back walks up to a sensible parent instead of exiting.
Observe the Current Entry
Collect currentBackStackEntryAsState to react to where the user is, useful for highlighting a selected tab.
val entry by navController.currentBackStackEntryAsState()
val route = entry?.destination?.routeQuick Check
How do you stop back from returning to the login screen?
Recap
You now control history with popUpTo and launchSingleTop, and you can jump straight to a screen using deep links that even rebuild a sensible back stack. 🚀
Apprends Kotlin avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « Pile de retour et liens profonds » est-elle gratuite ?
Oui — le texte complet de « Pile de retour et liens profonds » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Jetpack Compose Academy, passe à CoddyKit PRO. Le cours Jetpack Compose Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Pile de retour et liens profonds » ?
Contrôlez l’historique et ouvrez des routes depuis des URL. Tu pratiques Jetpack Compose Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Jetpack Compose Academy ?
Aucune expérience préalable n'est requise. Jetpack Compose Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Pile de retour et liens profonds » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Jetpack Compose Academy ?
Oui. Chaque leçon Jetpack Compose Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- NavController et NavHost
- Destinations et routes Composable
- Transmettre des arguments entre les écrans
- Pile de retour et liens profonds