Guía de migración para agregar AppLifecycleState.hidden
Se agregó un state hidden adicional a AppLifecycleState.
Resumen
#Se agregó un nuevo state hidden al enum AppLifecycleState
para indicar
cuándo la aplicación no es visible.
Contexto
#El enum AppLifecycleState se usa para indicar en qué lifecycle state se encuentra la
aplicación cuando se llama a WidgetsBindingObserver.didChangeAppLifecycleState.
Descripción del cambio
#El nuevo State AppLifecycleState.hidden se agregó al enum AppLifecycleState
en el paquete dart:ui.
Se entra al state hidden cuando todas las vistas de la aplicación ya no son
visibles para el usuario. En Android e iOS, se entra brevemente a este state cada vez que
la máquina de states pasa de inactive a paused, o de paused a inactive.
No cambia cuando se entra a paused o inactive. En otras plataformas,
estará en este state mientras la aplicación no sea visible.
Guía de migración
#Si el código tiene declaraciones switch que manejan todos los casos del enum AppLifecycleState
, se deberá agregar un nuevo caso para manejar el State AppLifecycleState.hidden
.
Código antes de la migración:
void didChangeAppLifecycleState(AppLifecycleState state) {
switch (state) {
case AppLifecycleState.resumed:
case AppLifecycleState.inactive:
// Do something when the app is visible...
break;
case AppLifecycleState.paused:
case AppLifecycleState.detached:
// Do something when the app is not visible...
break;
}
}
Código después de la migración:
void didChangeAppLifecycleState(AppLifecycleState state) {
switch (state) {
case AppLifecycleState.resumed:
case AppLifecycleState.inactive:
// Do something when the app is visible...
break;
case AppLifecycleState.hidden: // <-- This is the new state.
case AppLifecycleState.paused:
case AppLifecycleState.detached:
// Do something when the app is not visible...
break;
}
}
Si ya existe un caso default: en la sentencia switch, o si el código utiliza
condicionales en su lugar, entonces el código compilará sin cambios, pero aún
así se deberá evaluar el caso por defecto o el condicional para decidir si también
se debe manejar el state hidden.
Timeline
#Introducido en la versión: 3.11.0-16.0.pre
En la versión estable: 3.13.0
Referencias
#PRs relevantes:
- PR 42418: Agrega el valor de enum
AppLifecycleState.hidden
A menos que se indique lo contrario, la documentación de este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 2026-05-05. Ver código fuente oreportar un problema.