Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Actividad

Accede a las API que admiten composición compiladas sobre Activity.
Actualización más reciente Versión estable actual Próxima versión potencial Versión beta Versión Alfa
1 de octubre de 2020 1.1.0 - 1.2.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:

    dependencies {
        def activity_version = "1.1.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 en esta biblioteca antes de crear uno nuevo. Para agregar tu voto a un error existente, haz clic en el botón de la estrella.

Cómo crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 1.2.0

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, ActivityResultRegistry genera números enteros de forma aleatoria hasta encontrar uno que no esté asignado para usarse como código de solicitud register(), lo que evita el posible desbordamiento de números enteros causado por el aumento de códigos de solicitud. (b/168779518)

  • Los observadores del Lifecycle se quitan correctamente cuando se llama a unregister() en un ActivityResultLauncher. (b/165608393)

Cambios en el comportamiento

  • El ActivityResultRegistry ahora arroja una IllegalStateException cuando se intenta llamar a register() con un LifecycleOwner cuyo Lifecycle ya alcanzó STARTED. (b/165435866)

Documentación actualizada

  • La documentación de ContextAware se vincula al LifecycleOwner para destacar las devoluciones de llamada del Lifecycle como 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

  • ComponentActivity ahora implementa ContextAware, lo que permite que agregues una o más instancias de OnContextAvailableListener, que recibirán una devolución de llamada antes del Activity.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)
    • FragmentActivity usa esta API en Fragment 1.3.0-alpha08 para restablecer el estado de FragmentManager. Los objetos de escucha agregados a las subclases de FragmentActivity se ejecutarán después de ese objeto de escucha. (I513da)
    • AppCompatActivity usa esta API en AppCompat 1.3.0-alpha02. Los objetos de escucha agregados a las subclases de AppCompatActivity se ejecutarán después de ese objeto de escucha. (I513da)

