Actividad
| Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
|---|---|---|---|---|
| 22 de octubre de 2025 | 1.11.0 | - | 1.12.0-beta01 | - |
Cómo declarar dependencias
Si deseas agregar una dependencia en Activity, debes agregar el repositorio Maven de Google a tu proyecto. Consulta el repositorio Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:
Groovy
dependencies { def activity_version = "1.11.0" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.11.0" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.
Comentarios
Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Versión 1.12
Versión 1.12.0-beta01
22 de octubre de 2025
Lanzamiento de androidx.activity:activity:1.12.0-beta01, androidx.activity:activity-compose:1.12.0-beta01 y androidx.activity:activity-ktx:1.12.0-beta01. La versión 1.12.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Se introdujo la API experimental
ActivityFlagspara administrar los cambios y las migraciones del comportamiento del tiempo de ejecución. La primera marca habilita el orden estable paraOnBackPressedCallback, lo que hace que la navegación hacia atrás sea más predecible en los cambios de ciclo de vida. Los desarrolladores pueden inhabilitar esta opción configurandoActivityFlags.isOnBackPressedLifecycleOrderMaintained = false. (I06bdf, Id08bb, I439aa, b/422730945, b/450533622)
Actualización de dependencia
- Se actualizaron las dependencias del ciclo de vida a la versión 2.9.4 (Ic9fb2).
Versión 1.12.0-alpha09
24 de septiembre de 2025
Lanzamiento de androidx.activity:activity:1.12.0-alpha09, androidx.activity:activity-compose:1.12.0-alpha09 y androidx.activity:activity-ktx:1.12.0-alpha09. La versión 1.12.0-alpha09 contiene estas confirmaciones.
Cambios de dependencia
- La actividad ahora depende de Navigation Event 1.0.0-alpha08.
Versión 1.12.0-alpha08
10 de septiembre de 2025
Lanzamiento de androidx.activity:activity:1.12.0-alpha08, androidx.activity:activity-compose:1.12.0-alpha08 y androidx.activity:activity-ktx:1.12.0-alpha08. La versión 1.12.0-alpha08 contiene estas confirmaciones.
Actualización de dependencia
- La actividad ahora depende de Navigation Event 1.0.0-alpha08.
Versión 1.12.0-alpha07
27 de agosto de 2025
Lanzamiento de androidx.activity:activity:1.12.0-alpha07, androidx.activity:activity-compose:1.12.0-alpha07 y androidx.activity:activity-ktx:1.12.0-alpha07. La versión 1.12.0-alpha07 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un problema con
EdgeToEdgeen la API 35 en el que las vistas invisibles causaban inserciones de medición inesperadas. (If49ff)
Actualización de dependencia
- La actividad ahora depende de Navigation Event
1.0.0-alpha07.
Versión 1.12.0-alpha06
13 de agosto de 2025
Lanzamiento de androidx.activity:activity:1.12.0-alpha06, androidx.activity:activity-compose:1.12.0-alpha06 y androidx.activity:activity-ktx:1.12.0-alpha06. La versión 1.12.0-alpha06 contiene estas confirmaciones.
Actualización de MinSdk
- El
minSdkpredeterminado para AndroidX se trasladó de la API 21 a la API 23 (Ibdfca, b/380448311, b/435705964, b/435705223).
Actualizaciones de la documentación
- Se actualizaron los KDocs para
PredictiveBackHandlerpara destacar un problema de sincronización conocido en el que puede procesar un gesto en el mismo fotograma en el que está inhabilitado. (I5be5c, b/431534103) - Se actualizaron los KDocs para
BackHandleryPredictiveBackHandlerpara indicar de forma explícita el comportamiento de "gana el último elemento compuesto", además de recomendar la composición incondicional con la marcaenabled. (I7ab94)
Actualización de dependencia
- La actividad ahora depende de Navigation Event
1.0.0-alpha06.
Versión 1.12.0-alpha05
30 de julio de 2025
Lanzamiento de androidx.activity:activity:1.12.0-alpha05, androidx.activity:activity-compose:1.12.0-alpha05 y androidx.activity:activity-ktx:1.12.0-alpha05. La versión 1.12.0-alpha05 contiene estas confirmaciones.
Actualización de dependencia
- La actividad ahora depende de Navigation Event
1.0.0-alpha05.
Versión 1.12.0-alpha04
2 de julio de 2025
Lanzamiento de androidx.activity:activity:1.12.0-alpha04, androidx.activity:activity-compose:1.12.0-alpha04 y androidx.activity:activity-ktx:1.12.0-alpha04. La versión 1.12.0-alpha04 contiene estas confirmaciones.
Cambios de dependencia
- La actividad ahora depende de NavigationEvent Alpha04
Versión 1.12.0-alpha03
18 de junio de 2025
Lanzamiento de androidx.activity:activity:1.12.0-alpha03, androidx.activity:activity-compose:1.12.0-alpha03 y androidx.activity:activity-ktx:1.12.0-alpha03. La versión 1.12.0-alpha03 contiene estas confirmaciones.
Correcciones de errores
Ahora,
OnBackPressedDispatcheryNavigationEventDispatcherse inicializan de forma diferida enComponentActivity. (I710e6)Se corrigieron problemas con
OnBackPressedDistpatcherque provocaban lo siguiente:- Solo se notifica al último distribuidor al que se agregó un
OnBackPressedCallbacksobre su estado habilitado (b/418715930). OnBackPressedDispatcherquita la devolución de llamada incorrecta cuando se usa la funciónaddCallbackque toma un ciclo de vida. (b/422714753)OnBackPressedDispatcher.remove()no quita todas las instancias de unOnBackPressedCallbackregistrado. (b/423024414)
- Solo se notifica al último distribuidor al que se agregó un
Versión 1.12.0-alpha02
4 de junio de 2025
Lanzamiento de androidx.activity:activity:1.12.0-alpha02, androidx.activity:activity-compose:1.12.0-alpha02 y androidx.activity:activity-ktx:1.12.0-alpha02. La versión 1.12.0-alpha02 contiene estas confirmaciones.
Correcciones de errores
- Desde NavigationEvent
1.0.0-alpha02: Se corrigió unConcurrentModificationExceptionque podía ocurrir cuando se llamaba aNavigationEventCallback.remove()debido a la modificación simultánea de la lista interna de elementos que se pueden cerrar. (I63066)
Versión 1.12.0-alpha01
20 de mayo de 2025
Lanzamiento de androidx.activity:activity:1.12.0-alpha01, androidx.activity:activity-compose:1.12.0-alpha01 y androidx.activity:activity-ktx:1.12.0-alpha01. La versión 1.12.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
ComponentActivityyComponentDialogse integraron con NavigationEvent1.0.0-alpha01a través de la API deNavigationEventDispatcherOwner. Ahora puedes recuperar unNavigationEventDispatcherde tuComponentActivitya través del camponavigationEventDispatcher. Dado que el objetoOnBackPressedDispatcherse reescribió sobre la nueva biblioteca, todos los usos anteriores deberían seguir funcionando correctamente. En el futuro, deberás usarNavigationEventDispatcheryNavigationEventCallback. (Ib8eed, I6cc44, Ib7724, I9a0f7,b/412597031, b/415028038, b/412596729, b/412597140, b/412596012)
Versión 1.11
Versión 1.11.0
10 de septiembre de 2025
Lanzamiento de androidx.activity:activity:1.11.0, androidx.activity:activity-compose:1.11.0 y androidx.activity:activity-ktx:1.11.0. La versión 1.11.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.10.0:
- Se agregó la API de
MediaCapabilitiesaPickVisualMediaRequestpara permitir que las aplicaciones especifiquen sus capacidades multimedia, como los tipos de HDR admitidos. - Ahora, Activity se compila con la API 36.
Versión 1.11.0-rc01
23 de abril de 2025
Lanzamiento de androidx.activity:activity:1.11.0-rc01, androidx.activity:activity-compose:1.11.0-rc01 y androidx.activity:activity-ktx:1.11.0-rc01. La versión 1.11.0-rc01 contiene estas confirmaciones.
Versión 1.11.0-beta01
9 de abril de 2025
Lanzamiento de androidx.activity:activity:1.11.0-beta01, androidx.activity:activity-compose:1.11.0-beta01 y androidx.activity:activity-ktx:1.11.0-beta01. La versión 1.11.0-beta01 contiene estas confirmaciones.
Versión 1.11.0-alpha02
26 de marzo de 2025
Lanzamiento de androidx.activity:activity:1.11.0-alpha02, androidx.activity:activity-compose:1.11.0-alpha02 y androidx.activity:activity-ktx:1.11.0-alpha02. La versión 1.11.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Se integraron los nuevos
EDGE_NONEyframeTimeMillisde Android 16 Beta03 en elBackEventCompatproporcionado por las funcioneshandleOnBackStartedyhandleOnBackProgresseddeOnBackPressedCallback.
Actualizaciones de dependencias
- Ahora, Activity se compila con la API 36. (I510e8, b/301910674)
Versión 1.11.0-alpha01
12 de marzo de 2025
Lanzamiento de androidx.activity:activity:1.11.0-alpha01, androidx.activity:activity-compose:1.11.0-alpha01 y androidx.activity:activity-ktx:1.11.0-alpha01. La versión 1.11.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó la API de
MediaCapabilitiesaPickVisualMediaRequestpara permitir que las aplicaciones especifiquen sus capacidades multimedia, como los tipos de HDR admitidos. (Ic3ee7)
Versión 1.10
Versión 1.10.1
26 de febrero de 2025
Lanzamiento de androidx.activity:activity:1.10.1, androidx.activity:activity-compose:1.10.1 y androidx.activity:activity-ktx:1.10.1. La versión 1.10.1 contiene estas confirmaciones.
Correcciones de errores
- Ahora,
ViewTreeOnBackPressedDispatcherOwnersyFullyDrawnReporterOwnersse pueden resolver a través de elementos superiores disjuntos de una vista, como unViewOverlay. Consulta las notas de la versión de core o la documentación enViewTree.setViewTreeDisjointParentpara obtener más información sobre los elementos superiores de vistas no conjuntas. (Ie7750)
Versión 1.10.0
15 de enero de 2025
Lanzamiento de androidx.activity:activity:1.10.0, androidx.activity:activity-compose:1.10.0 y androidx.activity:activity-ktx:1.10.0. La versión 1.10.0 contiene estas confirmaciones.
Cambios importantes desde 1.9.0
PhotoPickerahora permite elegir imágenes en orden y seleccionar qué pestaña (álbumes o imágenes) debe estar visible inicialmente.- Los contratos de resultados de Activity
PickVisualMediayPickMultipleVisualMediaque activan el selector de fotos ya no delegan directamente a los Servicios de Google Play si el selector de fotos del sistema no está disponible, sino que usan la acción públicaACTION_SYSTEM_FALLBACK_PICK_IMAGESy los elementos adicionales relacionados para proporcionar una experiencia coherente del selector de fotos a los OEM y las apps del sistema como resguardo. - Nuevo local de composición
LocalActivityque proporciona elActivitypara el alcance actual, lo que elimina la necesidad de que los desarrolladores obtengan unActivitydelLocalContext.
Versión 1.10.0-rc01
11 de diciembre de 2024
Lanzamiento de androidx.activity:activity:1.10.0-rc01, androidx.activity:activity-compose:1.10.0-rc01 y androidx.activity:activity-ktx:1.10.0-rc01. La versión 1.10.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un problema por el que, si se cambiaba el estado habilitado mientras el objeto
PredictiveBackHandlerestaba activo, se interrumpía el circuito de la devolución de llamada de inmediato. Ahora finalizará la devolución de llamada actual, independientemente de los cambios de estado habilitados. (Ib8719)
Versión 1.10.0-beta01
13 de noviembre de 2024
Lanzamiento de androidx.activity:activity:1.10.0-beta01, androidx.activity:activity-compose:1.10.0-beta01 y androidx.activity:activity-ktx:1.10.0-beta01 sin modificaciones desde la última versión alfa. La versión 1.10.0-beta01 contiene estas confirmaciones.
Versión 1.10.0-alpha03
30 de octubre de 2024
Lanzamiento de androidx.activity:activity:1.10.0-alpha03, androidx.activity:activity-compose:1.10.0-alpha03 y androidx.activity:activity-ktx:1.10.0-alpha03. La versión 1.10.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Se agregó una nueva composición local
LocalActivityque proporciona elActivitypara el alcance actual, lo que elimina la necesidad de que los desarrolladores obtengan unActivitydelLocalContext. También incluye una nueva regla de lint que verifica cuándo elLocalContextse convierte incorrectamente en unActivity. (I7746a, b/283009666)
Correcciones de errores
- Desde Activity
1.9.3:PredictiveBackHandlerya no activará su devolución de llamada después de que se inhabilite el controlador. Esto solucionará un problema por el que elNavHostde Navigation Compose arrojaría unIndexOutOfBoundsException. (I3f75e, b/365027664, b/340202286)
Actualización de dependencia
- Activity Compose ahora depende de Compose Runtime 1.7.0 (I7746a, b/283009666).
Versión 1.10.0-alpha02
4 de septiembre de 2024
Lanzamiento de androidx.activity:activity:1.10.0-alpha02, androidx.activity:activity-compose:1.10.0-alpha02 y androidx.activity:activity-ktx:1.10.0-alpha02. La versión 1.10.0-alpha02 contiene estas confirmaciones.
Cambios en el comportamiento
- Los contratos de resultados de Activity
PickVisualMediayPickMultipleVisualMediaque activan el selector de fotos ya no delegan directamente a los Servicios de Google Play si el selector de fotos del sistema no está disponible, sino que usan la acción públicaACTION_SYSTEM_FALLBACK_PICK_IMAGESy los elementos adicionales relacionados para proporcionar una experiencia coherente del selector de fotos a los OEM y las apps del sistema como resguardo. Esto no debería afectar la experiencia del usuario en los dispositivos que tienen una versión reciente de los Servicios de Google Play. (I3513d)
Correcciones de errores
- Se quitó el esquema manual del acceso a las nuevas APIs de la plataforma, ya que esto sucede automáticamente a través del modelado de APIs cuando se usa R8 con AGP 7.3 o versiones posteriores (p.ej., R8 versión 3.3) y para todas las compilaciones cuando se usa AGP 8.1 o versiones posteriores (p.ej., D8 versión 8.1). Se recomienda a los clientes que no usan AGP actualizar a la versión 8.1 o posterior de D8. Consulta este artículo para obtener más detalles. (I9496c, b/345472586)
- A partir de Activity
1.9.2: Se corrigió un problema por el que la API dePredictiveBackHandlerde Activity Compose seguía controlando el gesto de atrás del sistema en el fotograma en el que se inhabilitó, lo que podía hacer que bibliotecas como Navigation Compose controlaran el botón Atrás incluso con una pila de actividades vacía, lo que generaba unIndexOutOfBoundsException. (Ie3301, b/340202286) - Desde Activity
1.9.1: Se corrigió un problema conPredictiveBackHandlerpor el que, después de volver con el botón Atrás del sistema, se producía un error al intentar realizaronBackPresseddesdeOnBackPressedDispatcher. (I5f1f8)
Versión 1.10.0-alpha01
26 de junio de 2024
Lanzamiento de androidx.activity:activity:1.10.0-alpha01, androidx.activity:activity-compose:1.10.0-alpha01 y androidx.activity:activity-ktx:1.10.0-alpha01. Esta versión se desarrolló en una rama interna.
Nuevas funciones
- Se agregó compatibilidad con las nuevas funciones de
PhotoPickerque se introdujeron en Android V, incluida la posibilidad de elegir imágenes en orden y seleccionar qué pestaña (álbumes o imágenes) debe estar visible inicialmente.
Versión 1.9
Versión 1.9.3
16 de octubre de 2024
Lanzamiento de androidx.activity:activity:1.9.3, androidx.activity:activity-compose:1.9.3 y androidx.activity:activity-ktx:1.9.3. La versión 1.9.3 contiene estas confirmaciones.
Correcciones de errores
PredictiveBackHandlerya no activará su devolución de llamada después de que se inhabilite el controlador. Esto solucionará un problema por el que elNavHostde Navigation Compose arrojaría unIndexOutOfBoundsException. (I3f75e, b/340202286)
Versión 1.9.2
4 de septiembre de 2024
Lanzamiento de androidx.activity:activity:1.9.2, androidx.activity:activity-compose:1.9.2 y androidx.activity:activity-ktx:1.9.2. La versión 1.9.2 contiene estas confirmaciones de lthcocommits.
Correcciones de errores
- Se corrigió un problema por el que la API de
PredictiveBackHandlerde Activity Compose seguía controlando el gesto de atrás del sistema en el fotograma en el que se inhabilitó, lo que podía hacer que bibliotecas como Navigation Compose controlaran el gesto de atrás incluso con una pila de actividades vacía, lo que provocaba que se lanzara unIndexOutOfBoundsException. (Ie3301, b/340202286)
Versión 1.9.1
24 de julio de 2024
Lanzamiento de androidx.activity:activity:1.9.1, androidx.activity:activity-compose:1.9.1 y androidx.activity:activity-ktx:1.9.1. La versión 1.9.1 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un problema con
PredictiveBackHandleren el que, después de volver con el botón Atrás del sistema, se producía un error al intentar realizaronBackPresseddesdeOnBackPressedDispatcher. (I5f1f8)
Versión 1.9.0
17 de abril de 2024
Lanzamiento de androidx.activity:activity:1.9.0, androidx.activity:activity-compose:1.9.0 y androidx.activity:activity-ktx:1.9.0. La versión 1.9.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.8.0
ComponentActivityahora implementaOnUserLeaveHintProviderpara permitir que los componentes realicen devoluciones de llamada para los eventosonUserLeaveHint.- Las APIs de
OnBackPressedCallback,BackHandleryPredictiveBackHandlerahora muestran una advertencia cuando se llama aonBackPressedDispatcher.onBackPressed()al controlar el retroceso, ya que esto siempre interrumpirá la animación de retroceso predictivo. Consulta la guía de prácticas recomendadas para obtener más detalles. - El resto de las APIs de Activity se reescribieron en Kotlin, y todas las extensiones disponibles anteriormente en
activity-ktxse trasladaron aactivity.activity-ktxahora está completamente vacío.- Como parte de la conversión de
ActivityResultLaunchera Kotlin, el métodogetContractahora es una propiedad abstracta de Kotlin. Este es un cambio compatible a nivel binario, pero que rompe la fuente si tu implementación deActivityResultLauncherestá escrita en Kotlin.
- Como parte de la conversión de
Versión 1.9.0-rc01
3 de abril de 2024
Lanzamiento de androidx.activity:activity:1.9.0-rc01, androidx.activity:activity-compose:1.9.0-rc01 y androidx.activity:activity-ktx:1.9.0-rc01. La versión 1.9.0-rc01 contiene estas confirmaciones.
Actualización de dependencia
- La actividad ahora depende de Profile Installer 1.3.1.
Versión 1.9.0-beta01
20 de marzo de 2024
Lanzamiento de androidx.activity:activity:1.9.0-beta01, androidx.activity:activity-compose:1.9.0-beta01 y androidx.activity:activity-ktx:1.9.0-beta01. La versión 1.9.0-beta01 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió una regresión en el rendimiento del inicio de la actividad que se introdujo en Activity
1.9.0-alpha02debido a la llamada aOnBackPressedDispatchercomo parte de la creación de la actividad. (Ie75e3)
Versión 1.9.0-alpha03
7 de febrero de 2024
Lanzamiento de androidx.activity:activity:1.9.0-alpha03, androidx.activity:activity-compose:1.9.0-alpha03 y androidx.activity:activity-ktx:1.9.0-alpha03. La versión 1.9.0-alpha03 contiene estas confirmaciones.
Advertencia de Lint
- Las APIs de
OnBackPressedCallback,BackHandleryPredictiveBackHandlerahora muestran una advertencia cuando se llama aonBackPressedDispatcher.onBackPressed()al controlar el retroceso, ya que esto siempre interrumpirá la animación de retroceso predictivo. Consulta la guía de prácticas recomendadas para obtener más detalles. (1e4222, 2c950d, b/287505200)
Correcciones de errores
- Si se envía un evento de atrás desde el sistema durante un gesto de atrás predictivo que ya se está ejecutando, se cancela el gesto de atrás predictivo en ejecución y el nuevo evento de atrás toma el control para comenzar un nuevo gesto de atrás predictivo. (I3482e)
- Se corrigió una falla que se producía cuando se accedía a
onBackPressedDispatcherdesdeComponentActivitypor primera vez desde un subproceso en segundo plano. Ahora es seguro acceder aonBackPressedDispatcheren cualquier subproceso. (I79955)
Versión 1.9.0-alpha02
24 de enero de 2024
Lanzamiento de androidx.activity:activity:1.9.0-alpha02, androidx.activity:activity-compose:1.9.0-alpha02 y androidx.activity:activity-ktx:1.9.0-alpha02. La versión 1.9.0-alpha02 contiene estas confirmaciones.
Conversiones de Kotlin
- Se reescribió
ActivityResultRegistryen Kotlin. Esto garantiza que la nulabilidad de los elementos genéricos en el contrato que se pasa aregisterse pasará correctamente alActivityResultLauncherque se te devuelve. (I121f0) - Se reescribió
ActivityResulten Kotlin. Las extensiones de KotlinActivityResultque admiten la desestructuración en los camposresultCodeydatase movieron deactivity-ktxaactivity. (I0565a) - Las extensiones de Kotlin de
by viewModels()paraComponentActivityytrackPipAnimationHintViewse movieron deactivity-ktxaactivity. El artefactoactivity-ktxahora está completamente vacío. (I0a444)
Correcciones de errores
- La API de
enableEdgeToEdgeahora dibuja alrededor de cualquier corte de pantalla. (a3644b, b/311173461) - A partir de Activity
1.8.2: Se corrigió el extra que se pasó alACTION_SYSTEM_FALLBACK_PICK_IMAGESdel contrato de actividad del selector de fotos para pasarle correctamente la claveEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX, en lugar de usar el extra con la clave"com.google.android.gms.provider.extra.PICK_IMAGES_MAX". Se recomienda encarecidamente si eres un OEM que implementa un selector de fotos de resguardo del sistema para admitir ambos elementos adicionales y garantizar la mayor compatibilidad. (I96a00)
Versión 1.9.0-alpha01
29 de noviembre de 2023
Lanzamiento de androidx.activity:activity:1.9.0-alpha01, androidx.activity:activity-compose:1.9.0-alpha01 y androidx.activity:activity-ktx:1.9.0-alpha01. La versión 1.9.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
ComponentActivityahora implementaOnUserLeaveHintProviderpara permitir que los componentes realicen devoluciones de llamada para los eventosonUserLeaveHint. (I54892)
Cambios en la API
- Se reescribió
ComponentActivityen Kotlin. (I14f31) - Se reescribió
ActivityResultCalleren Kotlin. (Ib02e4) - Se reescribió
ActivityResultLauncheren Kotlin. Como parte de esa conversión, el métodogetContractahora es una propiedad abstracta de Kotlin. Este es un cambio compatible a nivel binario, pero que rompe la fuente si tu implementación deActivityResultLauncherestá escrita en Kotlin. (Id4615) PickVisualMediaRequestahora tiene el mismo nivel de API mínimo de 19 que el contrato de Activity Result dePickVisualMedia. (Id6e21)
Actualización de dependencia
- La actividad ahora depende de Core
1.13.0-alpha01. (I14f31)
Versión 1.8
Versión 1.8.2
13 de diciembre de 2023
Lanzamiento de androidx.activity:activity:1.8.2, androidx.activity:activity-compose:1.8.2 y androidx.activity:activity-ktx:1.8.2. La versión 1.8.2 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió el extra que se pasa al
ACTION_SYSTEM_FALLBACK_PICK_IMAGESdel contrato de actividad del selector de fotos para que se pase correctamente la claveEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX, en lugar de usar el extra con la clave"com.google.android.gms.provider.extra.PICK_IMAGES_MAX". Se recomienda encarecidamente si eres un OEM que implementa un selector de fotos de resguardo del sistema para admitir ambos elementos adicionales y garantizar la mayor compatibilidad. (I96a00)
Versión 1.8.1
15 de noviembre de 2023
Lanzamiento de androidx.activity:activity:1.8.1, androidx.activity:activity-compose:1.8.1 y androidx.activity:activity-ktx:1.8.1. La versión 1.8.1 contiene estas confirmaciones.
Correcciones de errores
OnBackPressedDispatcherahora sigue enviando alOnBackPressedCallbackcorrecto incluso después de que se agrega un nuevoOnBackPressedCallbackmientras se controla el gesto de volver. (Id0ff6)
Versión 1.8.0
4 de octubre de 2023
Lanzamiento de androidx.activity:activity:1.8.0, androidx.activity:activity-compose:1.8.0 y androidx.activity:activity-ktx:1.8.0. La versión 1.8.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.7.0
- Atrás predictivo: El
OnBackPressedCallbackahora ofrece nuevas devoluciones de llamada de Atrás predictivo para controlar el inicio del gesto atrás, el progreso en todo el gesto y la cancelación de este gesto, además de la devolución de llamada dehandleOnBackPressed()anterior para cuando se confirma el gesto atrás. También incluye el elementoPredictiveBackHandlercomponible para controlar los eventos de gestos atrás predictivos en Activity Compose. Proporciona un Flow de objetos BackEventCompat que se deben recopilar en la lambda de suspensión que proporcionas:
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
ComponentActivity.onBackPressed() dejó de estar disponible y se reemplazó por las APIs para controlar la acción de volver. Ahora los desarrolladores deben utilizar OnBackPressedDispatcher en lugar de anular este método.
- EdgeToEdge: Se agregó
ComponentActivity.enableEdgeToEdge()para configurar fácilmente la pantalla de borde a borde de forma retrocompatible.
Versión 1.8.0-rc01
20 de septiembre de 2023
Lanzamiento de androidx.activity:activity:1.8.0-rc01, androidx.activity:activity-compose:1.8.0-rc01 y androidx.activity:activity-ktx:1.8.0-rc01. La versión 1.8.0-rc01 contiene estas confirmaciones.
Versión 1.8.0-beta01
6 de septiembre de 2023
Lanzamiento de androidx.activity:activity:1.8.0-beta01, androidx.activity:activity-compose:1.8.0-beta01 y androidx.activity:activity-ktx:1.8.0-beta01. La versión 1.8.0-beta01 contiene estas confirmaciones.
Mejora de la documentación
- Se mejoró la documentación de
BackEventCompat. (aosp/2722254)
Versión 1.8.0-alpha07
23 de agosto de 2023
Lanzamiento de androidx.activity:activity:1.8.0-alpha07, androidx.activity:activity-compose:1.8.0-alpha07 y androidx.activity:activity-ktx:1.8.0-alpha07. La versión 1.8.0-alpha07 contiene estas confirmaciones.
Nuevas funciones
Activity Compose agregó un nuevo elemento
PredictiveBackHandlercomponible para controlar los eventos del gesto atrás predictivo. Proporciona unFlowde objetosBackEventCompatque se deben recopilar en la lambda de suspensión que proporcionas:PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }También incluye una advertencia de tiempo de compilación a través de la regla de lint para garantizar que las llamadas a
Flowllamen acollect(). (Id2773, b/294884345)El
onBackPressedDispatcherenComponentActivityahora se inicializa de forma diferida para que solo se cree cuando sea necesario. (I0bf8e)
Correcciones de errores
ComponentActivityya no mostrará un NPE en Android 13 cuando reciba una devolución de llamada deonBackPressed()y la Activity ya se hayaDESTROYED. (Idb055, b/291869278)- Se quitaron los usos de la API experimental de
isAtLeastU()(Ie9117, b/289269026).
Versión 1.8.0-alpha06
21 de junio de 2023
Lanzamiento de androidx.activity:activity:1.8.0-alpha06, androidx.activity:activity-compose:1.8.0-alpha06 y androidx.activity:activity-ktx:1.8.0-alpha06. La versión 1.8.0-alpha06 contiene estas confirmaciones.
Nuevas funciones
- Ahora,
OnBackPressedDispatchercancela correctamente las devoluciones de llamada que se quitan durante un gesto atrás predictivo. (I3f90f)
Cambios en la API
- Cuando pasas
SystemBarStyle.autoa la API deenableEdgeToEdge, ahora puedes anular el parámetro lambdadetectDarkModepara proporcionar lógica personalizada para detectar el modo nocturno. (aosp/2546393, b/278263793)
Versión 1.8.0-alpha05
7 de junio de 2023
Lanzamiento de androidx.activity:activity:1.8.0-alpha05, androidx.activity:activity-compose:1.8.0-alpha05 y androidx.activity:activity-ktx:1.8.0-alpha05. Esta versión se desarrolló en una rama interna.
Cambios en la API
- Ahora, Activity proporciona una clase
BackEventCompatque funciona como una versión compatible con versiones anteriores deBackEventque está desacoplada de la claseBackEventdel framework. - Cambio rotundo: Los métodos
handleOnBackStartedyhandleOnBackProgresseddeOnBackPressedCallbackahora reciben una instancia deandroidx.activity.BackEventCompaten lugar de una claseandroid.window.BackEventdel framework. También se actualizaron las APIs de@VisibleForTestingequivalentes enOnBackPressedDispatcher. - El constructor de
OnBackPressedDispatcherahora toma una instanciaConsumer<Boolean>opcional que permite que los propietarios del dispatcher reciban una devolución de llamada cada vez que la cantidad de devoluciones de llamada habilitadas cambie de cero a un valor distinto de cero o viceversa.
Correcciones de errores
- Desde Activity
1.7.2: Se corrigió la falla deReportDrawncuando se navegaba fuera de una pantalla antes de que se llamara areport. (Ic46f1, b/260506820)
Versión 1.8.0-alpha04
10 de mayo de 2023
Lanzamiento de androidx.activity:activity:1.8.0-alpha04, androidx.activity:activity-compose:1.8.0-alpha04 y androidx.activity:activity-ktx:1.8.0-alpha04. Esto se lanzó a partir de una rama interna.
Correcciones de errores
- Desde Activity 1.7.1: - El
ReportFullyDrawExecuterya no tiene fugas cuando se usaComponentActivityconActivityScenario. (Id2ff2, b/277434271)
Versión 1.8.0-alpha03
12 de abril de 2023
Lanzamiento de androidx.activity:activity:1.8.0-alpha03, androidx.activity:activity-compose:1.8.0-alpha03 y androidx.activity:activity-ktx:1.8.0-alpha03. Esto se lanzó a partir de una rama interna.
Nuevas funciones
- Se agregó
ComponentActivity.setUpEdgeToEdge()para configurar fácilmente la pantalla de borde a borde de manera retrocompatible.
Cambios en la API
ComponentActivity.onBackPressed()dejó de estar disponible y se reemplazó por las APIs para controlar la acción de volver. Ahora los desarrolladores deben utilizarOnBackPressedDispatcheren lugar de anular este método. (Ibce2f, b/271596918)ComponentDialogyComponentActivityahora contienen la API públicainitViewTreeOwners()que se usa para inicializar todos los propietarios del árbol de vistas antes de establecer la vista de contenido. (Ibdce0, b/261314581)
Correcciones de errores
- Se corrigió un problema por el que los fragmentos invalidaban de forma incorrecta los MenuHosts y provocaban que otros menús de la actividad tuvieran un comportamiento inesperado. (I9404e, b/244336571)
Otros cambios
- El
ActivityResultRegisterahora usaRandomde Kotlin en lugar de Java. (I4d98f, b/272096025)
Versión 1.8.0-alpha02
8 de marzo de 2023
Lanzamiento de androidx.activity:activity:1.8.0-alpha02, androidx.activity:activity-compose:1.8.0-alpha02 y androidx.activity:activity-ktx:1.8.0-alpha02. Se desarrolló a partir de una rama interna.
Actualización de dependencia
- Desde Activity
1.7.0-rc01: Ahora, Activity depende deLifecycle 2.6.0.
Versión 1.8.0-alpha01
8 de febrero de 2023
Lanzamiento de androidx.activity:activity:1.8.0-alpha01, androidx.activity:activity-compose:1.8.0-alpha01 y androidx.activity:activity-ktx:1.8.0-alpha01. Esto se compiló a partir de una rama interna.
Nuevas funciones
- La clase
OnBackPressedCallbackahora incluye nuevas devoluciones de llamada de progreso del gesto atrás predictivo para controlar el inicio del gesto atrás, el progreso en todo el gesto y la cancelación de este gesto, además de la devolución de llamada dehandleOnBackPressed()anterior para cuando se confirma el gesto atrás.
Versión 1.7
Versión 1.7.2
24 de mayo de 2023
Lanzamiento de androidx.activity:activity:1.7.2, androidx.activity:activity-compose:1.7.2 y androidx.activity:activity-ktx:1.7.2. La versión 1.7.2 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió la falla de
ReportDrawncuando se navegaba fuera de una pantalla antes de que se llamara areport. (Ic46f1, b/260506820)
Versión 1.7.1
19 de abril de 2023
Lanzamiento de androidx.activity:activity:1.7.1, androidx.activity:activity-compose:1.7.1 y androidx.activity:activity-ktx:1.7.1. La versión 1.7.1 contiene estas confirmaciones.
Correcciones de errores
- El
ReportFullyDrawExecuterya no se filtra cuando se usaComponentActivityconActivityScenario. (Id2ff2, b/277434271)
Versión 1.7.0
22 de marzo de 2023
Lanzamiento de androidx.activity:activity:1.7.0, androidx.activity:activity-compose:1.7.0 y androidx.activity:activity-ktx:1.7.0. La versión 1.7.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.6.0
- Los contratos de actividad del selector de fotos en
PickVisualMediayPickMultipleVisualMediase actualizaron para incluir una alternativa adicional para cuandoMediaStore.ACTION_PICK_IMAGESno esté disponible, lo que permite que los OEM y las apps del sistema, como los Servicios de Google Play, proporcionen una experiencia coherente del selector de fotos en una mayor variedad de dispositivos Android y niveles de API implementando la acción de resguardo. El selector de fotos usará este resguardo si está disponible antes de recurrir aIntent.ACTION_OPEN_DOCUMENT, que sigue admitiendo todos los dispositivos con API nivel 19 y versiones posteriores. ComponentDialogahora implementaSavedStateRegistryOwnery tiene acceso a su propioSavedStateRegistryy estableceSavedStateRegistryOwnerpara suViewTree. Ahora, es posible usar Jetpack Compose dentro de unComponentDialog, ya que cumple conLifecycleOwnerySavedStateRegistryOwneradjuntos a Window a través de los requisitos de las APIs deViewTree.IntentSenderRequest.Builder.setFlags()ahora te permite configurar varias marcas deIntent, en lugar de una sola
Conversión a Kotlin
Se convirtieron varias clases de Activity a Kotlin. Todas las clases convertidas conservan su compatibilidad binaria con versiones anteriores. Las siguientes clases tienen cambios incompatibles con la fuente para las clases escritas en Kotlin: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner.
En la siguiente tabla, se proporcionan las conversiones de la fuente para la nueva versión de Activity:
| Actividad 1.5 | Activity 1.6 |
|---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
Estas clases también se convirtieron a Kotlin, pero siguen siendo compatibles con el código fuente: ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequest y OnBackPressedDispatcher
APIs de FullyDrawnReporter
ComponentActivity ahora proporciona una instancia de FullyDrawnReporter que permite que varios componentes informen cuando están listos para la interacción. ComponentActivity esperará a que se completen todos los componentes antes de llamar a reportFullyDrawn() en tu nombre. Estas APIs se encargan de los requisitos de tiempo por ti, y no es necesario que las llames como parte de una llamada de onDraw.
Se recomienda que estas APIs habiliten lo siguiente:
- Indicar Android Runtime cuando se completa el inicio a fin de garantizar que se incluya todo el código que se ejecuta durante una secuencia de inicio de varios fotogramas y que se priorice para la compilación en segundo plano
- Se le indica a Macrobenchmark y Play Vitals cuando se debe considerar que la aplicación se dibujó por completo para las métricas de inicio, para que puedas hacer un seguimiento del rendimiento
Se agregaron tres APIs de Activity Compose para facilitar el uso de FullyDrawnReporter desde elementos componibles individuales:
ReportDrawnindica que el elemento componible está listo de inmediato para interactuar.ReportDrawnWhentoma un predicado (es decir,list.count > 0) para indicar cuándo el elemento componible está listo para interactuar.ReportDrawnAftertoma un método de suspensión que, cuando se completa, indica que está todo listo para la interacción.
Actualizaciones de dependencias
- La actividad ahora depende de Lifecycle
2.6.1. (8fc31d) - La actividad ahora depende de ProfileInstaller
1.3.0. (83d3b1)
Versión 1.7.0-rc01
8 de marzo de 2023
Lanzamiento de androidx.activity:activity:1.7.0-rc01, androidx.activity:activity-compose:1.7.0-rc01 y androidx.activity:activity-ktx:1.7.0-rc01. La versión 1.7.0-rc01 contiene estas confirmaciones.
Actualización de dependencia
- La actividad ahora depende de
Lifecycle 2.6.0.
Versión 1.7.0-beta02
22 de febrero de 2023
Lanzamiento de androidx.activity:activity:1.7.0-beta02, androidx.activity:activity-compose:1.7.0-beta02 y androidx.activity:activity-ktx:1.7.0-beta02. La versión 1.7.0-beta02 contiene estas confirmaciones.
Cambios en la API
- La acción y el extra que usan los contratos
PickVisualMediayPickMultipleVisualMediacomo resguardo cuandoMediaStore.ACTION_PICK_IMAGESno está disponible ahora son constantes públicas que proporcionan estabilidad de la API a los OEM y a las apps del sistema que desean brindar una experiencia coherente con el Selector de fotos. La implementación de esta alternativa sigue limitada solo a las apps del sistema. (Icd320)
Versión 1.7.0-beta01
8 de febrero de 2023
Lanzamiento de androidx.activity:activity:1.7.0-beta01, androidx.activity:activity-compose:1.7.0-beta01 y androidx.activity:activity-ktx:1.7.0-beta01. La versión 1.7.0-beta01 contiene estas confirmaciones.
Nuevas funciones
IntentSenderRequest.Builder.setFlags()ahora te permite configurar varias marcas deIntent, en lugar de una sola (Iac04c).
Correcciones de errores
- El resguardo de
PickVisualMediapara cuando el selector de fotos del framework no está disponible ahora limita correctamente la control de apps instaladas en la imagen del sistema del dispositivo (If8ae6).
Conversiones de Kotlin
ActivityResultRegistryOwnerahora está escrito en Kotlin. Este es un cambio incompatible de la fuente para esas clases escritas en Kotlin; ahora debes anular la propiedadactivityResultRegistryen lugar de implementar la funcióngetActivityResultRegistry()anterior (I0b00e).OnBackPressedDispatcherOwnerahora está escrito en Kotlin. Este es un cambio incompatible de la fuente para esas clases escritas en Kotlin; ahora debes anular la propiedadonBackPressedDispatcheren lugar de implementar la funcióngetOnBackPressedDispatcheranterior (Ia277d).ContextAware,ContextAwareHelper,OnContextAvailableListener,IntentSenderRequestyOnBackPressedDispatcherahora están escritos en Kotlin (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701).
Versión 1.7.0-alpha04
25 de enero de 2023
Se lanzaron androidx.activity:activity:1.7.0-alpha04, androidx.activity:activity-compose:1.7.0-alpha04 y androidx.activity:activity-ktx:1.7.0-alpha04. La versión 1.7.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- Ahora, los contratos de resultado de Activity
PickVisualMediayPickMultipleVisualMediausarán el selector de fotos de los Servicios de Google Play, siempre que esté disponible, en los casos en que el sistema Android haya proporcionado el selector de fotos (p. ej.,MediaStore.ACTION_PICK_IMAGES) no está disponible. La API deisPhotoPickerAvailable()que solo detecta el selector de fotos proporcionado por el sistema Android dejó de estar disponible. Se recomienda usar la nueva API deisPhotoPickerAvailable(Context), que aparecerá si hay un selector de fotos disponible (I55be6).
Versión 1.7.0-alpha03
11 de enero de 2023
Se lanzaron androidx.activity:activity:1.7.0-alpha03, androidx.activity:activity-compose:1.7.0-alpha03 y androidx.activity:activity-ktx:1.7.0-alpha03. La versión 1.7.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
ComponentDialogahora implementaSavedStateRegistryOwnery tiene acceso a su propioSavedStateRegistryy estableceSavedStateRegistryOwnerpara ViewTree. Ahora, es posible usar Jetpack Compose dentro de unComponentDialog, ya que cumple conLifecycleOwnerySavedStateRegistryOwneradjuntos a Window mediante los requisitos de las APIs de ViewTree (Idca17, I73468, b/261162296).
Cambios en la API
- Se agregó un elemento
ReportDrawncomponible que marca inmediatamente la actividad como lista para llamar areportFullyDrawn(Ic5b14, b/259687964).
Conversiones de Kotlin
- Las clases
ActvitiyResultCallbackyOnBackPressedCallbackse convirtieron a Kotlin y mantienen la compatibilidad de fuente y objeto binario (Ifc5e5, Ide1b0, b/257291701).
Versión 1.7.0-alpha02
24 de octubre de 2022
Lanzamiento de androidx.activity:activity:1.7.0-alpha02, androidx.activity:activity-compose:1.7.0-alpha02 y androidx.activity:activity-ktx:1.7.0-alpha02. La versión 1.7.0-alpha02 contiene estas confirmaciones.
Correcciones de errores
- A partir de Activity
1.6.1: Se corrigió un problema por el que no se lanzaba el contrato de resultado de la actividad dePickMultipleVisualMediaen dispositivos Android R cuando se usaba el valor predeterminado paramaxItems(Ie2776, b/249182130).
Versión 1.7.0-alpha01
5 de octubre de 2022
Se lanzaron androidx.activity:activity:1.7.0-alpha01, androidx.activity:activity-compose:1.7.0-alpha01 y androidx.activity:activity-ktx:1.7.0-alpha01. La versión 1.7.0-alpha01 contiene estas confirmaciones.
APIs de FullyDrawnReporter
ComponentActivity ahora proporciona una instancia de FullyDrawnReporter que permite que varios componentes informen cuando están listos para la interacción. ComponentActivity esperará a que se completen todos los componentes antes de llamar a reportFullyDrawn() en tu nombre. Estas APIs se encargan de los requisitos de tiempo por ti, y no es necesario que las llames como parte de una llamada de onDraw.
Se recomienda que estas APIs habiliten lo siguiente:
- Indicar Android Runtime cuando se completa el inicio a fin de garantizar que se incluya todo el código que se ejecuta durante una secuencia de inicio de varios fotogramas y que se priorice para la compilación en segundo plano
- Se le indica a Macrobenchmark y Play Vitals cuando se debe considerar que la aplicación se dibujó por completo para las métricas de inicio, para que puedas hacer un seguimiento del rendimiento
Se agregaron dos APIs de Activity Compose para facilitar el uso de FullyDrawnReporter desde elementos componibles individuales:
ReportDrawnWhentoma un predicado (es decir,list.count > 0) para indicar cuándo el elemento componible está listo para interactuar.ReportDrawnAftertoma un método de suspensión que, cuando se completa, indica que está todo listo para la interacción.
Versión 1.6.1
Versión 1.6.1
24 de octubre de 2022
Lanzamiento de androidx.activity:activity:1.6.1, androidx.activity:activity-compose:1.6.1 y androidx.activity:activity-ktx:1.6.1. La versión 1.6.1 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un problema por el que no se lanzaba el contrato de resultado de la actividad de
PickMultipleVisualMediaen dispositivos Android R cuando se usaba el valor predeterminado paramaxItems(Ie2776, b/249182130).
Versión 1.6.0
Versión 1.6.0
21 de septiembre de 2022
Se lanzaron androidx.activity:activity:1.6.0, androidx.activity:activity-compose:1.6.0 y androidx.activity:activity-ktx:1.6.0. La versión 1.6.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.5.0
- Se agregaron
ActivityResultContracts.PickVisualMediayActivityResultContracts.PickMultipleVisualMediapara proporcionar un contrato retrocompatible que useMediaStore.ACTION_PICK_IMAGEScuando el Selector de fotos esté disponible, yIntent.ACTION_OPEN_DOCUMENTcuando no lo esté. - Se integró el
OnBackInvokedCallbacken Android 13 en elOnBackPressedDispatchersproporcionado porComponentActivityyComponentDialog. Esto garantiza que todas las APIs que se compilan enOnBackPressedDispatcherfuncionen cuando habilites un gesto atrás predictivo.
Versión 1.6.0-rc02
7 de septiembre de 2022
Lanzamiento de androidx.activity:activity:1.6.0-rc02, androidx.activity:activity-compose:1.6.0-rc02 y androidx.activity:activity-ktx:1.6.0-rc02. La versión 1.6.0-rc02 contiene estas confirmaciones.
Correcciones de errores
OnBackPressedDispatcherahora registraOnBackInvokedCallbackconPRIORITY_DEFAULTen lugar dePRIORITY_OVERLAY(I3901f).- Ahora siempre se enviarán las dos devoluciones de llamada de
onMultiWindowModeChanged()a las clases que extiendanComponentActivity. (Ic4d85). ActivityResultRegistryya no mostrará un resultado aActivityResultCallbackcuando la llamada delauncharroje cualquierExceptiony se haya registrado la devolución de llamada sin unLifecycleOwner(Ia7ff7, b/238350794).- Ahora,
ComponentActivityenviará correctamente las llamadas al menú sin necesidad de llamar a la superfunción en tu actividad (Ie33c5, b/238057118).
Actualización de dependencia
- La biblioteca de
Activityahora depende de Lifecycle2.5.1(If6697).
Versión 1.6.0-rc01
24 de agosto de 2022
Se lanzaron androidx.activity:activity:1.6.0-rc01, androidx.activity:activity-compose:1.6.0-rc01 y androidx.activity:activity-ktx:1.6.0-rc01. La versión 1.6.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Cuando se inicializa un
OnBackPressedDispatcher, ya no se generanClassVerificationErrorsi se usan versiones de SDK anteriores a la 33 (Ic32e1). - Las clases que anulan
onPictureInPictureModeChanged()deComponentActivityahora siempre se enviarán las devoluciones de llamada (Ib7fdb).
Versión 1.6.0-beta01
10 de agosto de 2022
Se lanzaron androidx.activity:activity:1.6.0-beta01, androidx.activity:activity-compose:1.6.0-beta01 y androidx.activity:activity-ktx:1.6.0-beta01. La versión 1.6.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Los métodos
startActivityForResultystartIntentSenderForResultse marcaron como obsoletos enComponentActivitycon@NonNullporque pasarnullsiempre provocó una falla (Id2a25, b/231476082).
Correcciones de errores
- Desde Activity
1.5.1:ActivityResultRegistryya no mostrará un resultado a laActivityResultCallbackcuando la llamadalauncharroje cualquierExceptiony la devolución de llamada se registró sin unLifecycleOwner(Ia7ff7, b/238350794). - Desde Activity
1.5.1:ComponentActivityahora enviará correctamente las llamadas del menú a las anulacionesonPrepareOptionMenu(),onCreateOptionsMenu()yonOptionsItemSelected()sin necesidad de llamar a la superfunción (Ie33c5, b/238057118).
Actualización de dependencia
- Desde Activity
1.5.1: La bibliotecaActivityahora depende de la versión2.5.1deLifecycle(If6697).
Versión 1.6.0-alpha05
15 de junio de 2022
Se lanzaron androidx.activity:activity:1.6.0-alpha05, androidx.activity:activity-compose:1.6.0-alpha05 y androidx.activity:activity-ktx:1.6.0-alpha05. La versión 1.6.0-alpha05 se desarrolló en una rama privada previa al lanzamiento y no tiene confirmaciones públicas.
Cambios en la API
minCompileSdkahora es 33 para alinearse con el SDK de Tiramisu beta 3
Correcciones de errores
- Se corrigió una falla en dispositivos más antiguos cuando se realizaba una comprobación de extensión de SDK para
PickVisualMediaActivityResultContract, de modo que ahora debería funcionar conACTION_OPEN_DOCUMENTen dispositivos que ejecutan Android 10 o versiones anteriores.
Versión 1.6.0-alpha04
18 de mayo de 2022
Lanzamiento de androidx.activity:activity:1.6.0-alpha04 y androidx.activity:activity-ktx:1.6.0-alpha04.
Correcciones de errores
- Se corrigió un error en
PickVisualMediaRequesten el que cuando se creaba una solicitud, ya sea a través del compilador o de la función de nivel superior de Kotlin, se generaba un desbordamiento de pila. - Se integró
OnBackInvokedCallbacken la versión Dev Beta 2 de Android 13 en elOnBackPressedDispatcherque brindaComponentDialog. Esto garantiza que todas las APIs que se compilan enOnBackPressedDispatcherfuncionen cuando habilites un gesto de retroceso predictivo.
Versión 1.6.0-alpha03
27 de abril de 2022
Se lanzaron androidx.activity:activity:1.6.0-alpha03, androidx.activity:activity-compose:1.6.0-alpha03 y androidx.activity:activity-ktx:1.6.0-alpha03.
- Nota: Esta versión solo se compilará con el SDK de Android 13 Developer Beta 1.
Nuevas funciones
- Se agregaron
ActivityResultContracts.PickVisualMediayActivityResultContracts.PickMultipleVisualMediapara proporcionar un contrato retrocompatible que useMediaStore.ACTION_PICK_IMAGEScuando el Selector de fotos esté disponible, yIntent.ACTION_OPEN_DOCUMENTcuando no lo esté. - Se integró
OnBackInvokedCallbacken la versión Dev Beta 1 de Android 13 en elOnBackPressedDispatcherque brindaComponentActivity. Esto garantiza que todas las APIs que se compilan enOnBackPressedDispatcherfuncionen cuando habilites un gesto de retroceso predictivo.
Versión 1.6.0-alpha01
23 de marzo de 2022
Se lanzaron androidx.activity:activity:1.6.0-alpha01, androidx.activity:activity-compose:1.6.0-alpha01 y androidx.activity:activity-ktx:1.6.0-alpha01.
- Nota: Esta versión solo se compilará con el SDK de la Vista previa para desarrolladores 2 de Android 13.
Nuevas funciones
- Se integraron los cambios en la Vista previa para desarrolladores 2 de Android 13 en
ComponentActivity.
Versión 1.5.1
Versión 1.5.1
27 de julio de 2022
Lanzamiento de androidx.activity:activity:1.5.1, androidx.activity:activity-compose:1.5.1 y androidx.activity:activity-ktx:1.5.1. La versión 1.5.1 contiene estas confirmaciones.
Correcciones de errores
ActivityResultRegistryya no mostrará un resultado paraActivityResultCallbackcuando la llamadalaunch()arroje cualquierExceptiony se haya registrado la devolución de llamada sin unLifecycleOwner(Ia7ff7, b/238350794).Ahora,
ComponentActivityenviará correctamente las llamadas al menú a las anulacionesonPrepareOptionMenu(),onCreateOptionsMenu()yonOptionsItemSelected()sin necesidad de llamar a la superfunción (Ie33c5, b/238057118).
Actualización de dependencia
- La biblioteca
Activityahora depende de Lifecycle2.5.1(If6697).
Versión 1.5.0
Versión 1.5.0
29 de junio de 2022
Se lanzaron androidx.activity:activity:1.5.0, androidx.activity:activity-compose:1.5.0 y androidx.activity:activity-ktx:1.5.0. La versión 1.5.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.4.0
- ComponentDialog:
ComponentDialoges una subclase deDialogque incluye unOnBackPressedDispatcheral que se llamará cuando se presione el botón Atrás del sistema y el diálogo sea visible. Es importante que tengas en cuenta que esta subclase también establece elViewTreeOnBackPressedDispatcherOwner, lo que permite que las vistas recuperen de manera genérica el despachador correcto cuando se encuentra enComponentActivityoComponentDialog. - Interfaces de devolución de llamada:
ComponentActivityahora implementa un conjunto de interfaces de devolución de llamada modulares que se pueden usar en lugar de las devoluciones de llamadaActivity. Estas interfaces incluyen las siguientes:OnNewIntentProvider,OnConfigurationChangedProvider,OnTrimMemoryProvider,OnPictureInPictureModeChangedProvideryOnMultiWindowModeChangedProvider. - Integración de CreationExtras:
ComponentActivityahora puede proporcionar unViewModelProvider.Factorysin estado a través delCreationExtrasde Lifecycle2.5.0.
Otros cambios
- Dejó de estar disponible el constructor sin parámetro para
ActivityResultContracts.CreateDocumenty se reemplazó por un constructor nuevo que toma un tipo de MIME concreto (p. ej., "image/png") según lo soliciteIntent.ACTION_CREATE_DOCUMENT.
Versión 1.5.0-rc01
11 de mayo de 2022
Lanzamiento de androidx.activity:activity:1.5.0-rc01, androidx.activity:activity-compose:1.5.0-rc01 y androidx.activity:activity-ktx:1.5.0-rc01 sin modificaciones desde la versión 1.5.0-beta01. La versión 1.5.0-rc01 contiene estas confirmaciones.
Versión 1.5.0-beta01
20 de abril de 2022
Se lanzaron androidx.activity:activity:1.5.0-beta01, androidx.activity:activity-compose:1.5.0-beta01 y androidx.activity:activity-ktx:1.5.0-beta01. La versión 1.5.0-beta01 contiene estas confirmaciones.
Actualizaciones de dependencias
- La actividad ahora depende de Lifecycle
2.4.0-beta01.
Versión 1.5.0-alpha05
6 de abril de 2022
Se lanzaron androidx.activity:activity:1.5.0-alpha05, androidx.activity:activity-compose:1.5.0-alpha05 y androidx.activity:activity-ktx:1.5.0-alpha05. La versión 1.5.0-alpha05 contiene estas confirmaciones.
Correcciones de errores
onPanelClosed()deComponentActivityahora también llama alonPanelClosed()superpuesto, lo que soluciona el problema por el que no se llamaba al métodoonContextMenuClosed(Ib6f77).
Versión 1.5.0-alpha04
23 de marzo de 2022
Se lanzaron androidx.activity:activity:1.5.0-alpha04, androidx.activity:activity-compose:1.5.0-alpha04 y androidx.activity:activity-ktx:1.5.0-alpha04. La versión 1.5.0-alpha04 contiene estas confirmaciones.
Correcciones de errores
SavedStateViewFactoryahora admite el uso deCreationExtras, incluso cuando se inicializó con unSavedStateRegistryOwner. Si se proporcionan elementos adicionales, se ignoran los argumentos inicializados (I6c43b, b/224844583).
Versión 1.5.0-alpha03
23 de febrero de 2022
Se lanzaron androidx.activity:activity:1.5.0-alpha03, androidx.activity:activity-compose:1.5.0-alpha03 y androidx.activity:activity-ktx:1.5.0-alpha03. La versión 1.5.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Ahora puedes pasar
CreationExtrasa la funciónby viewModels()de la actividad (I6a3e6, b/217600303).
Versión 1.5.0-alpha02
9 de febrero de 2022
Lanzamiento de androidx.activity:activity:1.5.0-alpha02, androidx.activity:activity-compose:1.5.0-alpha02 y androidx.activity:activity-ktx:1.5.0-alpha02. La versión 1.5.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
ComponentActivityahora implementa la interfazOnPictureInPictureModeChangedProviderpara permitir que cualquier componente reciba eventos de cambio del modo de pantalla en pantalla (I9f567).ComponentActivityahora implementa la interfazOnMultiWindowModeChangedProviderpara permitir que cualquier componente reciba eventos de cambio del modo multiventana (I62d91).
Versión 1.5.0-alpha01
26 de enero de 2022
Lanzamiento de androidx.activity:activity:1.5.0-alpha01, androidx.activity:activity-compose:1.5.0-alpha01 y androidx.activity:activity-ktx:1.5.0-alpha01. La versión 1.5.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
ComponentActivityahora se integra con ViewModel CreationExtras, que se introdujo como parte de Lifecycle2.5.0-alpha01. (Ie7e00, b/207012584)- Se agregó
ComponentDialog, una subclase deDialogque incluye unOnBackPressedDispatcheral que se llamará cuando se presione el botón Atrás del sistema cuando el diálogo sea visible. Es importante que tengas en cuenta que esta subclase también establece elViewTreeOnBackPressedDispatcherOwner, lo que permite que las vistas recuperen de manera genérica el despachador correcto cuando se encuentra enComponentActivityoComponentDialog. (I8a1bc) ComponentActivityahora implementa la nueva interfazOnNewIntentProviderpara permitir que cualquier componente reciba estos eventos. (If1f8b)ComponentActivityahora implementa la nueva interfazOnConfigurationChangedProviderpara permitir que cualquier componente reciba estos eventos. (If623b)ComponentActivityahora implementa la nueva interfazOnTrimMemoryProviderpara permitir que cualquier componente reciba estos eventos. (Ia9295)
Cambios en la API
- Dejó de estar disponible el constructor sin parámetro para
ActivityResultContracts.CreateDocumenty se reemplazó por un constructor nuevo que toma un tipo de MIME concreto (p. ej.,"image/png") según lo soliciteIntent.ACTION_CREATE_DOCUMENT. (I2bec6) - El
OnBackPressedDispatcherOwnerasociado con View ahora se puede recuperar a través deViewTreeOnBackPressedDispatcherOwner, en lugar de depender de la transmisión deContext. (I74685)
Correcciones de errores
- Se solucionó una falla que se producía cuandos se accedía a
ViewModelpor primera vez desderegisterForActivityResult()o desde las devoluciones de llamada aLifecycleObserverque se agregaron como parte deinitdeComponentActivity. (Ife83f)
Versión 1.4.0
Versión 1.4.0
27 de octubre de 2021
Lanzamiento de androidx.activity:activity:1.4.0, androidx.activity:activity-compose:1.4.0 y androidx.activity:activity-ktx:1.4.0. La versión 1.4.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.3.0
ComponentActivityde AndroidX ahora implementa la interfazMenuHost. Esto permite que cualquier componente agregue elementos de menú aActionBarmediante una instancia deMenuProvidera la actividad. De manera opcional, se puede agregar cadaMenuProvidercon unLifecycleque controlará automáticamente la visibilidad de esos elementos del menú en función del estado deLifecycley controlará la eliminación delMenuProvidercuandoLifecyclese destruya.- Se reescribió la clase
ActivityResultContracten Kotlin a fin de garantizar que los desarrolladores que escriben contratos personalizados en Kotlin puedan definir la nulabilidad correcta para sus clases de entrada y salida. - La clase
ActivityResultContractsy sus contratos se reescribieron en Kotlin para garantizar la nulabilidad adecuada.
Versión 1.4.0-rc01
13 de octubre de 2021
Se lanzaron androidx.activity:activity:1.4.0-rc01, androidx.activity:activity-compose:1.4.0-rc01 y androidx.activity:activity-ktx:1.4.0-rc01. La versión 1.4.0-rc01 contiene estas confirmaciones.
Correcciones de errores
ActivityResultRegistryya no mostrará un resultado paraActivityResultCallbackcuando la llamadalauncharroje cualquierException. (If4f91, b/200845664)
Versión 1.4.0-beta01
29 de septiembre de 2021
Lanzamiento de androidx.activity:activity:1.4.0-beta01, androidx.activity:activity-compose:1.4.0-beta01 y androidx.activity:activity-ktx:1.4.0-beta01. La versión 1.4.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Se corrigió el tipo de
ActivityResultContracts.OpenMultipleDocumentsyActivityResultContracts.GetMultipleContentsque hacía que se usara un tipo de salida deList<? extends Uri>cuando se utilizaba el código de el lenguaje de programación Java. (If71de) - Ahora se puede acceder a las constantes públicas dentro de las clases
ActivityResultContracts.StartActivityForResult,ActivityResultContracts.StartIntentSenderForResultyActivityResultContracts.RequestMultiplePermissionscuando se usa Kotlin mediante sus objetosCompanionque ahora son públicos. (aosp/1832555)
Actualizaciones de la documentación
- El mensaje que indica que las APIs ahora están a cargo de las APIs de Activity Result, es decir,
startActivityForResult,startIntentSenderForResult,onActivityResult,requestPermissionsyonRequestPermissionsResult, se expandieron con más detalles (cce80f)
Versión 1.4.0-alpha02
15 de septiembre de 2021
Lanzamiento de androidx.activity:activity:1.4.0-alpha02, androidx.activity:activity-compose:1.4.0-alpha02 y androidx.activity:activity-ktx:1.4.0-alpha02. La versión 1.4.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- El artefacto
activity-composeahora contiene un error de lintLaunchDuringCompositionque impide llamar al métodolaunchdeActivityResultLaunchercomo parte de la composición, ya que la composición no debería tener efectos secundarios. Usa las API para procesar efectos secundarios. (7c2bbe, b/191347220)
Cambios en la API
- Se reescribió la clase
ActivityResultContracten Kotlin a fin de garantizar que los desarrolladores que escriben contratos personalizados en Kotlin puedan definir la nulabilidad correcta para sus clases de entrada y salida. (I8a8f5) - La clase
ActivityResultContractsy sus contratos se reescribieron en Kotlin para garantizar la nulabilidad adecuada. (I69802)
Versión 1.4.0-alpha01
1 de septiembre de 2021
Lanzamiento de androidx.activity:activity:1.4.0-alpha01, androidx.activity:activity-compose:1.4.0-alpha01 y androidx.activity:activity-ktx:1.4.0-alpha01. La versión 1.4.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
ComponentActivityde AndroidX ahora implementa la interfazMenuHost. Esto permite que cualquier componente agregue elementos de menú aActionBarmediante una instancia deMenuProvidera la actividad. De manera opcional, se puede agregar cadaMenuProvidercon unLifecycleque controlará automáticamente la visibilidad de esos elementos del menú en función del estado deLifecycley controlará la eliminación delMenuProvidercuandoLifecyclese destruya. (I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
Cambios en el comportamiento
- El objeto
ActivityResultRegistryahora arrojará unIllegalStateExceptioncuando se intente llamar alaunch()en un elementoActivityResultLauncherque no se haya registrado o cuyo registro se haya cancelado. (Ida75d, b/192567522)
Contribución externa
- Agradecemos a dmitrilc por corregir un error tipográfico en la documentación de
ActivityResult. (#221)
Versión 1.3.1
Versión 1.3.1
4 de agosto de 2021
Lanzamiento de androidx.activity:activity:1.3.1, androidx.activity:activity-compose:1.3.1 y androidx.activity:activity-ktx:1.3.1. La versión 1.3.1 contiene estas confirmaciones.
Actualizaciones de dependencias
- Activity ahora depende de Kotlin
1.5.21. - Activity Compose ahora depende de Compose
1.0.1.
Versión 1.3.0
Versión 1.3.0
28 de julio de 2021
Lanzamiento de androidx.activity:activity:1.3.0, androidx.activity:activity-compose:1.3.0 y androidx.activity:activity-ktx:1.3.0. La versión 1.3.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.2.0
- Artefacto Activity de Compose: El artefacto
activity-composebrinda el método de extensiónsetContentpara alojar la IU de Jetpack Compose en una actividad y los wrappers específicos de Compose para interactuar con las API deComponentActivitya fin de controlar el botón Atrás del sistema y las API de Activity Result. Para obtener más detalles, consulta la documentación. - Contrato CaptureVideo:
ActivityResultContractdeCaptureVideoreemplaza el contratoTakeVideoya obsoleto y muestra un valor booleano que indica que funciona de manera correcta en muchas apps de cámara. - Seguimiento de vista para el ajuste de pantalla en pantalla: Los usuarios de
activity-ktxahora pueden usar el método de extensióntrackPipAnimationHintViewenActivitya fin de volver a compilarPictureInPictureParamsautomáticamente con la posición nueva de la vista a medida que cambia de posición en relación con la ventana.
Versión 1.3.0-rc02
14 de julio de 2021
Lanzamiento de androidx.activity:activity:1.3.0-rc02, androidx.activity:activity-compose:1.3.0-rc02 y androidx.activity:activity-ktx:1.3.0-rc02. La versión 1.3.0-rc02 contiene estas confirmaciones.
Correcciones de errores
- Las devoluciones de llamada
ActivityResultRegistryahora se almacenan y se restauran correctamente, de modo que no se duplican en savedState. (I97816, b/191893160)
Versión 1.3.0-rc01
1 de julio de 2021
Lanzamiento de androidx.activity:activity:1.3.0-rc01, androidx.activity:activity-compose:1.3.0-rc01 y androidx.activity:activity-ktx:1.3.0-rc01 sin modificaciones desde la versión 1.3.0-beta02. La versión 1.3.0-rc01 contiene estas confirmaciones.
Versión 1.3.0-beta02
16 de junio de 2021
Lanzamiento de androidx.activity:activity:1.3.0-beta02, androidx.activity:activity-compose:1.3.0-beta02 y androidx.activity:activity-ktx:1.3.0-beta02. La versión 1.3.0-beta02 contiene estas confirmaciones.
Se actualizó activity-compose para que dependa de Compose 1.0.0-beta09. Ahora androidx.compose.ui:ui-test-junit4 tiene una dependencia de tiempo de compilación en activity-compose.
Versión 1.3.0-beta01
2 de junio de 2021
Lanzamiento de androidx.activity:activity:1.3.0-beta01, androidx.activity:activity-compose:1.3.0-beta01 y androidx.activity:activity-ktx:1.3.0-beta01. La versión 1.3.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Se quitó el método
@Composable registerForActivityResult()que había dejado de estar disponible previamente. UsarememberLauncherForActivityResult(). (Ic39d3)
Versión 1.3.0-alpha08
18 de mayo de 2021
Lanzamiento de androidx.activity:activity:1.3.0-alpha08, androidx.activity:activity-compose:1.3.0-alpha08 y androidx.activity:activity-ktx:1.3.0-alpha08. La versión 1.3.0-alpha08 contiene estas confirmaciones.
Nuevas funciones
- El nuevo
CaptureVideoActivityResultContractmuestra un valor booleano para tuActivityResultCallback, que indica si tu video se guardó correctamente en el URI dado. Esto reemplaza al contratoTakeVideoactualmente obsoleto, ya que las apps de cámara rara vez permitían mostrar un mapa de bits en miniatura, lo que hacía que el resultado no fuera útil. (Ie21f2, b/185938070) - Se agregó una nueva API
Activity#setPipAnimationHintViewpara actualizar el ajuste del rect de origen de PipParams cada vez que la vista se desplaza. (I9063d)
Cambios en la API
- Ahora, la función
rememberLauncherForActivityResultmuestra un selector en el que deja de estar disponible la funciónunregister(). El registro y la cancelación del registro del selector se gestionan automáticamente a través derememberLauncherForActivityResult. (I2443e)
Compatibilidad con Compose
androidx.activity:activity-compose:1.3.0-alpha08solo es compatible con Compose1.0.0-beta07y versiones posteriores.
Versión 1.3.0-alpha07
21 de abril de 2021
Lanzamiento de androidx.activity:activity:1.3.0-alpha07, androidx.activity:activity-compose:1.3.0-alpha07 y androidx.activity:activity-ktx:1.3.0-alpha07. La versión 1.3.0-alpha07 contiene estas confirmaciones.
Correcciones de errores
rememberLauncherForActivityResultahora muestra una referencia estable de la misma instancia queActivityResultLauncher, incluso si el contrato cambia con las recomposiciones. (Id2d6d)- Si usas versiones inestables de Fragments por encima de
1.3.0ya no arrojará un falso positivo de lint con la indicación de usar1.3.0. (aosp/1670206, b/184847092)
Versión 1.3.0-alpha06
7 de abril de 2021
Lanzamiento de androidx.activity:activity:1.3.0-alpha06, androidx.activity:activity-compose:1.3.0-alpha06 y androidx.activity:activity-ktx:1.3.0-alpha06. La versión 1.3.0-alpha06 contiene estas confirmaciones.
Cambios en la API
- Se cambió el nombre de la API de
registerForActivityResult()arememberLauncherForActivityResult()a fin de indicar mejor que elActivityResultLauncherque se muestra es un objeto administrado que se recuerda por ti. Ahora, si intentas llamar aunregister, elActivityResultLauncherque se muestra arrojará un error. (I2bb6d) LocalOnBackPressedDispatcherOwner.currentyLocalActivityResultRegistryOwner.currentahora muestran un valor anulable para determinar mejor si están disponibles en la composición actual. Las API que requieren esas API, comoBackHandleryrememberLauncherForActivityResult(), respectivamente, ahora mostrarán un error más descriptivo si no se encuentra el propietario subyacente. AhoraNavHostfunciona incluso cuando no se encuentra unOnBackPressedDispatcherOwner, por ejemplo, cuando se obtiene una vista previa deNavHost. (I7d8b4)
Correcciones de errores
- El objeto
BackHandlerinterceptará correctamente la pulsación del botón Atrás cuando la actividad seaSTOPPEDy, luego,STARTEDnuevamente. También se agregaron otras devoluciones de llamadas con un LifecycleOwner. (I71de6, b/182284739) - Ya no se mostrará una
NullPointerExceptionsi se usa el método de extensiónlaunch()con unActivityResultContractpersonalizado que tiene una entrada deUnit. (I76282, b/183837954).
Versión 1.3.0-alpha05
24 de marzo de 2021
Lanzamiento de androidx.activity:activity:1.3.0-alpha05, androidx.activity:activity-compose:1.3.0-alpha05 y androidx.activity:activity-ktx:1.3.0-alpha05. La versión 1.3.0-alpha05 contiene estas confirmaciones.
Correcciones de errores
- Desde Activity versión 1.2.2: Se corrigió un problema con la comprobación de lint de
InvalidFragmentVersionForActivityResultque producía un falso positivo cuando se usaba Fragment versión 1.3.1 o posterior. (I54da1, b/182388985) - Desde Activity versión 1.2.2: ahora,
ComponentActivityevita unClassNotFoundExceptioncuando se inicia unIntentdesde unActivityResultContractque se retenía como elemento adicional en otroIntent. (Ieff05, b/182906230)
Actualizaciones de dependencias
- Desde Activity versión 1.2.2: ahora, Activity depende de Lifecycle versión
2.3.1.
Versión 1.3.0-alpha04
10 de marzo de 2021
Lanzamiento de androidx.activity:activity:1.3.0-alpha04, androidx.activity:activity-compose:1.3.0-alpha04 y androidx.activity:activity-ktx:1.3.0-alpha04. La versión 1.3.0-alpha04 contiene estas confirmaciones.
Correcciones de errores
- Desde Activity
1.2.1:RequestMultiplePermissionsahora siempre muestra los resultados para todos los permisos solicitados en lugar de hacerlo solamente con los permisos que no se otorgaron anteriormente. (I50bc3, b/180884668) - Desde Activity
1.2.1:ActivityResultRegistryahora garantiza que las solicitudeslaunch()en curso muestren sus resultados incluso si usasunregister()y luegoregister()otra vez con la misma clave. (I9ef34, b/181267562) - Activity Compose ya no agrega dependencias de prueba a la ruta de clase del tiempo de ejecución. (Ifd8b3)
- Se solucionó un problema con
BackHandleren el que todavía se usaba el lambda deonBackconfigurado anteriormente después de la recomposición. (8eb5eb)
Versión 1.3.0-alpha03
24 de febrero de 2021
Lanzamiento de androidx.activity:activity:1.3.0-alpha03, androidx.activity:activity-compose:1.3.0-alpha03 y androidx.activity:activity-ktx:1.3.0-alpha03. La versión 1.3.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Ahora existe una función
registerForActivityResultque admite composición para obtener resultados de actividades dentro de elementos que se pueden componer. (Ia7851, b/172690553)
Cambios en la API
LocalOnBackPressedDispatcherOwnerahora tiene una funciónprovidesque se puede usar conCompositionLocalProvidery reemplaza la APIasProvidableCompositionLocal(). (I45d24)
Versión 1.3.0-alpha02
10 de febrero de 2021
Lanzamiento de androidx.activity:activity:1.3.0-alpha02, androidx.activity:activity-compose:1.3.0-alpha02 y androidx.activity:activity-ktx:1.3.0-alpha02. La versión 1.3.0-alpha02 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un problema de Activity Compose
1.3.0-alpha01que provocaba una excepciónNoSuchMethodError: No static method setContentcuando se usaba Compose1.0.0-alpha12. Todos los usuarios de Compose deben depender de1.3.0-alpha02y versiones posteriores. (b/179911234)
Cambios en la API
- Se puede usar la API
BackHandlerpara permitir que un objeto Composable intercepte el botón Atrás del sistema. (I58ed5, b/172154006)
Versión 1.3.0-alpha01
10 de febrero de 2021
Lanzamiento de androidx.activity:activity:1.3.0-alpha01, androidx.activity:activity-compose:1.3.0-alpha01 y androidx.activity:activity-ktx:1.3.0-alpha01. La versión 1.3.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- El nuevo artefacto
activity-composeproporciona asistentes específicos de Jetpack Compose para API específicas deandroidx.activity.ComponentActivity.setContentse trasladó deandroidx.compose.ui.platform.setContentaandroidx.activity.compose.setContent. (Icf416)
Errores conocidos
- Usar Activity Compose
1.3.0-alpha01y las bibliotecas que dependen de él, comoandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12, generarán una excepciónNoSuchMethodError: No static method setContent. (b/179911234)
Versión 1.2.4
Versión 1.2.4
21 de julio de 2021
Lanzamiento de androidx.activity:activity:1.2.4 y androidx.activity:activity-ktx:1.2.4. La versión 1.2.4 contiene estas confirmaciones.
Correcciones de errores
- Desde Activity versión
1.3.0-rc02, las devoluciones de llamada ActivityResultRegistry ahora se almacenan y se restauran correctamente, de modo que no se duplican en savedState. (I97816, b/191893160)
Versión 1.2.3
Versión 1.2.3
5 de mayo de 2021
Lanzamiento de androidx.activity:activity:1.2.3 y androidx.activity:activity-ktx:1.2.3. La versión 1.2.3 contiene estas confirmaciones.
Correcciones de errores
- Ya no se mostrará una
NullPointerExceptionsi se usa el método de extensiónlaunch()con unActivityResultContractpersonalizado que tiene una entrada deUnit. (I76282, b/183837954). - Se corrigió un error falso positivo de lint que indicaba que usaras Fragment
1.3.0cuando se utilizaba una instantánea, alfa, beta o una compilación RC de una versión más reciente de Fragments. (f4a57e, b/184847092)
Versión 1.2.2
Versión 1.2.2
24 de marzo de 2021
Lanzamiento de androidx.activity:activity:1.2.2 y androidx.activity:activity-ktx:1.2.2. La versión 1.2.2 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un error en la comprobación de lint de
InvalidFragmentVersionForActivityResultque producía un falso positivo cuando se usaba Fragment versión 1.3.1 o posterior. (I54da1, b/182388985) - Ahora,
ComponentActivityevitaClassNotFoundExceptioncuando se lanza el elementoIntentdesdeActivityResultContractque se retenía como un elemento adicional en otroIntent. (Ieff05, b/182906230)
Actualizaciones de dependencias
- La actividad ahora depende de Lifecycle
2.3.1.
Versión 1.2.1
Versión 1.2.1
10 de marzo de 2021
Lanzamiento de androidx.activity:activity:1.2.1 y androidx.activity:activity-ktx:1.2.1. La versión 1.2.1 contiene estas confirmaciones.
Correcciones de errores
- Ahora
RequestMultiplePermissionssiempre muestra los resultados para todos los permisos solicitados en lugar de hacerlo solamente con los permisos que no se otorgaron anteriormente. (I50bc3, b/180884668) ActivityResultRegistryahora garantiza que las solicitudeslaunch()en curso muestren sus resultados incluso si usasunregister(), y luegoregister()con la misma clave otra vez. (I9ef34, b/181267562)
Versión 1.2.0
Versión 1.2.0
10 de febrero de 2021
Lanzamiento de androidx.activity:activity:1.2.0 y androidx.activity:activity-ktx:1.2.0. La versión 1.2.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.1.0
- API de Activity Result:
ComponentActivityahora proporciona unActivityResultRegistryque te permite controlarstartActivityForResult()yonActivityResult(), además de flujosrequestPermissions()+onRequestPermissionsResult(), sin anular los métodos de tu Activity o Fragment. Además, proporciona un tipo de seguridad mejorado medianteActivityResultContracty hooks para probar estos flujos. Consulta la información actualizada en Cómo obtener un resultado de una actividad.
ContextAware:ComponentActivityahora implementaContextAware, lo que te permite agregar una o más instancias deOnContextAvailableListenerpara recibir la devolución de llamada antes de la bseActivity.onCreate().- Una extensión Kotlin de suspensión
withContextAvailable()te permite ejecutar un bloque sin suspensión cuando el Contexto esté disponible y muestra un resultado. FragmentActivityusa esta API en Fragment 1.3.0 para restablecer el estado deFragmentManager. Los objetos de escucha agregados a las subclases deFragmentActivityse ejecutarán después de ese objeto de escucha.AppCompatActivityusa esta API en AppCompat 1.3.0-alpha02 y versiones posteriores. Los objetos de escucha agregados a las subclases deAppCompatActivityse ejecutarán después de ese objeto de escucha.
- Una extensión Kotlin de suspensión
Compatibilidad con
ViewTree:ComponentActivityahora admite las APIViewTreeLifecycleOwner.get(View)ViewTreeViewModelStoreOwner.get(View)yViewTreeSavedStateRegistryOwnerque se agregaron en Lifecycle2.3.0y SavedState1.1.0, de manera que se mostrará Activity comoLifecycleOwner,ViewModelStoreOwnerySavedStateRegistryOwneren todas las View que se agreguen directamente aComponentActivity.
- reportFullyDrawn() backport: Se brindó portabilidad a versiones anteriores de
ComponentActivitydel métodoActivitydereportFullyDrawn()a fin de que funcionara en todos los niveles de API, lo que corrigió un error en la API 19 y agregó el registro para esté método en todos los niveles de API.
Versión 1.2.0-rc01
16 de diciembre de 2020
Lanzamiento de androidx.activity:activity:1.2.0-rc01 y androidx.activity:activity-ktx:1.2.0-rc01. La versión 1.2.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Ahora,
ActivityResultRegistrysiempre restablece el estado exacto que se guardó. (Idd56b) - Se agregó seguimiento de
ComponentActivity.reportFullyDrawn. (Ic7632)
Contribución externa
ComponentActivityahora anulareportFullyDrawn(), lo que permite que se llame en todos los niveles de API y corrige una falla que se producía cuando se llamaba a este método sin el permiso del sistema adecuado en dispositivos con nivel de API 19. ¡Gracias, Simon Schiller! (b/163239764, #103)
Versión 1.2.0-beta02
2 de diciembre de 2020
Lanzamiento de androidx.activity:activity:1.2.0-beta02 y androidx.activity:activity-ktx:1.2.0-beta02. La versión 1.2.0-beta02 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un problema por el que la API de Activity Result no esperaba que Lifecycle tuviera el estado
STARTEDantes de mostrar resultados cuando se registraba con unLifecycle. (I109ea)
Contribución externa
- Se actualizó la documentación de
launch()para indicar explícitamente que puede arrojar unActivityNotFoundException. ¡Gracias, Michał Zieliński! (aosp/1493580)
Versión 1.2.0-beta01
1 de octubre de 2020
Lanzamiento de androidx.activity:activity:1.2.0-beta01 y androidx.activity:activity-ktx:1.2.0-beta01. La versión 1.2.0-beta01 contiene estas confirmaciones.
Correcciones de errores
Ahora,
ActivityResultRegistrygenera números enteros de forma aleatoria hasta encontrar uno que no esté asignado para usarse como código de solicitudregister(), lo que evita el posible desbordamiento de números enteros causado por el aumento de códigos de solicitud. (b/168779518)Los observadores de
Lifecyclese quitan correctamente cuando se llama aunregister()en unActivityResultLauncher. (b/165608393)
Cambios en el comportamiento
- El objeto
ActivityResultRegistryahora arroja una excepciónIllegalStateExceptioncuando se intenta llamar aregister()con un elementoLifecycleOwnercuyoLifecycleya alcanzóSTARTED. (b/165435866)
Documentación actualizada
- La documentación de
ContextAwarese vincula aLifecycleOwnerpara destacar las devoluciones de llamada deLifecyclecomo el lugar adecuado para eventos de creación y destrucción. (aosp/1414152)
Versión 1.2.0-alpha08
19 de agosto de 2020
Lanzamiento de androidx.activity:activity:1.2.0-alpha08 y androidx.activity:activity-ktx:1.2.0-alpha08. La versión 1.2.0-alpha08 contiene estas confirmaciones.
Nuevas funciones
ComponentActivityahora implementaContextAware, lo que permite que agregues una o más instancias deOnContextAvailableListener, que recibirán una devolución de llamada antes delActivity.onCreate()base. (b/161390636)- Una extensión Kotlin de suspensión
withContextAvailable()te permite ejecutar un bloque sin suspensión cuando el Contexto esté disponible y muestra un resultado. (I8290c) FragmentActivityusa esta API en Fragment 1.3.0-alpha08 para restablecer el estado deFragmentManager. Los objetos de escucha agregados a las subclases deFragmentActivityse ejecutarán después de ese objeto de escucha. (I513da)AppCompatActivityusa esta API en AppCompat 1.3.0-alpha02. Los objetos de escucha agregados a las subclases deAppCompatActivityse ejecutarán después de ese objeto de escucha. (I513da)
- Una extensión Kotlin de suspensión
Correcciones de errores
- Se corrigió un error con la comprobación de Lint
ActivityResultFragmentVersionDetectorque impedía su correcto funcionamiento cuando se usaba Lint 27.1.0 o una versión posterior. (b/162155191)
Versión 1.2.0-alpha07
22 de julio de 2020
Lanzamiento de androidx.activity:activity:1.2.0-alpha07 y androidx.activity:activity-ktx:1.2.0-alpha07. La versión 1.2.0-alpha07 contiene estas confirmaciones.
Nuevas funciones
- Se agregó una nueva verificación de Lint
InvalidFragmentVersionForActivityResultque comprueba que estés usando el elemento Fragment1.3.0-alpha07cuando usas la API de Activity Result, lo que evita fallas en el tiempo de ejecución debido a problemas de "código de solicitud no válido" y solicitudes de permisos que no funcionan como consecuencia a versiones anteriores de Fragment. (b/152554847)
Contribución externa
- Se corrigió un elemento
ArrayIndexOutOfBoundsExceptioncuando se analizaban los resultados del contrato del objeto Activity Result del parámetroRequestPermission. (I8f9e3, b/161057605)
Versión 1.2.0-alpha06
10 de junio de 2020
Lanzamiento de androidx.activity:activity:1.2.0-alpha06 y androidx.activity:activity-ktx:1.2.0-alpha06. La versión 1.2.0-alpha06 contiene estas confirmaciones.
Nuevas funciones
- Ahora puedes desestructurar la clase
ActivityResulten Kotlin para acceder directamente arequestCodeyintent. (b/157212935) ActivityResultLauncherahora te permite obtener el objetoActivityResultContractque se usó para registrar el selector. (b/156875743)
Cambios en la API
- Cambio rotundo: se cambió el nombre del método
invoke()enActivityResultRegistryaonLaunch(). (b/157496491) - El contrato
OpenMultipleDocumentsahora muestra una lista vacía en lugar denullpara la devolución de llamada registrada cuando no haya ningún resultado para mostrar. (b/157348014)
Versión 1.2.0-alpha05
20 de mayo de 2020
Lanzamiento de androidx.activity:activity:1.2.0-alpha05 y androidx.activity:activity-ktx:1.2.0-alpha05. La versión 1.2.0-alpha05 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad para el objeto
ViewTreeViewModelStoreOwnerdel elemento Lifecycle2.3.0-alpha03y para el objetoViewTreeSavedStateRegistryOwnerdel elemento SavedState1.1.0-alpha01cuando se usa un objetoViewdentro de un elementoComponentActivity. (aosp/1297993, aosp/1300264)
Cambios en la API
- Ahora, el contrato del objeto
TakePicturemuestra un elementobooleanque indica el éxito en lugar de una miniatura del objetoBitmap, ya que las apps de cámara casi nunca la admitían cuando se escribía la imagen al elementoUriproporcionado. (b/154302879) - Se quitaron las extensiones
invoke()en el objetoActivityResultLauncherpara usar, de manera explícita, la extensiónlaunch()a fin de indicar mejor que son operaciones asíncronas. Se agregaron extensiones de Kotlin para el objetolaunchal paqueteandroidx.activity.resultde los elementosActivityResultLauncher<Void>yActivityResultLauncher<Unit>, que quitan la necesidad de pasar los objetosnulloUnit, respectivamente, lo que duplica ese comportamiento de las extensionesinvoke()anteriores. (aosp/1304674, aosp/1304675) - Los métodos
IntentSenderRequest.Builderpara los objetossetFlagsMask()ysetFlagsValues()se combinaron en un solo métodosetFlags(). (aosp/1302111)
Correcciones de errores
- Se corrigió un problema por el que se activaba la devolución de llamada antes de que el estado llegara al elemento
STARTEDcuando se registraba un objetoActivityResultCallbackcon un elementoLifecycleOwner. (aosp/1309744
Cambios en el comportamiento
- Ahora, el objeto
ActivityResultRegistrygenera códigos de solicitud a partir del elemento0xFFFFen lugar del elemento0, lo que evita la superposición cuando se usan los objetosstartActivityForResult()orequestPermissions()en una actividad. (aosp/1302324)
Versión 1.2.0-alpha04
29 de abril de 2020
Lanzamiento de androidx.activity:activity:1.2.0-alpha04 y androidx.activity:activity-ktx:1.2.0-alpha04. La versión 1.2.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- Se agregó un contrato que puede llamar a startIntentSenderForResult para las API de ActivityResult. (b/153007517)
Cambios en la API
- Se cambió el nombre del método
prepareCall()aregisterForActivityResult(), tanto enComponentActivityaquí como en el objeto Fragment1.3.0-alpha04. (aosp/1278717) - Los contratos
GetContents,OpenDocumentsyRequestPermissionsse renombraron comoGetMultipleContents,OpenMultipleDocumentsyRequestMultiplePermissions, respectivamente. (aosp/1280161) ComponentActivityahora implementa la interfazActivityResultRegisteryOwner. (aosp/1290888)- Las API
startActivityForResult()/onActivityResult()yonRequestPermissionsResult()deComponentActivityse dieron de baja. Usa las API de Activity Result. (b/154751887)
Correcciones de errores
- Al usar los contratos
GetMultipleContentsyOpenMultipleDocuments, y seleccionar un solo elemento, ahora se muestra correctamente en tu devolución de llamada. (b/152941153)
Versión 1.2.0-alpha03
1 de abril de 2020
Lanzamiento de androidx.activity:activity:1.2.0-alpha03 y androidx.activity:activity-ktx:1.2.0-alpha03. La versión 1.2.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron los contratos
TakeVideo,PickContact,GetContent,GetContents,OpenDocument,OpenDocuments,OpenDocumentTreeyCreateDocumental conjunto de contratos previamente compilados proporcionados porActivityResultContracts. (aosp/1262482, aosp/1266916, aosp/1268960) - Las API de Activity Result ahora admiten el lanzamiento de una actividad para el resultado con un objeto
ActivityOptionsCompatopcional. (b/151860054)
Cambios en la API
- El contrato
TakePictureahora acepta una entradaUrien la que se debe almacenar la imagen. Se cambió el nombre del contrato anterior que no acepta ninguna entrada aTakePicturePreview. (aosp/1262482) - Se cambió el nombre del método
registerActivityResultCallback()deActivityResultRegistryaregister(). (aosp/1267621) - Se cambió el nombre del método
dispose()deActivityResultLauncheraunregister()y se quitóunregisterResultCallback()deActivityResultRegistry. (aosp/1267621) - El método
createIntent()deActivityResultContactahora lleva unContextademás de la entrada para que sea posible crear intents explícitos. (aosp/1238800) - Un contrato
ActivityResultContractahora puede omitirgetSynchronousResult()para entregar un resultado sin llamar astartActivityForResult. Los contratosRequestPermissionyRequestPermissionslo usan para entregar correctamente el estado "otorgado" si ya se otorgaron los permisos solicitados. (b/151110799) - Se quitó el contrato
Dialque estaba disponible anteriormente, ya que eseIntentno se debe usar constartActivityForResult(). (aosp/1266916) - Muchas de las API de Activity Result que no se deben extender ahora son
final. Esto incluyegetActivityResultRegistry(), los métodosprepareCall(), todos los métodos deActivityResultRegistryexceptoinvoke()y una cantidad de contratos predeterminados que no admiten opciones adicionales. (b/152439361)
Correcciones de errores
- Se corrigió una excepción
NullPointerExceptionenActivityResultRegistrycuando se intentaban entregar resultados a una devolución de llamada que todavía no se había vuelto a registrar después de un cambio de configuración;ActivityResultRegistryahora retiene esos resultados pendientes y los entrega cuando se vuelve a registrar la devolución de llamada. (b/152137004)
Versión 1.2.0-alpha02
18 de marzo de 2020
Lanzamiento de androidx.activity:activity:1.2.0-alpha02 y androidx.activity:activity-ktx:1.2.0-alpha02. La versión 1.2.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- ActivityResultRegistry:
ComponentActivityahora proporciona unActivityResultRegistryque te permite controlar los flujosstartActivityForResult()+onActivityResult()yrequestPermissions()+onRequestPermissionsResult()sin anular métodos en Activity ni Fragment, aumenta la seguridad de tipo medianteActivityResultContracty proporciona hooks para probar estos flujos. Consulta la información actualizada en Cómo obtener un resultado de una actividad. (b/125158199)
Versión 1.2.0-alpha01
4 de marzo de 2020
Lanzamiento de androidx.activity:activity:1.2.0-alpha01 y androidx.activity:activity-ktx:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con la API
ViewTreeLifecycleOwner.get(View)en Lifecycle2.3.0-alpha01, de manera que mostrará Activity comoLifecycleOwnerpara cualquier View que se haya agregado directamente a Activity. (aosp/1182955)
Correcciones de errores
- Se corrigió una regresión que se introdujo en Activity
1.1.0cuando se ejecutaba en versiones anteriores de la plataforma por la queonBackPressed()ocasionaba unIllegalStateExceptiondebido a un error enandroid.app.FragmentManager. (b/146290338)
Versión 1.1.0
Versión 1.1.0
22 de enero de 2020
Lanzamiento de androidx.activity:activity:1.1.0. La versión 1.1.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.0.0
- Integración de Lifecycle ViewModel SavedState: Ahora
SavedStateViewModelFactoryes el valor predeterminado de fábrica que se utiliza cuando se usaby viewModels(), el constructorViewModelProvidero un objetoViewModelProviders.of()con unComponentActivityo sus subclases.
Versión 1.1.0-rc03
4 de diciembre de 2019
Lanzamiento de androidx.activity:activity:1.1.0-rc03 y androidx.activity:activity-ktx:1.1.0-rc03. La versión 1.1.0-rc03 contiene estas confirmaciones.
Cambios de dependencia
- La actividad ahora depende de Lifecycle
2.2.0-rc03y Lifecycle ViewModel SavedState1.0.0-rc03.
Versión 1.1.0-rc02
7 de noviembre de 2019
Lanzamiento de androidx.activity:activity:1.1.0-rc02 y androidx.activity:activity-ktx:1.1.0-rc02. La versión 1.1.0-rc02 contiene estas confirmaciones.
Cambios de dependencia
- La actividad ahora depende de Lifecycle
2.2.0-rc02.
Versión 1.1.0-rc01
23 de octubre de 2019
Lanzamiento de androidx.activity:activity:1.1.0-rc01 y androidx.activity:activity-ktx:1.1.0-rc01 sin modificaciones desde 1.1.0-beta01. La versión 1.1.0-rc01 contiene estas confirmaciones.
Versión 1.1.0-beta01
9 de octubre de 2019
Lanzamiento de androidx.activity:activity:1.1.0-beta01 y androidx.activity:activity-ktx:1.1.0-beta01. La versión 1.1.0-beta01 contiene estas confirmaciones.
Cambios de dependencia
- La actividad ahora depende de la versión SavedState 1.0.0 estable.
Versión 1.1.0-alpha03
5 de septiembre de 2019
Lanzamiento de androidx.activity:activity:1.1.0-alpha03 y androidx.activity:activity-ktx:1.1.0-alpha03. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.
Nuevas funciones
- La actividad ahora depende de la versión Core 1.1.0 estable.
Correcciones de errores
- La actividad ahora depende de Lifecycle
2.2.0-alpha04.
Versión 1.1.0-alpha02
7 de agosto de 2019
Lanzamiento de androidx.activity:activity:1.1.0-alpha02 y androidx.activity:activity-ktx:1.1.0-alpha02. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.
Nuevas funciones
SavedStateViewModelFactoryahora es el valor predeterminado de fábrica que se utiliza cuando se usaby viewModels(), el constructorViewModelProvidero un objetoViewModelProviders.of()con unComponentActivity. (b/135716331)
Versión 1.1.0-alpha01
2 julio de 2019
Lanzamiento de androidx.activity:activity:1.1.0-alpha01 y androidx.activity:activity-ktx:1.1.0-alpha01. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.
Nuevas funciones
activityahora depende de Lifecycle2.2.0-alpha02. (aosp/1007817)activity-ktxagregó una dependencia enlifecycle-runtime-ktx; ya no debes agregarlo de forma explícita a tus dependencias cuando usasactivity-ktxo bibliotecas que dependen deactivity-ktx(comofragment-ktx). (aosp/987162)
Versión 1.0.0
Versión 1.0.0
5 de septiembre de 2019
Lanzamiento de androidx.activity:activity:1.0.0 y androidx.activity:activity-ktx:1.0.0. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.
Funciones principales de la versión 1.0.0
- ComponentActivity:
ComponentActivitysirve como la nueva clase base paraFragmentActivityen Fragment1.1.0y, por extensión,AppCompatActivityen AppCompat1.1.0. - activity-ktx: El módulo
activity-ktxincluye una extensión de propiedad Kotlinby viewModelspara acceder a objetos ViewModel. Este módulo se incluye automáticamente cuando agregasfragment-ktxdesde Fragment1.1.0. - OnBackPressedDispatcher: Como alternativa que admite composición a la anulación
onBackPressed(), ahora puedes registrar unOnBackPressedCallbackdesde cualquierLifecycleOwner(como un fragmento) para interceptar eventos del botón Atrás del sistema. Se agregó un función lambda con la versión del receptoraddCallbackaactivity-ktx. Consulta Cómo proporcionar documentación de navegación posterior personalizada para obtener más detalles. - Baja de onRetainCustomNonConfigurationInstance: Dejaron de estar disponibles las API de
onRetainCustomNonConfigurationInstance()y las degetLastCustomNonConfigurationInstance()relacionadas. Se recomienda utilizar objetos ViewModel para almacenar el estado de no configuración, ya que ofrecen una solución que se puede componer adecuada para cualquierViewModelStoreOwnerque aclare la propiedad de los objetos retenidos y proporcione una devolución de llamadaonCleared()a fin de limpiar recursos cuando se destruye finalmente la actividad.
Versión 1.0.0-rc01
2 julio de 2019
Lanzamiento de androidx.activity:activity:1.0.0-rc01 y androidx.activity:activity-ktx:1.0.0-rc01 sin modificaciones desde 1.0.0-beta01. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.
Versión 1.0.0-beta01
5 de junio de 2019
Lanzamiento de androidx.activity::activity:1.0.0-beta01 y androidx.activity:activity-ktx:1.0.0-beta01 sin modificaciones desde 1.0.0-alpha08. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.
Versión 1.0.0-alpha08
7 de mayo de 2019
Lanzamiento de androidx.activity:activity:1.0.0-alpha08 y androidx.activity:activity-ktx:1.0.0-alpha08. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.
Cambios en la API
- Cambio rotundo: Se quitaron los métodos
addOnBackPressedCallbackyremoveOnBackPressedCallbackque se habían dado de baja enComponentActivity. aosp/953857 - Los métodos
setEnabled()yisEnabled()deOnBackPressedCallbackahora son finales. b/131416833 - El método
remove()deOnBackPressedCallbackahora es final. aosp/952720 OnBackPressedDispatcherahora tiene constructores públicos, lo que te permite construir tus propias instancias para pruebas, etc. aosp/953431onBackPressed()paraComponentActivityahora está marcado explícitamente como@MainThread. aosp/952721
Correcciones de errores
- Se corrigió un error
ConcurrentModificationExceptioncuando se llama aremove()desde el métodohandleOnBackPressed()de un objetoOnBackPressedCalbackque se agregaba con un elementoLifecycleOwner. b/131765095
Versión 1.0.0-alpha07
25 de abril de 2019
Lanzamiento de androidx.activity:activity:1.0.0-alpha07 y androidx.activity:activity-ktx:1.0.0-alpha07. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.
Cambios en la API
En esta versión, se realizaron cambios importantes en el manejo de onBackPressed(). Consulta la documentación de respaldo personalizada y actualizada para obtener más detalles.
- Los métodos para
OnBackPressedCallbackyOnBackPressedDispatcherse marcaron como@MainThread. (aosp/943813) - El método
handleOnBackPressed()ya no muestra un valorboolean. En cambio,OnBackPressedCallbackahora es una clase abstracta que se puede habilitar o deshabilitar; solo cuando el nuevo métodoisEnabled()muestre un verdadero se llamará ahandleOnBackPressed(), en el que deberás procesar el botón Atrás. (aosp/944518) - Los métodos
addCallbackdeOnBackPressedDispatcherya no muestran una instanciaCancellable.OnBackPressedCallbackahora contiene un métodoremove()que cumple con esta funcionalidad, lo que te permite llamar aremove()durantehandleOnBackPressed(). (aosp/944519) (aosp/946316) activity-ktxahora contiene una devolución de llamada con alcance de receptor paraaddCallbackque acepta una función lamdba que implementahandleOnBackPressed()y tiene acceso aisEnabledyremove(). (aosp/944520)
Versión 1.0.0-alpha06
3 de abril de 2019
Lanzamiento de androidx.activity:activity:1.0.0-alpha06 y androidx.activity:activity-ktx:1.0.0-alpha06. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.
Cambios en la API
- ComponentActivity ahora contiene un segundo constructor que toma un
@LayoutRes int, que a su vez reemplaza el comportamiento anterior de anotar la clase AppCompatActivity con@ContentView. Este enfoque funciona tanto en la app como en los módulos de las bibliotecas. (b/128352521) - Se dieron de baja las API relacionadas con
OnBackPressedCallbacken ComponentActivity y se reemplazaron por el nuevo objetoOnBackPressedDispatcher, que se puede recuperar a través degetOnBackPressedDispatcher(). (aosp/922523) - Los métodos para agregar una nueva devolución de llamada
OnBackPressedCallbackalOnBackPressedDispatcherahora muestran un objetoCancellable, lo que permite quitar la devolución de llamada sin solicitar una referencia explícita al objetoOnBackPressedDispatcher. (aosp/922523) - Ahora, cuando se agrega un objeto
OnBackPressedCallbackcon unLifecycleOwnerasociado, se agrega y se quitaOnBackPressedCallbacka medida que se inicia y se detiene el ciclo de vida, respectivamente. (aosp/922523)
Versión 1.0.0-alpha05
13 de marzo de 2019
Lanzamiento de androidx.activity:activity:1.0.0-alpha05 y androidx.activity:activity-ktx:1.0.0-alpha05. La lista completa de las confirmaciones incluidas en esta versión se encuentra disponible aquí.
Nuevas funciones
- Las búsquedas de anotaciones de
@ContentViewahora se almacenan en caché. (b/123709449)
Versión 1.0.0-alpha04
30 de enero de 2019
Lanzamiento de androidx.activity:activity 1.0.0-alpha04 y androidx.activity:activity-ktx 1.0.0-alpha04.
Nuevas funciones
- Se agregó compatibilidad con la anotación de clase
@ContentView, que te permite indicar qué archivo XML de diseño se debe aumentar, en lugar de utilizarsetContentView(). (aosp/837619)
Cambios en la API
- Se agregó una nota que indica que no se debería anular
getViewModelStore(), que será definitivo en una versión futura. Presenta una solicitud de función si actualmente anulas este método. (aosp/837619)
Correcciones de errores
- El módulo
activityahora depende de la versión 2.1.0-alpha02 de ViewModel para coincidir con la dependencia del móduloactivity-ktx.
Versión 1.0.0-alpha03
17 de diciembre de 2018
Lanzamiento de androidx.activity 1.0.0-alpha03.
Nuevas funciones
- ComponentActivity ahora implementa
BundleSavedStateRegistryOwnery depende de la biblioteca SavedState publicada recientemente. (aosp/815133) - ComponentActivity ahora evita un error en el framework de Android por el que era posible que InputMethodManager filtrara la última vista enfocada. (b/37122102)
Versión 1.0.0-alpha02
3 de diciembre de 2018
Cambios en la API
- Se agregó una nota que indica que no se debe anular
getLifecycle(), que se volveráfinalen una versión futura. Presenta una solicitud de función si actualmente anulas este método. (aosp/815834)
Versión 1.0.0-alpha01
5 de noviembre de 2018
androidx.activity 1.0.0-alpha01 incluye ComponentActivity, una nueva clase base de los componentes FragmentActivity y AppCompatActivity existentes.
Nuevas funciones
- Ahora puedes registrar una
OnBackPressedCallbacka través deaddOnBackPressedCallbackpara recibir devoluciones de llamada deonBackPressed()sin necesidad de anular el método en tu actividad. - Se agregó un nuevo delegado de propiedades de
by viewModels()de Kotlin para recuperar objetosViewModelde unComponentActivity. - Los eventos de entrada pendientes (como los clics) ahora se cancelan en
onStop().
Cambios en la API
- La implementación de
LifecycleOwneryViewModelStoreOwnerse transfirió deFragmentActivityaComponentActivity. - Se dio de baja el elemento
onRetainCustomNonConfigurationInstance. Usa unViewModelpara almacenar objetos que deban permanecer vigentes frente a los cambios de configuración.