Correcciones de errores

  • Se corrigió un en con la comprobación de Lint de ActivityResultFragmentVersionDetector que 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 InvalidFragmentVersionForActivityResult que verifica que estás usando el elemento Fragment 1.3.0-alpha07 cuando 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 ArrayIndexOutOfBoundsException cuando se analizaban los resultados del contrato del objeto Activity Result del parámetro RequestPermission. (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 ActivityResult en kotlin para acceder directamente a requestCode y intent. (b/157212935)
  • ActivityResultLauncher ahora te permite obtener el ActivityResultContract que se usó para registrar el selector. (b/156875743)

Cambios en la API

  • Cambio rotundo: Se cambió el nombre del método invoke() en ActivityResultRegistry a onLaunch(). (b/157496491)
  • El contrato OpenMultipleDocuments ahora muestra una lista vacía en lugar de null para 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

Cambios en la API

  • Ahora, el contrato del objeto TakePicture muestra un elemento boolean que indica el éxito en lugar de una miniatura del objeto Bitmap, ya que las apps de cámara casi nunca la admitían cuando se escribía la imagen al elemento Uri proporcionado. (b/154302879)
  • Se quitaron las extensiones invoke() en el objeto ActivityResultLauncher para usar, de manera explícita, la extensión launch() a fin de indicar mejor que son operaciones asíncronas. Se agregaron extensiones de Kotlin para el objeto launch al paquete androidx.activity.result de los elementos ActivityResultLauncher<Void> y ActivityResultLauncher<Unit>, que quitan la necesidad de pasar los objetos null o Unit, respectivamente, lo que duplica ese comportamiento de las extensiones invoke() anteriores. (aosp/1304674, aosp/1304675)
  • Los métodos IntentSenderRequest.Builder para los objetos setFlagsMask() y setFlagsValues() se combinaron en un solo método setFlags(). (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 STARTED cuando se registraba un objeto ActivityResultCallback con un elemento LifecycleOwner. (aosp/1309744

Cambios en el comportamiento

  • Ahora, el objeto ActivityResultRegistry genera códigos de solicitud a partir del elemento 0xFFFF en lugar del elemento 0, lo que evita la superposición cuando se usan los objetos startActivityForResult() o requestPermissions() 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() a registerForActivityResult(), tanto en ComponentActivity aquí como en el Fragment 1.3.0-alpha04. (aosp/1278717)
  • Los contratos GetContents, OpenDocuments y RequestPermissions se renombraron como GetMultipleContents, OpenMultipleDocuments y RequestMultiplePermissions, respectivamente. (aosp/1280161)
  • ComponentActivity ahora implementa la interfaz ActivityResultRegisteryOwner. (aosp/1290888)
  • Las API startActivityForResult()/onActivityResult() y onRequestPermissionsResult() de ComponentActivity se dieron de baja. Usa las API de Activity Result. (b/154751887)

Correcciones de errores

  • Al usar los contratos GetMultipleContents y OpenMultipleDocuments, 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, OpenDocumentTree y CreateDocument al conjunto de contratos previamente compilados proporcionados por ActivityResultContracts. (aosp/1262482, aosp/1266916, aosp/1268960)
  • Las API de Activity Result ahora admiten el lanzamiento de una actividad para el resultado con un ActivityOptionsCompat opcional. (b/151860054)

Cambios en la API

  • El contrato TakePicture ahora acepta una entrada Uri en la que se debe almacenar la imagen. Se cambió el nombre del contrato anterior que no acepta ninguna entrada a TakePicturePreview. (aosp/1262482)
  • Se cambió el nombre del método registerActivityResultCallback() de ActivityResultRegistry a register(). (aosp/1267621)
  • Se cambió el nombre del método dispose() de ActivityResultLauncher a unregister() y se quitó unregisterResultCallback() en ActivityResultRegistry. (aosp/1267621)
  • El método createIntent() de ActivityResultContact ahora lleva un Context además de la entrada para que sea posible crear intents explícitos. (aosp/1238800)
  • Un ActivityResultContract ahora puede omitir getSynchronousResult() para entregar un resultado sin llamar a startActivityForResult. Los contratos RequestPermission y RequestPermissions lo usan para entregar correctamente el estado "otorgado" si ya se otorgaron los permisos solicitados. (b/151110799)
  • Se quitó el contrato Dial que estaba disponible anteriormente, ya que ese Intent no se debe usar con startActivityForResult(). (aosp/1266916)
  • Muchas de las API de Activity Result que no se deben extender ahora son final. Esto incluye getActivityResultRegistry(), los métodos prepareCall(), todos los métodos de ActivityResultRegistry excepto invoke() y una cantidad de contratos predeterminados que no admiten opciones adicionales. (b/152439361)

Correcciones de errores

  • Se corrigió una NullPointerException en ActivityResultRegistry cuando 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; ActivityResultRegistry ahora 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: ComponentActivity ahora proporciona un ActivityResultRegistry que te permite controlar los flujos startActivityForResult()+onActivityResult() y requestPermissions()+onRequestPermissionsResult() sin omitir métodos en Activity ni Fragment, aumenta la seguridad de tipo mediante ActivityResultContract y 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 Lifecycle 2.3.0-alpha01, de manera que mostrará Activity como LifecycleOwner para 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.0 cuando se ejecutaba en versiones anteriores de la plataforma por la que onBackPressed() ocasionaba un IllegalStateException debido a un error en android.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 SavedStateViewModelFactory es el valor predeterminado de fábrica que se utiliza cuando se usa by viewModels(), el constructor ViewModelProvider o un objeto ViewModelProviders.of() con un ComponentActivity o 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-rc03 y Lifecycle ViewModel SavedState 1.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 vínculo.

Nuevas funciones

  • La actividad ahora depende de la versión Core 1.1.0 estable.

Correcciones de errores

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 vínculo.

Nuevas funciones

  • SavedStateViewModelFactory ahora es el valor predeterminado de fábrica que se utiliza cuando se usa by viewModels(), el constructor ViewModelProvider o un objeto ViewModelProviders.of() con un ComponentActivity (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 vínculo.

Nuevas funciones

  • activity ahora depende del ciclo de vida de 2.2.0-alpha02. (aosp/1007817)
  • activity-ktx agregó una dependencia en lifecycle-runtime-ktx; ya no debes agregarlo de forma explícita a tus dependencias cuando usas activity-ktx o bibliotecas que dependen de activity-ktx (como fragment-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: ComponentActivity sirve como la nueva clase base para FragmentActivity en Fragment 1.1.0 y, por extensión, AppCompatActivity en AppCompat 1.1.0.
  • activity-ktx: El módulo activity-ktx incluye una extensión de propiedad Kotlin by viewModels para acceder a objetos ViewModel. Este módulo se incluye automáticamente cuando agrega fragment-ktx desde Fragment 1.1.0.
  • OnBackPressedDispatcher: Como alternativa que se puede componer a la anulación onBackPressed(), ahora puedes registrar un OnBackPressedCallback desde cualquier LifecycleOwner (como un fragmento) para interceptar eventos del botón de Atrás del sistema. Se agregó un función lambda con la versión del receptor addCallback a activity-ktx. Consulta Cómo proporcionar documentación de navegación posterior personalizada para obtener más detalles.
  • Baja de onRetainCustomNonConfigurationInstance: Se dieron de baja las API relacionadas de onRetainCustomNonConfigurationInstance() y getLastCustomNonConfigurationInstance(). 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 cualquier ViewModelStoreOwner que aclare la propiedad de los objetos retenidos y proporcione una devolución de llamada onCleared() 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 vínculo.

Cambios en la API

  • Cambio rotundo: Se quitaron los métodos addOnBackPressedCallback y removeOnBackPressedCallback que se habían dado de baja en ComponentActivity. aosp/953857
  • Los métodos setEnabled() y isEnabled() de OnBackPressedCallback ahora son finales. b/131416833
  • El método remove() de OnBackPressedCallback ahora es final. aosp/952720
  • OnBackPressedDispatcher ahora tiene constructores públicos, lo que te permite construir tus propias instancias para pruebas, etc. aosp/953431
  • onBackPressed() para ComponentActivity ahora está marcado explícitamente como @MainThread. aosp/952721

Correcciones de errores

  • Se corrigió un error ConcurrentModificationException cuando se llama a remove() desde el método handleOnBackPressed() de una OnBackPressedCalback que se agregaba con un LifecycleOwner. 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 vínculo.

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 OnBackPressedCallback y OnBackPressedDispatcher se marcaron como @MainThread. (aosp/943813)
  • El método handleOnBackPressed() ya no muestra un valor boolean. En cambio, OnBackPressedCallback ahora es una clase abstracta que se puede habilitar o deshabilitar; solo cuando el nuevo método isEnabled() muestre un verdadero se llamará a handleOnBackPressed(), en el que deberás procesar el botón Atrás. (aosp/944518)
  • Los métodos addCallback de OnBackPressedDispatcher ya no muestran una instancia Cancellable. OnBackPressedCallback ahora contiene un método remove() que cumple con esta funcionalidad, lo que te permite llamar a remove() durante handleOnBackPressed(). (aosp/944519) (aosp/946316)
  • activity-ktx ahora contiene una devolución de llamada con alcance de receptor para addCallback que acepta una función lamdba que implementa handleOnBackPressed() y tiene acceso a isEnabled y remove(). (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 vínculo.

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 OnBackPressedCallback en ComponentActivity y se reemplazaron por el nuevo OnBackPressedDispatcher, que se puede recuperar a través de getOnBackPressedDispatcher(). (aosp/922523)
  • Los métodos para agregar una nueva OnBackPressedCallback al OnBackPressedDispatcher ahora muestran un objeto Cancellable, lo que permite quitar la devolución de llamada sin solicitar una referencia explícita al OnBackPressedDispatcher. (aosp/922523)
  • Ahora, cuando se agrega un objeto OnBackPressedCallback con un LifecycleOwner asociado, se agrega y se quita el OnBackPressedCallback a 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 @ContentView ahora 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 utilizar setContentView(). (aosp/837619)

Cambios en la API

Correcciones de errores

  • El módulo activity ahora depende de la versión 2.1.0-alpha02 de ViewModel para coincidir con la dependencia del módulo activity-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 BundleSavedStateRegistryOwner y depende de la biblioteca SavedState publicada recientemente. (aosp/815133)
  • ComponentActivity ahora evita un error en el marco de trabajo 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

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 OnBackPressedCallback a través de addOnBackPressedCallback para recibir devoluciones de llamada de onBackPressed() sin necesidad de anular el método en tu actividad.
  • Se agregó un nuevo delegado de propiedades de by viewModels() de Kotlin para recuperar objetos ViewModel de un ComponentActivity.
  • Los eventos de entrada pendientes (como los clics) ahora se cancelan en onStop().

Cambios en la API

  • La implementación de LifecycleOwner y ViewModelStoreOwner se transfirió de FragmentActivity a ComponentActivity.
  • Se dio de baja el elemento onRetainCustomNonConfigurationInstance. Usa un ViewModel para almacenar objetos que deban permanecer vigentes frente a los cambios de configuración.