Attività

Accedi alle API componibili create in base all'attività.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Alpha Release
2 luglio 2025 1.10.1 1.11.0-rc01 - 1.12.0-alpha04

Dichiarazione di dipendenze

Per aggiungere una dipendenza da Activity, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli artefatti che ti servono nel file build.gradle per la tua app o il tuo modulo:

Alla moda

dependencies {
    def activity_version = "1.10.1"

    // Java language implementation
    implementation "androidx.activity:activity:$activity_version"
    // Kotlin
    implementation "androidx.activity:activity-ktx:$activity_version"
}

Kotlin

dependencies {
    val activity_version = "1.10.1"

    // Java language implementation
    implementation("androidx.activity:activity:$activity_version")
    // Kotlin
    implementation("androidx.activity:activity-ktx:$activity_version")
}

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa libreria. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.12

Versione 1.12.0-alpha04

2 luglio 2025

androidx.activity:activity:1.12.0-alpha04, androidx.activity:activity-compose:1.12.0-alpha04 e androidx.activity:activity-ktx:1.12.0-alpha04 sono rilasciati. La versione 1.12.0-alpha04 contiene questi commit.

Modifiche alle dipendenze

Versione 1.12.0-alpha03

18 giugno 2025

androidx.activity:activity:1.12.0-alpha03, androidx.activity:activity-compose:1.12.0-alpha03 e androidx.activity:activity-ktx:1.12.0-alpha03 sono rilasciati. La versione 1.12.0-alpha03 contiene questi commit.

Correzioni di bug

  • OnBackPressedDispatcher e NavigationEventDispatcher ora vengono inizializzati in modo differito in ComponentActivity. (I710e6)

  • Sono stati risolti problemi relativi a OnBackPressedDistpatcher che causavano i seguenti problemi:

    • Solo l'ultimo spedizioniere OnBackPressedCallback è stato aggiunto alla notifica del suo stato di attivazione (b/418715930)
    • OnBackPressedDispatcher rimuove il callback errato quando si utilizza la funzione addCallback che accetta un ciclo di vita. (b/422714753)
    • OnBackPressedDispatcher.remove() non rimuove tutte le istanze di un OnBackPressedCallback registrato. (b/423024414)

Versione 1.12.0-alpha02

4 giugno 2025

androidx.activity:activity:1.12.0-alpha02, androidx.activity:activity-compose:1.12.0-alpha02 e androidx.activity:activity-ktx:1.12.0-alpha02 sono rilasciati. La versione 1.12.0-alpha02 contiene questi commit.

Correzioni di bug

  • Da NavigationEvent 1.0.0-alpha02: è stato corretto un ConcurrentModificationException che poteva verificarsi quando veniva chiamato NavigationEventCallback.remove() a causa della modifica simultanea dell'elenco interno degli elementi chiudibili. (I63066)

Versione 1.12.0-alpha01

20 maggio 2025

androidx.activity:activity:1.12.0-alpha01, androidx.activity:activity-compose:1.12.0-alpha01 e androidx.activity:activity-ktx:1.12.0-alpha01 sono rilasciati. La versione 1.12.0-alpha01 contiene questi commit.

Nuove funzionalità

  • ComponentActivity e ComponentDialog sono stati integrati con NavigationEvent 1.0.0-alpha01 tramite l'API NavigationEventDispatcherOwner. Ora puoi recuperare un NavigationEventDispatcher dal tuo ComponentActivity tramite il campo navigationEventDispatcher. Poiché OnBackPressedDispatcher è stato riscritto sulla base della nuova libreria, tutti gli utilizzi precedenti dovrebbero continuare a funzionare correttamente. In futuro, dovresti utilizzare NavigationEventDispatcher e NavigationEventCallback. (Ib8eed, I6cc44, Ib7724, I9a0f7,b/412597031, b/415028038, b/412596729, b/412597140, b/412596012)

Versione 1.11

Versione 1.11.0-rc01

23 aprile 2025

androidx.activity:activity:1.11.0-rc01, androidx.activity:activity-compose:1.11.0-rc01 e androidx.activity:activity-ktx:1.11.0-rc01 sono rilasciati. La versione 1.11.0-rc01 contiene questi commit.

Versione 1.11.0-beta01

9 aprile 2025

androidx.activity:activity:1.11.0-beta01, androidx.activity:activity-compose:1.11.0-beta01 e androidx.activity:activity-ktx:1.11.0-beta01 sono rilasciati. La versione 1.11.0-beta01 contiene questi commit.

Versione 1.11.0-alpha02

26 marzo 2025

androidx.activity:activity:1.11.0-alpha02, androidx.activity:activity-compose:1.11.0-alpha02 e androidx.activity:activity-ktx:1.11.0-alpha02 sono rilasciati. La versione 1.11.0-alpha02 contiene questi commit.

Modifiche alle API

  • Sono stati integrati i nuovi EDGE_NONE e frameTimeMillis di Android 16 Beta03 nel BackEventCompat fornito dalle funzioni handleOnBackStarted e handleOnBackProgressed di OnBackPressedCallback.

Aggiornamenti delle dipendenze

Versione 1.11.0-alpha01

12 marzo 2025

androidx.activity:activity:1.11.0-alpha01, androidx.activity:activity-compose:1.11.0-alpha01 e androidx.activity:activity-ktx:1.11.0-alpha01 sono rilasciati. La versione 1.11.0-alpha01 contiene questi commit.

Nuove funzionalità

  • È stata aggiunta l'API MediaCapabilities a PickVisualMediaRequest per consentire alle applicazioni di specificare le proprie funzionalità multimediali, ad esempio i tipi di HDR supportati. (Ic3ee7)

Versione 1.10

Versione 1.10.1

26 febbraio 2025

androidx.activity:activity:1.10.1, androidx.activity:activity-compose:1.10.1 e androidx.activity:activity-ktx:1.10.1 sono rilasciati. La versione 1.10.1 contiene questi commit.

Correzioni di bug

  • ViewTree OnBackPressedDispatcherOwners e FullyDrawnReporterOwners ora possono essere risolti tramite genitori disgiunti di una vista, ad esempio un ViewOverlay. Per ulteriori informazioni sui genitori della visualizzazione disgiunta, consulta le note di rilascio di core o la documentazione in ViewTree.setViewTreeDisjointParent. (Ie7750)

Versione 1.10.0

15 gennaio 2025

androidx.activity:activity:1.10.0, androidx.activity:activity-compose:1.10.0 e androidx.activity:activity-ktx:1.10.0 sono rilasciati. La versione 1.10.0 contiene questi commit.

Modifiche importanti dalla versione 1.9.0

  • PhotoPicker ora consente di scegliere le immagini in ordine e di scegliere quale scheda (album o immagini) deve essere inizialmente visibile.
  • I contratti PickVisualMedia e PickMultipleVisualMedia Activity Result che attivano il selettore di foto non delegano più direttamente a Google Play Services se il selettore di foto di sistema non è disponibile, ma utilizzano l'intent ACTION_SYSTEM_FALLBACK_PICK_IMAGES pubblico e gli extra correlati per fornire un'esperienza coerente del selettore di foto a OEM e app di sistema come fallback.
  • Nuova composizione locale LocalActivity che fornisce Activity per l'ambito corrente, eliminando la necessità per gli sviluppatori di ottenere un Activity da LocalContext.

Versione 1.10.0-rc01

11 dicembre 2024

androidx.activity:activity:1.10.0-rc01, androidx.activity:activity-compose:1.10.0-rc01 e androidx.activity:activity-ktx:1.10.0-rc01 sono rilasciati. La versione 1.10.0-rc01 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema per cui la modifica dello stato attivato mentre PredictiveBackHandler è attualmente attivo interrompeva immediatamente il callback. Ora terminerà il callback corrente indipendentemente dalle modifiche dello stato di attivazione. (Ib8719)

Versione 1.10.0-beta01

13 novembre 2024

androidx.activity:activity:1.10.0-beta01, androidx.activity:activity-compose:1.10.0-beta01 e androidx.activity:activity-ktx:1.10.0-beta01 vengono rilasciati senza modifiche rispetto all'ultima versione alpha. La versione 1.10.0-beta01 contiene questi commit.

Versione 1.10.0-alpha03

30 ottobre 2024

androidx.activity:activity:1.10.0-alpha03, androidx.activity:activity-compose:1.10.0-alpha03 e androidx.activity:activity-ktx:1.10.0-alpha03 sono rilasciati. La versione 1.10.0-alpha03 contiene questi commit.

Modifiche alle API

  • È stata aggiunta una nuova composizione locale LocalActivity che fornisce l'Activity per l'ambito corrente, eliminando la necessità per gli sviluppatori di ottenere un Activity da LocalContext. È inoltre dotata di una nuova regola di lint che controlla quando LocalContext viene eseguito il cast in modo errato in un Activity. (I7746a, b/283009666)

Correzioni di bug

  • Da Attività 1.9.3: PredictiveBackHandler non attiverà più il callback dopo la disattivazione del gestore. In questo modo verrà risolto un problema per cui NavHost da Navigation Compose generava un IndexOutOfBoundsException. (I3f75e, b/365027664, b/340202286)

Aggiornamento delle dipendenze

Versione 1.10.0-alpha02

4 settembre 2024

androidx.activity:activity:1.10.0-alpha02, androidx.activity:activity-compose:1.10.0-alpha02 e androidx.activity:activity-ktx:1.10.0-alpha02 sono rilasciati. La versione 1.10.0-alpha02 contiene questi commit.

Modifiche al comportamento

  • I contratti PickVisualMedia e PickMultipleVisualMedia Activity Result che attivano il selettore di foto non delegano più direttamente a Google Play Services se il selettore di foto di sistema non è disponibile, ma utilizzano l'intent ACTION_SYSTEM_FALLBACK_PICK_IMAGES pubblico e gli extra correlati per fornire un'esperienza coerente del selettore di foto a OEM e app di sistema come fallback. Questo non dovrebbe influire sull'esperienza utente per i dispositivi con una versione recente di Google Play Services. (I3513d)

Correzioni di bug

  • È stata rimossa la definizione manuale dell'accesso alle nuove API della piattaforma, poiché questa avviene automaticamente tramite la modellazione delle API quando si utilizza R8 con AGP 7.3 o versioni successive (ad es. R8 versione 3.3) e per tutte le build quando si utilizza AGP 8.1 o versioni successive (ad es. D8 versione 8.1). I client che non utilizzano AGP sono invitati a eseguire l'aggiornamento alla versione 8.1 o successive di D8. Consulta questo articolo per ulteriori dettagli. (I9496c, b/345472586)
  • Da Attività 1.9.2: è stato risolto un problema per cui l'API Activity Compose PredictiveBackHandler continuava a gestire il gesto Indietro del sistema sul frame in cui era disabilitata, il che poteva comportare la gestione del pulsante Indietro da parte di librerie come Navigation Compose anche con uno stack Indietro vuoto, con conseguente generazione di un errore IndexOutOfBoundsException. (Ie3301, b/340202286)
  • Da Attività 1.9.1: è stato risolto un problema con PredictiveBackHandler per cui, dopo aver eseguito il backup del sistema, il tentativo di eseguire onBackPressed da OnBackPressedDispatcher non riusciva. (I5f1f8)

Versione 1.10.0-alpha01

26 giugno 2024

androidx.activity:activity:1.10.0-alpha01, androidx.activity:activity-compose:1.10.0-alpha01 e androidx.activity:activity-ktx:1.10.0-alpha01 sono rilasciati. Questa versione è sviluppata in un ramo interno.

Nuove funzionalità

  • È stato aggiunto il supporto per le nuove funzionalità di PhotoPicker introdotte in Android V, tra cui la possibilità di scegliere le immagini in ordine e selezionare la scheda (album o immagini) da visualizzare inizialmente.

Versione 1.9

Versione 1.9.3

16 ottobre 2024

androidx.activity:activity:1.9.3, androidx.activity:activity-compose:1.9.3 e androidx.activity:activity-ktx:1.9.3 sono rilasciati. La versione 1.9.3 contiene questi commit.

Correzioni di bug

  • PredictiveBackHandler non attiverà più il callback dopo la disattivazione del gestore. In questo modo verrà risolto un problema per cui NavHost da Navigation Compose generava un IndexOutOfBoundsException. (I3f75e, b/340202286)

Versione 1.9.2

4 settembre 2024

androidx.activity:activity:1.9.2, androidx.activity:activity-compose:1.9.2 e androidx.activity:activity-ktx:1.9.2 sono rilasciati. La versione 1.9.2 contiene questi commit lthcocommits.

Correzioni di bug

  • È stato risolto un problema per cui l'API Activity Compose PredictiveBackHandler continuava a gestire il gesto Indietro del sistema sul frame in cui era disabilitata, il che poteva comportare la gestione del pulsante Indietro da parte di librerie come Navigation Compose anche con uno stack Indietro vuoto, con conseguente generazione di un errore IndexOutOfBoundsException. (Ie3301, b/340202286)

Versione 1.9.1

24 luglio 2024

androidx.activity:activity:1.9.1, androidx.activity:activity-compose:1.9.1 e androidx.activity:activity-ktx:1.9.1 sono rilasciati. La versione 1.9.1 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema con PredictiveBackHandler per cui, dopo aver eseguito il backup del sistema, il tentativo di eseguire onBackPressed da OnBackPressedDispatcher non riusciva. (I5f1f8)

Versione 1.9.0

17 aprile 2024

androidx.activity:activity:1.9.0, androidx.activity:activity-compose:1.9.0 e androidx.activity:activity-ktx:1.9.0 sono rilasciati. La versione 1.9.0 contiene questi commit.

Modifiche importanti dalla versione 1.8.0

  • ComponentActivity ora implementa OnUserLeaveHintProvider per consentire ai componenti di eseguire callback per gli eventi onUserLeaveHint.
  • Le API OnBackPressedCallback, BackHandler e PredictiveBackHandler ora mostrano un avviso quando chiamano onBackPressedDispatcher.onBackPressed() durante la gestione del gesto Indietro, in quanto interromperanno sempre l'animazione del gesto indietro predittivo. Per saperne di più, consulta la guida alle best practice.
  • Il resto delle API Activity è stato riscritto in Kotlin e tutte le estensioni precedentemente disponibili in activity-ktx sono state spostate in activity. activity-ktx è ora completamente vuoto.
    • Nell'ambito della conversione di ActivityResultLauncher in Kotlin, il metodo getContract è ora una proprietà astratta di Kotlin. Si tratta di una modifica compatibile a livello binario, ma che causa un'interruzione a livello di codice sorgente se l'implementazione di ActivityResultLauncher è scritta in Kotlin.

Versione 1.9.0-rc01

3 aprile 2024

androidx.activity:activity:1.9.0-rc01, androidx.activity:activity-compose:1.9.0-rc01 e androidx.activity:activity-ktx:1.9.0-rc01 sono rilasciati. La versione 1.9.0-rc01 contiene questi commit.

Aggiornamento delle dipendenze

Versione 1.9.0-beta01

20 marzo 2024

androidx.activity:activity:1.9.0-beta01, androidx.activity:activity-compose:1.9.0-beta01 e androidx.activity:activity-ktx:1.9.0-beta01 sono rilasciati. La versione 1.9.0-beta01 contiene questi commit.

Correzioni di bug

  • È stato corretto un problema di regressione delle prestazioni di avvio dell'attività introdotto in Activity 1.9.0-alpha02 causato dalla chiamata di OnBackPressedDispatcher nell'ambito della creazione dell'attività. (Ie75e3)

Versione 1.9.0-alpha03

7 febbraio 2024

androidx.activity:activity:1.9.0-alpha03, androidx.activity:activity-compose:1.9.0-alpha03 e androidx.activity:activity-ktx:1.9.0-alpha03 sono rilasciati. La versione 1.9.0-alpha03 contiene questi commit.

Avviso di lanugine

Correzioni di bug

  • Se viene inviato un evento Indietro dal sistema avviato durante un gesto Indietro predittivo già in esecuzione, il gesto Indietro predittivo attualmente in esecuzione viene annullato e il nuovo evento Indietro prende il sopravvento per iniziare un nuovo gesto Indietro predittivo. (I3482e)
  • È stato risolto un arresto anomalo durante l'accesso a onBackPressedDispatcher da un ComponentActivity per la prima volta da un thread in background. Ora puoi accedere a onBackPressedDispatcher in qualsiasi thread in sicurezza. (I79955)

Versione 1.9.0-alpha02

24 gennaio 2024

androidx.activity:activity:1.9.0-alpha02, androidx.activity:activity-compose:1.9.0-alpha02 e androidx.activity:activity-ktx:1.9.0-alpha02 sono rilasciati. La versione 1.9.0-alpha02 contiene questi commit.

Conversioni Kotlin

  • ActivityResultRegistry è stato riscritto in Kotlin. In questo modo, la nullabilità dei generici nel contratto passato a register verrà trasmessa correttamente a ActivityResultLauncher restituito. (I121f0)
  • ActivityResult è stato riscritto in Kotlin. Le estensioni Kotlin ActivityResult che supportano la destrutturazione nei campi resultCode e data sono state spostate da activity-ktx a activity. (I0565a)
  • Le estensioni Kotlin di by viewModels() per ComponentActivity e trackPipAnimationHintView sono state spostate da activity-ktx a activity. L'artefatto activity-ktx ora è completamente vuoto. (I0a444)

Correzioni di bug

  • L'API enableEdgeToEdge ora disegna intorno a qualsiasi intaglio del display. (a3644b, b/311173461)
  • Da Attività 1.8.2: è stato corretto l'extra passato a ACTION_SYSTEM_FALLBACK_PICK_IMAGES del contratto di attività di selezione delle foto per passare correttamente la chiave EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX, anziché utilizzare l'extra con la chiave "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". È consigliato vivamente se sei un OEM che implementa un selettore di foto di fallback del sistema per supportare entrambi gli extra e garantire la massima compatibilità. (I96a00)

Versione 1.9.0-alpha01

29 novembre 2023

androidx.activity:activity:1.9.0-alpha01, androidx.activity:activity-compose:1.9.0-alpha01 e androidx.activity:activity-ktx:1.9.0-alpha01 sono rilasciati. La versione 1.9.0-alpha01 contiene questi commit.

Nuove funzionalità

  • ComponentActivity ora implementa OnUserLeaveHintProvider per consentire ai componenti di eseguire callback per gli eventi onUserLeaveHint. (I54892)

Modifiche alle API

  • ComponentActivity è stato riscritto in Kotlin. (I14f31)
  • ActivityResultCaller è stato riscritto in Kotlin. (Ib02e4)
  • ActivityResultLauncher è stato riscritto in Kotlin. Nell'ambito di questa conversione, il metodo getContract è ora una proprietà Kotlin astratta. Si tratta di una modifica compatibile a livello binario, ma che causa un'interruzione a livello di codice sorgente se l'implementazione di ActivityResultLauncher è scritta in Kotlin. (Id4615)
  • PickVisualMediaRequest ora ha lo stesso livello API minimo di 19 del contratto PickVisualMedia Activity Result. (Id6e21)

Aggiornamento delle dipendenze

Versione 1.8

Versione 1.8.2

13 dicembre 2023

androidx.activity:activity:1.8.2, androidx.activity:activity-compose:1.8.2 e androidx.activity:activity-ktx:1.8.2 sono rilasciati. La versione 1.8.2 contiene questi commit.

Correzioni di bug

  • È stato corretto l'extra passato a ACTION_SYSTEM_FALLBACK_PICK_IMAGES del contratto di attività del selettore di foto per passare correttamente la chiave EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX, anziché utilizzare l'extra con la chiave "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". È consigliato vivamente se sei un OEM che implementa un selettore di foto di fallback del sistema per supportare entrambi gli extra e garantire la massima compatibilità. (I96a00)

Versione 1.8.1

15 novembre 2023

androidx.activity:activity:1.8.1, androidx.activity:activity-compose:1.8.1 e androidx.activity:activity-ktx:1.8.1 sono rilasciati. La versione 1.8.1 contiene questi commit.

Correzioni di bug

  • OnBackPressedDispatcher ora continua a inviare all'OnBackPressedCallback corretto anche dopo l'aggiunta di un nuovo OnBackPressedCallback durante la gestione del gesto Indietro. (Id0ff6)

Versione 1.8.0

4 ottobre 2023

androidx.activity:activity:1.8.0, androidx.activity:activity-compose:1.8.0 e androidx.activity:activity-ktx:1.8.0 sono rilasciati. La versione 1.8.0 contiene questi commit.

Modifiche importanti dalla versione 1.7.0

  • Indietro predittivo: OnBackPressedCallback ora offre nuovi callback Indietro predittivo per la gestione dell'inizio del gesto Indietro, dell'avanzamento del gesto e dell'annullamento del gesto Indietro, oltre al precedente callback handleOnBackPressed() per quando il gesto Indietro viene eseguito. È inoltre disponibile PredictiveBackHandler Composable per gestire gli eventi di gesto di indietro predittivo in Activity Compose. Fornisce un flusso di oggetti BackEventCompat che devono essere raccolti nella lambda di sospensione che fornisci:
  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() è stato ritirato a favore delle API per la gestione del pulsante Indietro. Gli sviluppatori ora devono utilizzare OnBackPressedDispatcher anziché eseguire l'override di questo metodo.

  • EdgeToEdge: ComponentActivity.enableEdgeToEdge() è stato aggiunto per configurare facilmente il display edge-to-edge in modo compatibile con le versioni precedenti.

Versione 1.8.0-rc01

20 settembre 2023

androidx.activity:activity:1.8.0-rc01, androidx.activity:activity-compose:1.8.0-rc01 e androidx.activity:activity-ktx:1.8.0-rc01 sono rilasciati. La versione 1.8.0-rc01 contiene questi commit.

Versione 1.8.0-beta01

6 settembre 2023

androidx.activity:activity:1.8.0-beta01, androidx.activity:activity-compose:1.8.0-beta01 e androidx.activity:activity-ktx:1.8.0-beta01 sono rilasciati. La versione 1.8.0-beta01 contiene questi commit.

Miglioramento della documentazione

  • È stata migliorata la documentazione di BackEventCompat. (aosp/2722254)

Versione 1.8.0-alpha07

23 agosto 2023

androidx.activity:activity:1.8.0-alpha07, androidx.activity:activity-compose:1.8.0-alpha07 e androidx.activity:activity-ktx:1.8.0-alpha07 sono rilasciati. La versione 1.8.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Activity Compose ha aggiunto un nuovo PredictiveBackHandler componibile per gestire gli eventi di gesto di indietro predittivo. Fornisce un Flow di BackEventCompat oggetti che devono essere raccolti nella lambda sospesa che fornisci:

    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
      }
    }
    

    Viene inoltre fornito un avviso in fase di compilazione tramite la regola lint per garantire le chiamate Flow collect(). (Id2773, b/294884345)

  • onBackPressedDispatcher in ComponentActivity ora viene inizializzato in modo differito, in modo che venga creato solo quando necessario. (I0bf8e)

Correzioni di bug

  • ComponentActivity non mostrerà più un errore NullPointerException su Android 13 quando riceve un callback onBackPressed() e l'attività è già stata DESTROYED. (Idb055, b/291869278)
  • Utilizzi rimossi dell'API sperimentale isAtLeastU() (Ie9117, b/289269026)

Versione 1.8.0-alpha06

21 giu 2023

androidx.activity:activity:1.8.0-alpha06, androidx.activity:activity-compose:1.8.0-alpha06 e androidx.activity:activity-ktx:1.8.0-alpha06 sono rilasciati. La versione 1.8.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Ora OnBackPressedDispatcher annulla correttamente tutti i callback rimossi durante un gesto di Indietro predittivo. (I3f90f)

Modifiche alle API

  • Quando passi SystemBarStyle.auto all'API enableEdgeToEdge, ora puoi eseguire l'override del parametro lambda detectDarkMode per fornire una logica personalizzata per il rilevamento della modalità notturna. (aosp/2546393, b/278263793)

Versione 1.8.0-alpha05

7 giugno 2023

androidx.activity:activity:1.8.0-alpha05, androidx.activity:activity-compose:1.8.0-alpha05 e androidx.activity:activity-ktx:1.8.0-alpha05 sono rilasciati. Questa versione è sviluppata in un ramo interno.

Modifiche alle API

  • Activity ora fornisce una classe BackEventCompat che funge da versione compatibile con le versioni precedenti di BackEvent, disaccoppiata dalla classe BackEvent del framework.
  • Modifica che causa interruzione: i metodi handleOnBackStarted e handleOnBackProgressed di OnBackPressedCallback ora ricevono un'istanza androidx.activity.BackEventCompat anziché una classe android.window.BackEvent del framework. Anche le API @VisibleForTesting equivalenti su OnBackPressedDispatcher sono state aggiornate.
  • Il costruttore per OnBackPressedDispatcher ora accetta un'istanza Consumer<Boolean> facoltativa che consente ai proprietari del dispatcher di ricevere un callback ogni volta che il numero di callback abilitati cambia da zero a diverso da zero o viceversa.

Correzioni di bug

Versione 1.8.0-alpha04

10 maggio 2023

androidx.activity:activity:1.8.0-alpha04, androidx.activity:activity-compose:1.8.0-alpha04 e androidx.activity:activity-ktx:1.8.0-alpha04 sono rilasciati. Questa versione è stata rilasciata da un ramo interno.

Correzioni di bug

  • A partire dall'attività 1.7.1: - ReportFullyDrawExecuter non viene più divulgato quando si utilizza ComponentActivity con ActivityScenario. (Id2ff2, b/277434271)

Versione 1.8.0-alpha03

12 aprile 2023

androidx.activity:activity:1.8.0-alpha03, androidx.activity:activity-compose:1.8.0-alpha03 e androidx.activity:activity-ktx:1.8.0-alpha03 sono rilasciati. Questa versione è stata rilasciata da un ramo interno.

Nuove funzionalità

  • È stato aggiunto ComponentActivity.setUpEdgeToEdge() per configurare facilmente il display edge-to-edge in modo compatibile con le versioni precedenti.

Modifiche alle API

  • ComponentActivity.onBackPressed() è stato ritirato a favore delle API per la gestione del pulsante Indietro. Gli sviluppatori ora devono utilizzare OnBackPressedDispatcher anziché eseguire l'override di questo metodo. (Ibce2f, b/271596918)
  • ComponentDialog e ComponentActivity ora contengono l'API pubblica initViewTreeOwners() da utilizzare per inizializzare tutti i proprietari dell'albero delle visualizzazioni prima di impostare la visualizzazione dei contenuti. (Ibdce0, b/261314581)

Correzioni di bug

  • È stato risolto un problema per cui i fragment invalidavano in modo errato MenuHost e causavano un comportamento imprevisto in altri menu dell'attività. (I9404e, b/244336571)

Altre modifiche

  • ActivityResultRegister ora utilizza Kotlin Random anziché Java. (I4d98f, b/272096025)

Versione 1.8.0-alpha02

8 marzo 2023

androidx.activity:activity:1.8.0-alpha02, androidx.activity:activity-compose:1.8.0-alpha02 e androidx.activity:activity-ktx:1.8.0-alpha02 sono rilasciati. Sviluppato da un ramo interno.

Aggiornamento delle dipendenze

Versione 1.8.0-alpha01

8 febbraio 2023

androidx.activity:activity:1.8.0-alpha01, androidx.activity:activity-compose:1.8.0-alpha01 e androidx.activity:activity-ktx:1.8.0-alpha01 sono rilasciati. È stato creato da un ramo interno.

Nuove funzionalità

  • La classe OnBackPressedCallback ora contiene nuovi callback di avanzamento di Indietro predittivo per la gestione dell'inizio del gesto Indietro, dell'avanzamento durante il gesto e dell'annullamento del gesto Indietro, oltre al precedente callback handleOnBackPressed() per quando il gesto Indietro viene eseguito.

Versione 1.7

Versione 1.7.2

24 maggio 2023

androidx.activity:activity:1.7.2, androidx.activity:activity-compose:1.7.2 e androidx.activity:activity-ktx:1.7.2 sono rilasciati. La versione 1.7.2 contiene questi commit.

Correzioni di bug

  • Correzione dell'arresto anomalo di ReportDrawn quando si esce da una schermata prima della chiamata di report. (Ic46f1, b/260506820)

Versione 1.7.1

19 aprile 2023

androidx.activity:activity:1.7.1, androidx.activity:activity-compose:1.7.1 e androidx.activity:activity-ktx:1.7.1 sono rilasciati. La versione 1.7.1 contiene questi commit.

Correzioni di bug

  • ReportFullyDrawExecuter non viene più divulgato quando si utilizza ComponentActivity con ActivityScenario. (Id2ff2, b/277434271)

Versione 1.7.0

22 marzo 2023

androidx.activity:activity:1.7.0, androidx.activity:activity-compose:1.7.0 e androidx.activity:activity-ktx:1.7.0 sono rilasciati. La versione 1.7.0 contiene questi commit.

Modifiche importanti dalla versione 1.6.0

  • I contratti di attività del selettore di foto in PickVisualMedia e PickMultipleVisualMedia sono stati aggiornati per includere un fallback aggiuntivo per i casi in cui MediaStore.ACTION_PICK_IMAGES non è disponibile, consentendo a OEM e app di sistema, come Google Play Services, di fornire un'esperienza coerente del selettore di foto su una gamma più ampia di dispositivi Android e livelli API implementando l'azione di fallback. Il selettore di foto utilizzerà questo fallback se è disponibile prima di ricorrere all'utilizzo di Intent.ACTION_OPEN_DOCUMENT, che rimane a supporto di tutti i dispositivi con API 19 e versioni successive.
  • ComponentDialog ora implementa SavedStateRegistryOwner e ha accesso al proprio SavedStateRegistry e imposta SavedStateRegistryOwner per il proprio ViewTree. Ora è possibile utilizzare Jetpack Compose all'interno di un ComponentDialog perché soddisfa i requisiti di LifecycleOwner e SavedStateRegistryOwner collegati alla finestra tramite le API ViewTree.
  • IntentSenderRequest.Builder.setFlags() ora ti consente di impostare più flag da Intent, anziché un solo flag.

Conversione Kotlin

Alcune classi di attività sono state convertite in Kotlin. Tutti i corsi convertiti mantengono la compatibilità binaria con le versioni precedenti. Le seguenti classi hanno modifiche incompatibili con l'origine per le classi scritte in Kotlin: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner.

La tabella seguente mostra le conversioni delle origini per la nuova versione di Attività:

Attività 1.5 Attività 1.6
override fun getActivityResultRegistry() = activityResultRegistry override val activityResultRegistry = activityResultRegistry
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher override val onBackPressedDispatcher = onBackPressedDispatcher

Anche queste classi sono state convertite in Kotlin, ma rimangono compatibili con l'origine: ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequest e OnBackPressedDispatcher

API FullyDrawnReporter

ComponentActivity ora fornisce un'istanza FullyDrawnReporter che consente a più componenti di segnalare quando sono pronti per l'interazione. ComponentActivity attenderà il completamento di tutti i componenti prima di chiamare reportFullyDrawn() per tuo conto. Queste API si occupano dei requisiti di sincronizzazione per te e non devono essere chiamate nell'ambito di una chiamata onDraw.

È consigliabile abilitare queste API:

  • Segnalazione di Android Runtime al termine dell'avvio, per garantire che tutto il codice eseguito durante una sequenza di avvio multi-frame sia incluso e abbia la priorità per la compilazione in background.
  • Macrobenchmark di segnalazione e Play Vitals quando l'applicazione deve essere considerata completamente disegnata per le metriche di avvio, in modo da poter monitorare le prestazioni.

Sono state aggiunte tre API Activity Compose per semplificare l'utilizzo di FullyDrawnReporter dai singoli componenti componibili:

  • ReportDrawn indica che il tuo componente componibile è immediatamente pronto per l'interazione.
  • ReportDrawnWhen accetta un predicato (ovvero list.count > 0) per indicare quando il componente componibile è pronto per l'interazione.
  • ReportDrawnAfter accetta un metodo di sospensione che, al termine, indica che sei pronto per l'interazione.

Aggiornamenti delle dipendenze

Versione 1.7.0-rc01

8 marzo 2023

androidx.activity:activity:1.7.0-rc01, androidx.activity:activity-compose:1.7.0-rc01 e androidx.activity:activity-ktx:1.7.0-rc01 sono rilasciati. La versione 1.7.0-rc01 contiene questi commit.

Aggiornamento delle dipendenze

Versione 1.7.0-beta02

22 febbraio 2023

androidx.activity:activity:1.7.0-beta02, androidx.activity:activity-compose:1.7.0-beta02 e androidx.activity:activity-ktx:1.7.0-beta02 sono rilasciati. La versione 1.7.0-beta02 contiene questi commit.

Modifiche alle API

  • L'intent e l'extra utilizzati dai contratti PickVisualMedia e PickMultipleVisualMedia come fallback quando MediaStore.ACTION_PICK_IMAGES non è disponibile sono ora costanti pubbliche che forniscono stabilità dell'API a OEM e app di sistema che vogliono offrire un'esperienza coerente con il selettore di foto. L'implementazione di questo fallback è ancora limitata alle sole app di sistema. (Icd320)

Versione 1.7.0-beta01

8 febbraio 2023

androidx.activity:activity:1.7.0-beta01, androidx.activity:activity-compose:1.7.0-beta01 e androidx.activity:activity-ktx:1.7.0-beta01 sono rilasciati. La versione 1.7.0-beta01 contiene questi commit.

Nuove funzionalità

  • IntentSenderRequest.Builder.setFlags() ora ti consente di impostare più flag da Intent, anziché un solo flag. (Iac04c)

Correzioni di bug

  • Il fallback per PickVisualMedia quando il framework Photo Picker non è disponibile ora limita correttamente la gestione alle app installate nell'immagine di sistema del dispositivo. (If8ae6)

Conversioni Kotlin

  • ActivityResultRegistryOwner è ora scritto in Kotlin. Si tratta di una modifica incompatibile con l'origine per le classi scritte in Kotlin: ora devi eseguire l'override della proprietà activityResultRegistry anziché implementare la funzione getActivityResultRegistry() precedente. (I0b00e)
  • OnBackPressedDispatcherOwner è ora scritto in Kotlin. Si tratta di una modifica incompatibile con l'origine per le classi scritte in Kotlin: ora devi eseguire l'override della proprietà onBackPressedDispatcher anziché implementare la funzione getOnBackPressedDispatcher precedente. (Ia277d)
  • ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequest e OnBackPressedDispatcher sono ora scritti in Kotlin. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)

Versione 1.7.0-alpha04

25 gennaio 2023

androidx.activity:activity:1.7.0-alpha04, androidx.activity:activity-compose:1.7.0-alpha04 e androidx.activity:activity-ktx:1.7.0-alpha04 sono rilasciati. La versione 1.7.0-alpha04 contiene questi commit.

Nuove funzionalità

  • I contratti PickVisualMedia e PickMultipleVisualMedia Activity Result ora utilizzeranno un selettore di foto fornito da Google Play Services, se disponibile, nei casi in cui il selettore di foto fornito dal sistema Android (ad es. MediaStore.ACTION_PICK_IMAGES) non è disponibile. L'API isPhotoPickerAvailable() che rileva solo il selettore di foto fornito dal sistema Android è stata ritirata. Ti consigliamo di utilizzare la nuova API isPhotoPickerAvailable(Context), che indica se è disponibile Photo Picker. (I55be6)

Versione 1.7.0-alpha03

11 gennaio 2023

androidx.activity:activity:1.7.0-alpha03, androidx.activity:activity-compose:1.7.0-alpha03 e androidx.activity:activity-ktx:1.7.0-alpha03 sono rilasciati. La versione 1.7.0-alpha03 contiene questi commit.

Nuove funzionalità

  • ComponentDialog ora implementa SavedStateRegistryOwner e ha accesso al proprio SavedStateRegistry e imposta SavedStateRegistryOwner per il relativo ViewTree. Ora è possibile utilizzare Jetpack Compose all'interno di un ComponentDialog perché soddisfa i requisiti LifecycleOwner e SavedStateRegistryOwner allegati alla finestra tramite le API ViewTree. (Idca17, I73468 b/261162296)

Modifiche alle API

  • È stato aggiunto un componente componibile ReportDrawn che contrassegna immediatamente l'attività come pronta per la chiamata reportFullyDrawn. (Ic5b14, b/259687964)

Conversioni Kotlin

  • Le classi ActvitiyResultCallback e OnBackPressedCallback sono state entrambe convertite in Kotlin mantenendo la compatibilità di origine e binaria. (Ifc5e5, Ide1b0, b/257291701)

Versione 1.7.0-alpha02

24 ottobre 2022

androidx.activity:activity:1.7.0-alpha02, androidx.activity:activity-compose:1.7.0-alpha02 e androidx.activity:activity-ktx:1.7.0-alpha02 sono rilasciati. La versione 1.7.0-alpha02 contiene questi commit.

Correzioni di bug

  • Da Attività 1.6.1: è stato risolto un problema con il contratto PickMultipleVisualMedia Activity Result che non veniva avviato sui dispositivi Android R quando si utilizzava il valore predefinito per maxItems. (Ie2776, b/249182130)

Versione 1.7.0-alpha01

5 ottobre 2022

androidx.activity:activity:1.7.0-alpha01, androidx.activity:activity-compose:1.7.0-alpha01 e androidx.activity:activity-ktx:1.7.0-alpha01 sono rilasciati. La versione 1.7.0-alpha01 contiene questi commit.

API FullyDrawnReporter

ComponentActivity ora fornisce un'istanza FullyDrawnReporter che consente a più componenti di segnalare quando sono pronti per l'interazione. ComponentActivity attenderà il completamento di tutti i componenti prima di chiamare reportFullyDrawn() per tuo conto. Queste API si occupano dei requisiti di sincronizzazione per te e non devono essere chiamate nell'ambito di una chiamata onDraw.

È consigliabile abilitare queste API:

  • Segnalazione di Android Runtime al termine dell'avvio, per garantire che tutto il codice eseguito durante una sequenza di avvio multi-frame sia incluso e abbia la priorità per la compilazione in background.
  • Macrobenchmark di segnalazione e Play Vitals quando l'applicazione deve essere considerata completamente disegnata per le metriche di avvio, in modo da poter monitorare le prestazioni.

Sono state aggiunte due API Activity Compose per semplificare l'utilizzo di FullyDrawnReporter dai singoli componenti componibili:

  • ReportDrawnWhen accetta un predicato (ovvero list.count > 0) per indicare quando il componente componibile è pronto per l'interazione.
  • ReportDrawnAfter accetta un metodo di sospensione che, al termine, indica che sei pronto per l'interazione.

Versione 1.6.1

Versione 1.6.1

24 ottobre 2022

androidx.activity:activity:1.6.1, androidx.activity:activity-compose:1.6.1 e androidx.activity:activity-ktx:1.6.1 sono rilasciati. La versione 1.6.1 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema relativo al contratto PickMultipleVisualMedia Activity Result che non veniva avviato sui dispositivi Android R quando si utilizzava il valore predefinito per maxItems. (Ie2776, b/249182130)

Versione 1.6.0

Versione 1.6.0

21 settembre 2022

androidx.activity:activity:1.6.0, androidx.activity:activity-compose:1.6.0 e androidx.activity:activity-ktx:1.6.0 sono rilasciati. La versione 1.6.0 contiene questi commit.

Modifiche importanti dalla versione 1.5.0

  • Sono stati aggiunti ActivityResultContracts.PickVisualMedia e ActivityResultContracts.PickMultipleVisualMedia per fornire un contratto compatibile con le versioni precedenti che utilizza MediaStore.ACTION_PICK_IMAGES quando il Selettore di foto è disponibile e Intent.ACTION_OPEN_DOCUMENT quando non lo è.
  • È stato integrato il OnBackInvokedCallback in Android 13 nel OnBackPressedDispatchers fornito da ComponentActivity e ComponentDialog. Ciò garantisce che tutte le API create suOnBackPressedDispatcher funzionino quando viene attivato un gesto Indietro predittivo.

Versione 1.6.0-rc02

7 settembre 2022

androidx.activity:activity:1.6.0-rc02, androidx.activity:activity-compose:1.6.0-rc02 e androidx.activity:activity-ktx:1.6.0-rc02 sono rilasciati. La versione 1.6.0-rc02 contiene questi commit.

Correzioni di bug

  • OnBackPressedDispatcher ora registra OnBackInvokedCallback con PRIORITY_DEFAULT anziché PRIORITY_OVERLAY. (I3901f)
  • Le classi che estendono ComponentActivity ora avranno sempre entrambi i callback onMultiWindowModeChanged() inviati. (Ic4d85)
  • ActivityResultRegistry non restituirà più un risultato a ActivityResultCallback quando la chiamata launch genera un errore Exception e il callback è stato registrato senza LifecycleOwner. (Ia7ff7, b/238350794)
  • ComponentActivity ora invierà correttamente le chiamate al menu senza la necessità di chiamare la funzione super nell'attività. (Ie33c5, b/238057118)

Aggiornamento delle dipendenze

Versione 1.6.0-rc01

24 agosto 2022

androidx.activity:activity:1.6.0-rc01, androidx.activity:activity-compose:1.6.0-rc01 e androidx.activity:activity-ktx:1.6.0-rc01 sono rilasciati. La versione 1.6.0-rc01 contiene questi commit.

Correzioni di bug

  • L'inizializzazione di un OnBackPressedDispatcher non causerà più ClassVerificationError se utilizzi versioni dell'SDK precedenti alla 33. (Ic32e1)
  • Le classi che eseguono l'override del callback ComponentActivity di onPictureInPictureModeChanged() ora avranno sempre i callback inviati. (Ib7fdb)

Versione 1.6.0-beta01

10 agosto 2022

androidx.activity:activity:1.6.0-beta01, androidx.activity:activity-compose:1.6.0-beta01 e androidx.activity:activity-ktx:1.6.0-beta01 sono rilasciati. La versione 1.6.0-beta01 contiene questi commit.

Modifiche alle API

  • Ha contrassegnato i metodi startActivityForResult e startIntentSenderForResult ritirati su ComponentActivity con @NonNull perché il passaggio di null ha sempre causato un arresto anomalo. (Id2a25, b/231476082)

Correzioni di bug

  • Da Attività 1.5.1: ActivityResultRegistry non restituirà più un risultato a ActivityResultCallback quando la chiamata launch genera un errore Exception e il callback è stato registrato senza LifecycleOwner. (Ia7ff7, b/238350794)
  • Da Attività 1.5.1: ComponentActivity ora invierà correttamente le chiamate di menu agli override onPrepareOptionMenu(), onCreateOptionsMenu() e onOptionsItemSelected() senza la necessità di chiamare la super funzione. (Ie33c5, b/238057118)

Aggiornamento delle dipendenze

Versione 1.6.0-alpha05

15 giugno 2022

androidx.activity:activity:1.6.0-alpha05, androidx.activity:activity-compose:1.6.0-alpha05 e androidx.activity:activity-ktx:1.6.0-alpha05 sono rilasciati. La versione 1.6.0-alpha05 è stata sviluppata in un ramo di pre-release privato e non ha commit pubblici.

Modifiche alle API

  • minCompileSdk ora è 33 per essere in linea con l'SDK Tiramisu Beta 3

Correzioni di bug

  • È stato corretto l'arresto anomalo sui dispositivi meno recenti durante il controllo dell'estensione dell'SDK per PickVisualMedia ActivityResultContract, in modo che ora funzioni con ACTION_OPEN_DOCUMENT sui dispositivi con Android 10 e versioni precedenti.

Versione 1.6.0-alpha04

18 maggio 2022

androidx.activity:activity:1.6.0-alpha04 e androidx.activity:activity-ktx:1.6.0-alpha04 sono stati rilasciati.

Correzioni di bug

  • È stato corretto un errore in PickVisualMediaRequest in cui il tentativo di creare una richiesta, tramite il builder o la funzione Kotlin di primo livello, causava un overflow dello stack.
  • È stata integrata la OnBackInvokedCallback in Android 13 Dev Beta 2 nel OnBackPressedDispatcher fornito da ComponentDialog. Ciò garantisce il funzionamento di tutte le API create su OnBackPressedDispatcher quando si attiva un gesto Indietro predittivo.

Versione 1.6.0-alpha03

27 aprile 2022

androidx.activity:activity:1.6.0-alpha03, androidx.activity:activity-compose:1.6.0-alpha03 e androidx.activity:activity-ktx:1.6.0-alpha03 sono rilasciati.

  • Nota: questa versione verrà compilata solo in base all'SDK Android 13 Developer Beta 1.

Nuove funzionalità

  • Sono stati aggiunti ActivityResultContracts.PickVisualMedia e ActivityResultContracts.PickMultipleVisualMedia per fornire un contratto compatibile con le versioni precedenti che utilizza MediaStore.ACTION_PICK_IMAGES quando il Selettore di foto è disponibile e Intent.ACTION_OPEN_DOCUMENT quando non lo è.
  • È stata integrata la OnBackInvokedCallback in Android 13 Dev Beta 1 nel OnBackPressedDispatcher fornito da ComponentActivity. Ciò garantisce il funzionamento di tutte le API create su OnBackPressedDispatcher quando si attiva un gesto Indietro predittivo.

Versione 1.6.0-alpha01

23 marzo 2022

androidx.activity:activity:1.6.0-alpha01, androidx.activity:activity-compose:1.6.0-alpha01 e androidx.activity:activity-ktx:1.6.0-alpha01 sono rilasciati.

  • Nota: questa versione verrà compilata solo in base all'SDK Android 13 Developer Preview 2.

Nuove funzionalità

  • Sono state integrate le modifiche apportate ad Android 13 Dev Preview 2 in ComponentActivity.

Versione 1.5.1

Versione 1.5.1

27 luglio 2022

androidx.activity:activity:1.5.1, androidx.activity:activity-compose:1.5.1 e androidx.activity:activity-ktx:1.5.1 sono rilasciati. La versione 1.5.1 contiene questi commit.

Correzioni di bug

  • ActivityResultRegistry non restituirà più un risultato a ActivityResultCallback quando la chiamata launch() genera un errore Exception e il callback è stato registrato senza un LifecycleOwner. (Ia7ff7, b/238350794)

  • ComponentActivity ora invierà correttamente le chiamate di menu agli override onPrepareOptionMenu(), onCreateOptionsMenu() e onOptionsItemSelected() senza la necessità di chiamare la super funzione. (Ie33c5, b/238057118)

Aggiornamento delle dipendenze

Versione 1.5.0

Versione 1.5.0

29 giugno 2022

androidx.activity:activity:1.5.0, androidx.activity:activity-compose:1.5.0 e androidx.activity:activity-ktx:1.5.0 sono rilasciati. La versione 1.5.0 contiene questi commit.

Modifiche importanti dalla versione 1.4.0

  • ComponentDialog - ComponentDialog è una sottoclasse di Dialog che include un OnBackPressedDispatcher che verrà chiamato quando viene premuto il pulsante Indietro del sistema e la finestra di dialogo è visibile. È importante sottolineare che questa sottoclasse imposta anche ViewTreeOnBackPressedDispatcherOwner, consentendo alle visualizzazioni di recuperare il dispatcher corretto in modo generico, indipendentemente dal fatto che esista in un ComponentActivity o in un ComponentDialog.
  • Interfacce di callback: ComponentActivity ora implementa un insieme di interfacce di callback modulari che possono essere utilizzate al posto dei callback Activity. Queste interfacce includono: OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider
  • Integrazione di CreationExtras: ComponentActivity ora può fornire un ViewModelProvider.Factory stateless tramite Lifecycle 2.5.0 di CreationExtras.

Altre modifiche

  • Il costruttore senza parametri per ActivityResultContracts.CreateDocument è stato ritirato e sostituito con un nuovo costruttore che accetta un tipo MIME concreto (ad es. "image/png") come richiesto da Intent.ACTION_CREATE_DOCUMENT.

Versione 1.5.0-rc01

11 maggio 2022

androidx.activity:activity:1.5.0-rc01, androidx.activity:activity-compose:1.5.0-rc01 e androidx.activity:activity-ktx:1.5.0-rc01 vengono rilasciati senza modifiche rispetto alla versione 1.5.0-beta01. La versione 1.5.0-rc01 contiene questi commit.

Versione 1.5.0-beta01

20 aprile 2022

androidx.activity:activity:1.5.0-beta01, androidx.activity:activity-compose:1.5.0-beta01 e androidx.activity:activity-ktx:1.5.0-beta01 sono rilasciati. La versione 1.5.0-beta01 contiene questi commit.

Aggiornamenti delle dipendenze

Versione 1.5.0-alpha05

6 aprile 2022

androidx.activity:activity:1.5.0-alpha05, androidx.activity:activity-compose:1.5.0-alpha05 e androidx.activity:activity-ktx:1.5.0-alpha05 sono rilasciati. La versione 1.5.0-alpha05 contiene questi commit.

Correzioni di bug

  • Il onPanelClosed() di ComponentActivity ora chiama anche il super onPanelClosed(), risolvendo un problema per cui il metodo onContextMenuClosed non veniva chiamato. (Ib6f77)

Versione 1.5.0-alpha04

23 marzo 2022

androidx.activity:activity:1.5.0-alpha04, androidx.activity:activity-compose:1.5.0-alpha04 e androidx.activity:activity-ktx:1.5.0-alpha04 sono rilasciati. La versione 1.5.0-alpha04 contiene questi commit.

Correzioni di bug

  • SavedStateViewFactory ora supporta l'utilizzo di CreationExtras anche se è stato inizializzato con un SavedStateRegistryOwner. Se vengono forniti extra, gli argomenti inizializzati vengono ignorati. (I6c43b, b/224844583)

Versione 1.5.0-alpha03

23 febbraio 2022

androidx.activity:activity:1.5.0-alpha03, androidx.activity:activity-compose:1.5.0-alpha03 e androidx.activity:activity-ktx:1.5.0-alpha03 sono rilasciati. La versione 1.5.0-alpha03 contiene questi commit.

Modifiche alle API

  • Ora puoi passare CreationExtras alla funzione di attività by viewModels() (I6a3e6, b/217600303)

Versione 1.5.0-alpha02

9 febbraio 2022

androidx.activity:activity:1.5.0-alpha02, androidx.activity:activity-compose:1.5.0-alpha02 e androidx.activity:activity-ktx:1.5.0-alpha02 sono rilasciati. La versione 1.5.0-alpha02 contiene questi commit.

Nuove funzionalità

  • ComponentActivity ora implementa l'interfaccia OnPictureInPictureModeChangedProvider per consentire a qualsiasi componente di ricevere eventi di modifica della modalità Picture in picture. (I9f567)
  • ComponentActivity ora implementa l'interfaccia OnMultiWindowModeChangedProvider per consentire a qualsiasi componente di ricevere eventi di modifica della modalità multi-finestra. (I62d91)

Versione 1.5.0-alpha01

26 gennaio 2022

androidx.activity:activity:1.5.0-alpha01, androidx.activity:activity-compose:1.5.0-alpha01 e androidx.activity:activity-ktx:1.5.0-alpha01 sono rilasciati. La versione 1.5.0-alpha01 contiene questi commit.

Nuove funzionalità

  • ComponentActivity ora si integra con ViewModel CreationExtras, introdotto nell'ambito di Lifecycle 2.5.0-alpha01. (Ie7e00, b/207012584)
  • È stata aggiunta ComponentDialog, una sottoclasse di Dialog che include un OnBackPressedDispatcher che verrà chiamato quando viene premuto il pulsante Indietro del sistema quando la finestra di dialogo è visibile. È importante sottolineare che questa sottoclasse imposta anche ViewTreeOnBackPressedDispatcherOwner, consentendo alle visualizzazioni un modo generico per recuperare il dispatcher corretto indipendentemente dal fatto che esista in un ComponentActivity o in un ComponentDialog. (I8a1bc)
  • ComponentActivity ora implementa la nuova interfaccia OnNewIntentProvider per consentire a qualsiasi componente di ricevere questi eventi. (If1f8b)
  • ComponentActivity ora implementa la nuova interfaccia OnConfigurationChangedProvider per consentire a qualsiasi componente di ricevere questi eventi. (If623b)
  • ComponentActivity ora implementa la nuova interfaccia OnTrimMemoryProvider per consentire a qualsiasi componente di ricevere questi eventi. (Ia9295)

Modifiche alle API

  • Il costruttore senza parametri per ActivityResultContracts.CreateDocument è stato ritirato e sostituito con un nuovo costruttore che accetta un tipo MIME concreto (ad es. "image/png") come richiesto da Intent.ACTION_CREATE_DOCUMENT. (I2bec6)
  • Il OnBackPressedDispatcherOwner associato a una vista ora può essere recuperato tramite ViewTreeOnBackPressedDispatcherOwner, anziché fare affidamento sul casting di Context. (I74685)

Correzioni di bug

  • È stato corretto un arresto anomalo durante l'accesso a un ViewModel per la prima volta da un callback registerForActivityResult() o dai callback a un LifecycleObserver aggiunto come parte di init di un ComponentActivity. (Ife83f)

Versione 1.4.0

Versione 1.4.0

27 ottobre 2021

androidx.activity:activity:1.4.0, androidx.activity:activity-compose:1.4.0 e androidx.activity:activity-ktx:1.4.0 sono rilasciati. La versione 1.4.0 contiene questi commit.

Modifiche importanti dalla versione 1.3.0

  • AndroidX ComponentActivity ora implementa l'interfaccia MenuHost. In questo modo, qualsiasi componente può aggiungere voci di menu a ActionBar aggiungendo un'istanza di MenuProvider all'attività. Ogni MenuProvider può essere aggiunto facoltativamente con un Lifecycle che controllerà automaticamente la visibilità di queste voci di menu in base allo stato di Lifecycle e gestirà la rimozione di MenuProvider quando Lifecycle viene eliminato.
  • La classe ActivityResultContract è stata riscritta in Kotlin per garantire che gli sviluppatori che scrivono contratti personalizzati in Kotlin possano definire la corretta nullabilità per le classi di input e output.
  • La classe ActivityResultContracts e i relativi contratti sono stati riscritti in Kotlin per garantire la corretta nullabilità.

Versione 1.4.0-rc01

13 ottobre 2021

androidx.activity:activity:1.4.0-rc01, androidx.activity:activity-compose:1.4.0-rc01 e androidx.activity:activity-ktx:1.4.0-rc01 sono rilasciati. La versione 1.4.0-rc01 contiene questi commit.

Correzioni di bug

  • ActivityResultRegistry non restituirà più un risultato a ActivityResultCallback quando la chiamata launch genera un Exception. (If4f91, b/200845664)

Versione 1.4.0-beta01

29 settembre 2021

androidx.activity:activity:1.4.0-beta01, androidx.activity:activity-compose:1.4.0-beta01 e androidx.activity:activity-ktx:1.4.0-beta01 sono rilasciati. La versione 1.4.0-beta01 contiene questi commit.

Modifiche alle API

  • È stato corretto il tipo per ActivityResultContracts.OpenMultipleDocuments e ActivityResultContracts.GetMultipleContents che causava l'utilizzo di un tipo di output List<? extends Uri> quando si utilizzava il codice del linguaggio di programmazione Java. (If71de)
  • Le costanti pubbliche all'interno delle classi ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResult e ActivityResultContracts.RequestMultiplePermissions sono ora accessibili quando si utilizza Kotlin tramite i relativi oggetti Companion ora pubblici. (aosp/1832555)

Aggiornamenti della documentazione

  • Il messaggio di ritiro delle API ora gestite dalle API Activity Result, ovvero startActivityForResult, startIntentSenderForResult, onActivityResult, requestPermissions e onRequestPermissionsResult, è stato ampliato con maggiori dettagli. (cce80f)

Versione 1.4.0-alpha02

15 settembre 2021

androidx.activity:activity:1.4.0-alpha02, androidx.activity:activity-compose:1.4.0-alpha02 e androidx.activity:activity-ktx:1.4.0-alpha02 sono rilasciati. La versione 1.4.0-alpha02 contiene questi commit.

Nuove funzionalità

  • L'artefatto activity-compose ora contiene un errore di lint LaunchDuringComposition che impedisce di chiamare il metodo launch di ActivityResultLauncher come parte della composizione, in quanto la composizione non deve avere effetti collaterali. Utilizza le API per la gestione degli effetti collaterali. (7c2bbe, b/191347220)

Modifiche alle API

  • La classe ActivityResultContract è stata riscritta in Kotlin per garantire che gli sviluppatori che scrivono contratti personalizzati in Kotlin possano definire la corretta nullabilità per le classi di input e output. (I8a8f5)
  • La classe ActivityResultContracts e i relativi contratti sono stati riscritti in Kotlin per garantire la corretta nullabilità. (I69802)

Versione 1.4.0-alpha01

1° settembre 2021

androidx.activity:activity:1.4.0-alpha01, androidx.activity:activity-compose:1.4.0-alpha01 e androidx.activity:activity-ktx:1.4.0-alpha01 sono rilasciati. La versione 1.4.0-alpha01 contiene questi commit.

Nuove funzionalità

  • AndroidX ComponentActivity ora implementa l'interfaccia MenuHost. In questo modo, qualsiasi componente può aggiungere voci di menu a ActionBar aggiungendo un'istanza di MenuProvider all'attività. Ogni MenuProvider può essere aggiunto facoltativamente con un Lifecycle che controllerà automaticamente la visibilità di queste voci di menu in base allo stato di Lifecycle e gestirà la rimozione di MenuProvider quando Lifecycle viene eliminato. (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)
  }

Modifiche al comportamento

  • ActivityResultRegistry ora genererà un IllegalStateException quando si tenta di chiamare launch() su un ActivityResultLauncher che non è stato registrato o che è stato annullato. (Ida75d, b/192567522)

Contributo esterno

  • Grazie dmitrilc per aver corretto un errore di battitura nella documentazione di ActivityResult. (#221)

Versione 1.3.1

Versione 1.3.1

4 agosto 2021

androidx.activity:activity:1.3.1, androidx.activity:activity-compose:1.3.1 e androidx.activity:activity-ktx:1.3.1 sono rilasciati. La versione 1.3.1 contiene questi commit.

Aggiornamenti delle dipendenze

  • L'attività ora dipende da Kotlin 1.5.21.
  • La composizione delle attività ora dipende da Composizione 1.0.1.

Versione 1.3.0

Versione 1.3.0

28 luglio 2021

androidx.activity:activity:1.3.0, androidx.activity:activity-compose:1.3.0 e androidx.activity:activity-ktx:1.3.0 sono rilasciati. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

  • Artefatto Activity Compose: l'artefatto activity-compose fornisce il metodo di estensione setContent per ospitare la tua UI Jetpack Compose in un'attività e wrapper specifici di Compose per interagire con le API ComponentActivity per la gestione del pulsante Indietro del sistema e delle API Activity Result. Per ulteriori dettagli, consulta la documentazione.
  • Contratto CaptureVideo: CaptureVideo ActivityResultContract sostituisce il contratto TakeVideo ora ritirato e restituisce un valore booleano che indica la riuscita dell'operazione e funziona con molte app fotocamera.
  • Monitoraggio della visualizzazione dei suggerimenti Picture in picture: gli utenti di activity-ktx ora possono utilizzare il metodo di estensione trackPipAnimationHintView su Activity per ricostruire automaticamente PictureInPictureParams con la nuova posizione della visualizzazione quando cambia posizione rispetto alla finestra.

Versione 1.3.0-rc02

14 luglio 2021

androidx.activity:activity:1.3.0-rc02, androidx.activity:activity-compose:1.3.0-rc02 e androidx.activity:activity-ktx:1.3.0-rc02 sono rilasciati. La versione 1.3.0-rc02 contiene questi commit.

Correzioni di bug

  • I callback ActivityResultRegistry ora vengono salvati e ripristinati correttamente, in modo che non vengano duplicati in savedState. (I97816, b/191893160)

Versione 1.3.0-rc01

1° luglio 2021

androidx.activity:activity:1.3.0-rc01, androidx.activity:activity-compose:1.3.0-rc01 e androidx.activity:activity-ktx:1.3.0-rc01 vengono rilasciati senza modifiche rispetto a 1.3.0-beta02. La versione 1.3.0-rc01 contiene questi commit.

Versione 1.3.0-beta02

16 giugno 2021

androidx.activity:activity:1.3.0-beta02, androidx.activity:activity-compose:1.3.0-beta02 e androidx.activity:activity-ktx:1.3.0-beta02 sono rilasciati. La versione 1.3.0-beta02 contiene questi commit.

activity-compose è stato aggiornato in modo che dipenda da Compose 1.0.0-beta09. androidx.compose.ui:ui-test-junit4 ora ha una dipendenza in fase di compilazione da activity-compose.

Versione 1.3.0-beta01

2 giugno 2021

androidx.activity:activity:1.3.0-beta01, androidx.activity:activity-compose:1.3.0-beta01 e androidx.activity:activity-ktx:1.3.0-beta01 sono rilasciati. La versione 1.3.0-beta01 contiene questi commit.

Modifiche alle API

  • Il metodo @Composable registerForActivityResult() precedentemente deprecato è stato rimosso. Utilizza rememberLauncherForActivityResult(). (Ic39d3)

Versione 1.3.0-alpha08

18 maggio 2021

androidx.activity:activity:1.3.0-alpha08, androidx.activity:activity-compose:1.3.0-alpha08 e androidx.activity:activity-ktx:1.3.0-alpha08 sono rilasciati. La versione 1.3.0-alpha08 contiene questi commit.

Nuove funzionalità

  • Il nuovo CaptureVideo ActivityResultContract restituisce un valore booleano a ActivityResultCallback che indica se il video è stato salvato correttamente nell'URI specificato. Questo sostituisce il contratto TakeVideo ora deprecato, in quanto le app per fotocamere supportavano molto raramente la restituzione di una bitmap miniatura, rendendo il risultato inutile. (Ie21f2, b/185938070)
  • È stata aggiunta una nuova API Activity#setPipAnimationHintView per aggiornare il suggerimento del rettangolo di origine di PipParams ogni volta che la visualizzazione si sposta. (I9063d)

Modifiche alle API

  • La funzione rememberLauncherForActivityResult ora restituisce un launcher che ritira la funzione unregister(). La registrazione e l'annullamento della registrazione del launcher vengono gestiti automaticamente da rememberLauncherForActivityResult. (I2443e)

Compatibilità di Scrivi

  • androidx.activity:activity-compose:1.3.0-alpha08 è compatibile solo con Compose versione 1.0.0-beta07 e successive.

Versione 1.3.0-alpha07

21 aprile 2021

androidx.activity:activity:1.3.0-alpha07, androidx.activity:activity-compose:1.3.0-alpha07 e androidx.activity:activity-ktx:1.3.0-alpha07 sono rilasciati. La versione 1.3.0-alpha07 contiene questi commit.

Correzioni di bug

  • rememberLauncherForActivityResult ora restituisce un riferimento stabile alla stessa istanza ActivityResultLauncher anche se il contratto cambia a causa delle ricomposizioni. (Id2d6d)
  • L'utilizzo di versioni instabili di Fragment precedenti alla 1.3.0 non genererà più un errore lint di falso positivo che ti invita a utilizzare 1.3.0. (aosp/1670206, b/184847092)

Versione 1.3.0-alpha06

7 aprile 2021

androidx.activity:activity:1.3.0-alpha06, androidx.activity:activity-compose:1.3.0-alpha06 e androidx.activity:activity-ktx:1.3.0-alpha06 sono rilasciati. La versione 1.3.0-alpha06 contiene questi commit.

Modifiche alle API

  • L'API registerForActivityResult() è stata rinominata in rememberLauncherForActivityResult() per indicare meglio che l'ActivityResultLauncher restituito è un oggetto gestito che viene memorizzato per tuo conto. Il tentativo di chiamare unregister restituito ActivityResultLauncher ora genererà un errore. (I2bb6d)
  • LocalOnBackPressedDispatcherOwner.current e LocalActivityResultRegistryOwner.current ora restituiscono un valore Nullable per determinare meglio se è disponibile nella composizione corrente. Le API che richiedono queste API, come BackHandler e rememberLauncherForActivityResult(), rispettivamente, ora genereranno un errore più descrittivo se il proprietario sottostante non viene trovato. NavHost ora funziona anche quando non viene trovato un OnBackPressedDispatcherOwner, come nel caso dell'anteprima di NavHost. (I7d8b4)

Correzioni di bug

  • Ora BackHandler intercetta correttamente i pulsanti Indietro nel caso in cui l'attività sia STOPPED, poi STARTED di nuovo e sono stati aggiunti altri callback con un LifecycleOwner. (I71de6, b/182284739)
  • L'utilizzo dell'estensione del metodo launch() con un ActivityResultContract personalizzato che ha un input Unit non causerà più un NullPointerException (I76282, b/183837954)

Versione 1.3.0-alpha05

24 marzo 2021

androidx.activity:activity:1.3.0-alpha05, androidx.activity:activity-compose:1.3.0-alpha05 e androidx.activity:activity-ktx:1.3.0-alpha05 sono rilasciati. La versione 1.3.0-alpha05 contiene questi commit.

Correzioni di bug

  • Da Attività 1.2.2: è stato risolto un problema nel controllo lint InvalidFragmentVersionForActivityResult che causava un falso positivo quando si utilizzava Fragment 1.3.1 o versioni successive. (I54da1, b/182388985)
  • A partire da Activity 1.2.2: ComponentActivity ora evita un ClassNotFoundException quando avvia un Intent da un ActivityResultContract precedentemente considerato come extra in un altro Intent. (Ieff05, b/182906230)

Aggiornamenti delle dipendenze

Versione 1.3.0-alpha04

10 marzo 2021

androidx.activity:activity:1.3.0-alpha04, androidx.activity:activity-compose:1.3.0-alpha04 e androidx.activity:activity-ktx:1.3.0-alpha04 sono rilasciati. La versione 1.3.0-alpha04 contiene questi commit.

Correzioni di bug

  • Da Attività 1.2.1: RequestMultiplePermissions ora restituisce sempre risultati per tutte le autorizzazioni richieste anziché solo per quelle non concesse in precedenza. (I50bc3, b/180884668)
  • Da Attività 1.2.1: ActivityResultRegistry ora garantisce che le richieste launch() in corso restituiscano i risultati anche se unregister() e poi register() di nuovo con la stessa chiave. (I9ef34, b/181267562)
  • Activity Compose non aggiunge più le dipendenze di test al classpath del runtime. (Ifd8b3)
  • È stato risolto un problema con BackHandler per cui la lambda onBack impostata in precedenza veniva ancora utilizzata dopo la ricomposizione. (8eb5eb)

Versione 1.3.0-alpha03

24 febbraio 2021

androidx.activity:activity:1.3.0-alpha03, androidx.activity:activity-compose:1.3.0-alpha03 e androidx.activity:activity-ktx:1.3.0-alpha03 sono rilasciati. La versione 1.3.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Ora è disponibile una funzione componibile registerForActivityResult per ottenere i risultati delle attività all'interno dei componenti componibili. (Ia7851, b/172690553)

Modifiche alle API

  • LocalOnBackPressedDispatcherOwner ora dispone di provides funzioni che possono essere utilizzate con CompositionLocalProvider, sostituendo l'API asProvidableCompositionLocal(). (I45d24)

Versione 1.3.0-alpha02

10 febbraio 2021

androidx.activity:activity:1.3.0-alpha02, androidx.activity:activity-compose:1.3.0-alpha02 e androidx.activity:activity-ktx:1.3.0-alpha02 sono rilasciati. La versione 1.3.0-alpha02 contiene questi commit.

Correzioni di bug

  • Risolto un problema in Composizione attività 1.3.0-alpha01 che causa un'eccezione NoSuchMethodError: No static method setContent quando si utilizza Composizione 1.0.0-alpha12. Tutti gli utenti di Compose devono dipendere da 1.3.0-alpha02 e versioni successive. (b/179911234)

Modifiche alle API

  • L'API BackHandler può essere utilizzata per consentire a un elemento componibile di intercettare il pulsante Indietro del sistema. (I58ed5, b/172154006)

Versione 1.3.0-alpha01

10 febbraio 2021

androidx.activity:activity:1.3.0-alpha01, androidx.activity:activity-compose:1.3.0-alpha01 e androidx.activity:activity-ktx:1.3.0-alpha01 sono rilasciati. La versione 1.3.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Il nuovo artefatto activity-compose fornisce helper specifici di Jetpack Compose per le API specifiche di androidx.activity.
    • ComponentActivity.setContent è stato spostato da androidx.compose.ui.platform.setContent a androidx.activity.compose.setContent. (Icf416)

Problemi noti

  • L'utilizzo di Activity Compose 1.3.0-alpha01 e delle librerie che dipendono da questa, come androidx.compose.ui:ui-test-junit4:1.0.0-alpha12, genererà un'eccezione NoSuchMethodError: No static method setContent. (b/179911234)

Versione 1.2.4

Versione 1.2.4

21 luglio 2021

androidx.activity:activity:1.2.4 e androidx.activity:activity-ktx:1.2.4 sono stati rilasciati. La versione 1.2.4 contiene questi commit.

Correzioni di bug

  • Da Activity 1.3.0-rc02: i callback di ActivityResultRegistry ora vengono salvati e ripristinati correttamente, in modo che non vengano duplicati in savedState. (I97816, b/191893160)

Versione 1.2.3

Versione 1.2.3

5 maggio 2021

androidx.activity:activity:1.2.3 e androidx.activity:activity-ktx:1.2.3 sono stati rilasciati. La versione 1.2.3 contiene questi commit.

Correzioni di bug

  • L'utilizzo dell'estensione del metodo launch() con un ActivityResultContract personalizzato che ha un input Unit non causerà più un NullPointerException (I76282, b/183837954)
  • È stato corretto un errore di linting di falso positivo che ti invitava a utilizzare Fragment 1.3.0 quando utilizzavi una build snapshot, alpha, beta o RC di una versione più recente di Fragments. (f4a57e, b/184847092)

Versione 1.2.2

Versione 1.2.2

24 marzo 2021

androidx.activity:activity:1.2.2 e androidx.activity:activity-ktx:1.2.2 sono stati rilasciati. La versione 1.2.2 contiene questi commit.

Correzioni di bug

  • Risolto un problema nel controllo lint InvalidFragmentVersionForActivityResult che causava un falso positivo quando si utilizzava Fragment 1.3.1 o versioni successive. (I54da1, b/182388985)
  • ComponentActivity ora evita un ClassNotFoundException quando viene lanciato un Intent da un ActivityResultContract precedentemente considerato un extra in un altro Intent. (Ieff05, b/182906230)

Aggiornamenti delle dipendenze

Versione 1.2.1

Versione 1.2.1

10 marzo 2021

androidx.activity:activity:1.2.1 e androidx.activity:activity-ktx:1.2.1 sono stati rilasciati. La versione 1.2.1 contiene questi commit.

Correzioni di bug

  • RequestMultiplePermissions ora restituisce sempre risultati per tutte le autorizzazioni richieste anziché solo per quelle non concesse in precedenza. (I50bc3, b/180884668)
  • ActivityResultRegistry ora garantisce che le richieste launch() in corso restituiscano i risultati anche se unregister() e poi register() di nuovo con la stessa chiave. (I9ef34, b/181267562)

Versione 1.2.0

Versione 1.2.0

10 febbraio 2021

androidx.activity:activity:1.2.0 e androidx.activity:activity-ktx:1.2.0 sono stati rilasciati. La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

  • API Activity Result: ComponentActivity ora fornisce un ActivityResultRegistry che consente di gestire i flussi startActivityForResult()+onActivityResult() e requestPermissions()+onRequestPermissionsResult() senza eseguire l'override dei metodi in Activity o Fragment, offre una maggiore sicurezza dei tipi tramite ActivityResultContract e fornisce hook per testare questi flussi. Consulta la sezione aggiornata Ottenere un risultato da un'attività.
  • ContextAware: ComponentActivity ora implementa ContextAware, consentendoti di aggiungere una o più istanze OnContextAvailableListener che riceveranno un callback prima della Activity.onCreate() di base.

    • Un'estensione Kotlin di sospensione withContextAvailable() ti consente di eseguire un blocco non di sospensione quando il contesto diventa disponibile e restituire un risultato.
    • Questa API viene utilizzata da FragmentActivity nel frammento 1.3.0 per ripristinare lo stato di FragmentManager. Tutti i listener aggiunti alle sottoclassi di FragmentActivity verranno eseguiti dopo questo listener.
    • Questa API viene utilizzata da AppCompatActivity in AppCompat 1.3.0-alpha02 o versioni successive. Tutti i listener aggiunti alle sottoclassi di AppCompatActivity verranno eseguiti dopo questo listener.
  • ViewTreeSupporto: ComponentActivity ora supporta le API ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View) e ViewTreeSavedStateRegistryOwner aggiunte in Lifecycle 2.3.0 e SavedState 1.1.0 in modo che restituisca l'attività come LifecycleOwner, ViewModelStoreOwner e SavedStateRegistryOwner per qualsiasi visualizzazione aggiunta direttamente a ComponentActivity.

  • Porting all'indietro di reportFullyDrawn(): il metodo Activity di reportFullyDrawn() è stato sottoposto a porting all'indietro in ComponentActivity per funzionare su tutti i livelli API, correggendo un arresto anomalo nell'API 19 e aggiungendo la tracciatura per questo metodo per tutti i livelli API.

Versione 1.2.0-rc01

16 dicembre 2020

androidx.activity:activity:1.2.0-rc01 e androidx.activity:activity-ktx:1.2.0-rc01 sono stati rilasciati. La versione 1.2.0-rc01 contiene questi commit.

Correzioni di bug

  • ActivityResultRegistry ora ripristina sempre lo stato esatto che è stato salvato. (Idd56b)
  • Aggiungi il tracciamento a ComponentActivity.reportFullyDrawn (Ic7632)

Contributo esterno

  • ComponentActivity ora esegue l'override di reportFullyDrawn(), consentendo la chiamata a tutti i livelli API e correggendo un arresto anomalo quando viene chiamato questo metodo senza l'autorizzazione di sistema appropriata sui dispositivi con API 19. Grazie, Simon Schiller. (b/163239764, #103)

Versione 1.2.0-beta02

2 dicembre 2020

androidx.activity:activity:1.2.0-beta02 e androidx.activity:activity-ktx:1.2.0-beta02 sono stati rilasciati. La versione 1.2.0-beta02 contiene questi commit.

Correzioni di bug

  • Risolto un problema per cui l'API Activity Result non attendeva che il ciclo di vita fosse STARTED prima di fornire i risultati quando registrata con un Lifecycle. (I109ea)

Contributo esterno

  • È stata aggiornata la documentazione per launch() per indicare esplicitamente che può generare un ActivityNotFoundException. Grazie Michał Zieliński. (aosp/1493580)

Versione 1.2.0-beta01

1° ottobre 2020

androidx.activity:activity:1.2.0-beta01 e androidx.activity:activity-ktx:1.2.0-beta01 sono stati rilasciati. La versione 1.2.0-beta01 contiene questi commit.

Correzioni di bug

  • ActivityResultRegistry ora genera numeri interi in modo casuale finché non ne trova uno non allocato da utilizzare come codice richiesta register(), evitando così il possibile overflow di numeri interi causato dall'incremento dei codici richiesta. (b/168779518)

  • Lifecycle observers are properly removed when calling unregister() on an ActivityResultLauncher. (b/165608393)

Modifiche al comportamento

  • Ora ActivityResultRegistry genera un IllegalStateException quando tenta di chiamare register() con un LifecycleOwner il cui Lifecycle ha già raggiunto STARTED. (b/165435866)

Documentazione aggiornata

  • I link alla documentazione di ContextAware rimandano a LifecycleOwner per evidenziare i callback di Lifecycle come il luogo appropriato per gli eventi di creazione ed eliminazione. (aosp/1414152)

Versione 1.2.0-alpha08

19 agosto 2020

androidx.activity:activity:1.2.0-alpha08 e androidx.activity:activity-ktx:1.2.0-alpha08 sono stati rilasciati. La versione 1.2.0-alpha08 contiene questi commit.

Nuove funzionalità

  • ComponentActivity ora implementa ContextAware, consentendoti di aggiungere una o più istanze OnContextAvailableListener che riceveranno un callback prima della Activity.onCreate() di base. (b/161390636)
    • Un'estensione Kotlin di sospensione withContextAvailable() ti consente di eseguire un blocco non di sospensione quando il contesto diventa disponibile e restituire un risultato. (I8290c)
    • Questa API viene utilizzata da FragmentActivity nel frammento 1.3.0-alpha08 per ripristinare lo stato di FragmentManager. Tutti i listener aggiunti alle sottoclassi di FragmentActivity verranno eseguiti dopo questo listener. (I513da)
    • Questa API viene utilizzata da AppCompatActivity in AppCompat 1.3.0-alpha02. Tutti i listener aggiunti alle sottoclassi di AppCompatActivity verranno eseguiti dopo questo listener. (I513da)

Correzioni di bug

  • È stato risolto un problema con il controllo ActivityResultFragmentVersionDetector Lint che causava l'interruzione dell'utilizzo di Lint 27.1.0 o versioni successive. (b/162155191)

Versione 1.2.0-alpha07

22 luglio 2020

androidx.activity:activity:1.2.0-alpha07 e androidx.activity:activity-ktx:1.2.0-alpha07 sono stati rilasciati. La versione 1.2.0-alpha07 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto un nuovo controllo lint InvalidFragmentVersionForActivityResult che verifica che tu stia utilizzando Fragment 1.3.0-alpha07 quando utilizzi l'API Activity Result, evitando arresti anomali in fase di runtime dovuti a problemi di "codice di richiesta non valido" e richieste di autorizzazione non funzionanti causate dall'utilizzo di versioni precedenti di Fragment. (b/152554847)

Contributo esterno

  • È stato corretto un ArrayIndexOutOfBoundsException durante l'analisi dei risultati per il contratto RequestPermission Activity Result. (I8f9e3, b/161057605)

Versione 1.2.0-alpha06

10 giugno 2020

androidx.activity:activity:1.2.0-alpha06 e androidx.activity:activity-ktx:1.2.0-alpha06 sono stati rilasciati. La versione 1.2.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Ora puoi destrutturare la classe ActivityResult in Kotlin per accedere direttamente a requestCode e intent. (b/157212935)
  • ActivityResultLauncher ora ti consente di ottenere l'ActivityResultContract utilizzato per registrare il launcher. (b/156875743)

Modifiche alle API

  • Modifica che causa interruzione: il metodo invoke() su ActivityResultRegistry è stato rinominato in onLaunch(). (b/157496491)
  • Il contratto OpenMultipleDocuments ora restituisce un elenco vuoto anziché null alla callback registrata se non viene restituito alcun risultato. (b/157348014)

Versione 1.2.0-alpha05

20 maggio 2020

androidx.activity:activity:1.2.0-alpha05 e androidx.activity:activity-ktx:1.2.0-alpha05 sono stati rilasciati. La versione 1.2.0-alpha05 contiene questi commit.

Nuove funzionalità

Modifiche alle API

  • Il contratto TakePicture ora restituisce un boolean che indica la riuscita dell'operazione anziché una miniatura Bitmap, in quanto questa era molto raramente supportata dalle app per fotocamere durante la scrittura dell'immagine nel Uri fornito. (b/154302879)
  • Le estensioni invoke() su ActivityResultLauncher sono state rimosse a favore dell'utilizzo esplicito di launch() per indicare meglio che si tratta di operazioni asincrone. Le estensioni Kotlin per launch sono state aggiunte al pacchetto androidx.activity.result per ActivityResultLauncher<Void> e ActivityResultLauncher<Unit> che non richiedono di passare null o Unit, rispettivamente, rispecchiando il comportamento delle estensioni invoke() precedenti. (aosp/1304674, aosp/1304675)
  • I metodi IntentSenderRequest.Builder per setFlagsMask() e setFlagsValues() sono stati combinati in un unico metodo setFlags(). (aosp/1302111)

Correzioni di bug

  • Quando si registra un ActivityResultCallback con un LifecycleOwner, è stato risolto un problema per cui il callback veniva attivato prima che lo stato raggiungesse STARTED. (aosp/1309744)

Modifiche al comportamento

  • Ora ActivityResultRegistry genera codici di richiesta a partire da 0xFFFF anziché da 0, evitando sovrapposizioni quando utilizzi startActivityForResult() o requestPermissions() in un'attività. (aosp/1302324)

Versione 1.2.0-alpha04

29 aprile 2020

androidx.activity:activity:1.2.0-alpha04 e androidx.activity:activity-ktx:1.2.0-alpha04 sono stati rilasciati. La versione 1.2.0-alpha04 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto un contratto che può chiamare startIntentSenderForResult alle API ActivityResult. (b/153007517)

Modifiche alle API

  • Il metodo prepareCall() è stato rinominato in registerForActivityResult(), sia qui su ComponentActivity sia in Fragment 1.3.0-alpha04. (aosp/1278717)
  • I contratti GetContents, OpenDocuments e RequestPermissions sono stati rinominati rispettivamente GetMultipleContents, OpenMultipleDocuments e RequestMultiplePermissions. (aosp/1280161)
  • ComponentActivity ora implementa l'interfaccia ActivityResultRegisteryOwner. (aosp/1290888)
  • - Le API startActivityForResult()/onActivityResult() e onRequestPermissionsResult() su ComponentActivity sono state ritirate. Utilizza le API Activity Result. (b/154751887)

Correzioni di bug

  • Quando utilizzi i contratti GetMultipleContents e OpenMultipleDocuments e selezioni un singolo elemento, questo viene restituito correttamente al callback. (b/152941153)

Versione 1.2.0-alpha03

1° aprile 2020

androidx.activity:activity:1.2.0-alpha03 e androidx.activity:activity-ktx:1.2.0-alpha03 sono stati rilasciati. La versione 1.2.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Sono stati aggiunti i contratti TakeVideo, PickContact, GetContent, GetContents, OpenDocument, OpenDocuments, OpenDocumentTree e CreateDocument al set di contratti predefiniti forniti da ActivityResultContracts. (aosp/1262482, aosp/1266916, aosp/1268960)
  • Le API Activity Result ora supportano l'avvio di un'attività per il risultato con un ActivityOptionsCompat facoltativo. (b/151860054)

Modifiche alle API

  • Il contratto TakePicture ora accetta un input Uri per la posizione in cui deve essere archiviata l'immagine. Il contratto precedente che non richiede alcun input è stato rinominato in TakePicturePreview. (aosp/1262482)
  • Il metodo registerActivityResultCallback() su ActivityResultRegistry è stato rinominato in register(). (aosp/1267621)
  • Il metodo dispose() su ActivityResultLauncher è stato rinominato in unregister() e unregisterResultCallback() su ActivityResultRegistry è stato rimosso. (aosp/1267621)
  • Il metodo createIntent() di ActivityResultContact ora accetta un Context oltre all'input per consentire la creazione di intent espliciti. (aosp/1238800)
  • Un ActivityResultContract ora può ignorare getSynchronousResult() per fornire un risultato senza chiamare startActivityForResult. Viene utilizzato dai contratti RequestPermission e RequestPermissions per fornire correttamente lo stato "Concesso" se le autorizzazioni richieste sono già state concesse. (b/151110799)
  • Il contratto Dial precedentemente disponibile è stato rimosso perché Intent non è destinato all'utilizzo con startActivityForResult(). (aosp/1266916)
  • Molte delle API Activity Result che non sono pensate per essere estese ora sono final. Sono inclusi getActivityResultRegistry(), i metodi prepareCall(), tutti i metodi di ActivityResultRegistry tranne invoke() e una serie di contratti predefiniti che non supportano gli extra opzionali. (b/152439361)

Correzioni di bug

  • È stato corretto un NullPointerException in ActivityResultRegistry quando si tentava di fornire risultati a un callback che non era ancora stato registrato nuovamente dopo una modifica alla configurazione. ActivityResultRegistry ora conserva questi risultati in attesa e li fornisce quando il callback viene registrato nuovamente. (b/152137004)

Versione 1.2.0-alpha02

18 marzo 2020

androidx.activity:activity:1.2.0-alpha02 e androidx.activity:activity-ktx:1.2.0-alpha02 sono stati rilasciati. La versione 1.2.0-alpha02 contiene questi commit.

Nuove funzionalità

  • ActivityResultRegistry: ComponentActivity ora fornisce un ActivityResultRegistry che ti consente di gestire i flussi startActivityForResult()+onActivityResult() e requestPermissions()+onRequestPermissionsResult() senza eseguire l'override dei metodi in Activity o Fragment, offre una maggiore sicurezza dei tipi tramite ActivityResultContract e fornisce hook per testare questi flussi. Consulta la sezione aggiornata Ottenere un risultato da un'attività. (b/125158199)

Versione 1.2.0-alpha01

4 marzo 2020

androidx.activity:activity:1.2.0-alpha01 e androidx.activity:activity-ktx:1.2.0-alpha01 sono stati rilasciati. La versione 1.2.0-alpha01 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto il supporto per l'API ViewTreeLifecycleOwner.get(View) aggiunta in Lifecycle 2.3.0-alpha01 in modo che restituisca l'attività come LifecycleOwner per qualsiasi visualizzazione aggiunta direttamente all'attività. (aosp/1182955)

Correzioni di bug

  • È stata corretta una regressione introdotta in Activity 1.1.0 durante l'esecuzione su versioni precedenti della piattaforma in cui onBackPressed() causava un IllegalStateException a causa di un bug in android.app.FragmentManager. (b/146290338)

Versione 1.1.0

Versione 1.1.0

22 gennaio 2020

androidx.activity:activity:1.1.0 viene ritirata. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • Integrazione di Lifecycle ViewModel SavedState: SavedStateViewModelFactory è ora la factory predefinita utilizzata quando si utilizza by viewModels(), il costruttore ViewModelProvider o ViewModelProviders.of() con ComponentActivity o le relative sottoclassi.

Versione 1.1.0-rc03

4 dicembre 2019

androidx.activity:activity:1.1.0-rc03 e androidx.activity:activity-ktx:1.1.0-rc03 sono stati rilasciati. La versione 1.1.0-rc03 contiene questi commit.

Modifiche alle dipendenze

  • L'attività ora dipende da Lifecycle 2.2.0-rc03 e Lifecycle ViewModel SavedState 1.0.0-rc03.

Versione 1.1.0-rc02

7 novembre 2019

androidx.activity:activity:1.1.0-rc02 e androidx.activity:activity-ktx:1.1.0-rc02 sono stati rilasciati. La versione 1.1.0-rc02 contiene questi commit.

Modifiche alle dipendenze

  • L'attività ora dipende dal ciclo di vita 2.2.0-rc02.

Versione 1.1.0-rc01

23 ottobre 2019

androidx.activity:activity:1.1.0-rc01 e androidx.activity:activity-ktx:1.1.0-rc01 vengono rilasciati senza modifiche rispetto a 1.1.0-beta01. La versione 1.1.0-rc01 contiene questi commit.

Versione 1.1.0-beta01

9 ottobre 2019

androidx.activity:activity:1.1.0-beta01 e androidx.activity:activity-ktx:1.1.0-beta01 sono stati rilasciati. La versione 1.1.0-beta01 contiene questi commit.

Modifiche alle dipendenze

  • L'attività ora dipende da SavedState 1.0.0 stabile.

Versione 1.1.0-alpha03

5 settembre 2019

androidx.activity:activity:1.1.0-alpha03 e androidx.activity:activity-ktx:1.1.0-alpha03 sono stati rilasciati. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

  • L'attività ora dipende dalla versione stabile di Core 1.1.0.

Correzioni di bug

Versione 1.1.0-alpha02

7 agosto 2019

androidx.activity:activity:1.1.0-alpha02 e androidx.activity:activity-ktx:1.1.0-alpha02 sono stati rilasciati. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

  • SavedStateViewModelFactory è ora la fabbrica predefinita utilizzata quando si utilizza by viewModels(), il costruttore ViewModelProvider o ViewModelProviders.of() con un ComponentActivity (b/135716331)

Versione 1.1.0-alpha01

2 luglio 2019

androidx.activity:activity:1.1.0-alpha01 e androidx.activity:activity-ktx:1.1.0-alpha01 sono stati rilasciati. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

  • activity ora dipende dal ciclo di vita 2.2.0-alpha02. (aosp/1007817)
  • activity-ktx ha aggiunto una dipendenza da lifecycle-runtime-ktx; non è più necessario aggiungerla esplicitamente alle dipendenze quando utilizzi activity-ktx o librerie che dipendono da activity-ktx (come fragment-ktx). (aosp/987162)

Versione 1.0.0

Versione 1.0.0

5 settembre 2019

androidx.activity:activity:1.0.0 e androidx.activity:activity-ktx:1.0.0 sono stati rilasciati. I commit inclusi in questa versione sono disponibili qui.

Funzionalità principali della versione 1.0.0

  • ComponentActivity: ComponentActivity funge da nuova classe base per FragmentActivity in Fragment 1.1.0 e, per estensione, AppCompatActivity in AppCompat 1.1.0.
  • activity-ktx: il modulo activity-ktx include un'estensione della proprietà Kotlin by viewModels per accedere ai ViewModel. Questo modulo viene incluso automaticamente quando includi fragment-ktx da Fragment 1.1.0.
  • OnBackPressedDispatcher: in alternativa componibile all'override di onBackPressed(), ora puoi registrare un OnBackPressedCallback da qualsiasi LifecycleOwner (ad esempio un fragment) per intercettare gli eventi del pulsante Indietro del sistema. A activity-ktx è stata aggiunta una lambda con la versione del ricevitore addCallback. Per ulteriori dettagli, consulta la documentazione relativa alla fornitura della navigazione indietro personalizzata.
  • onRetainCustomNonConfigurationInstance deprecation: le API onRetainCustomNonConfigurationInstance() e getLastCustomNonConfigurationInstance() correlate sono state ritirate. È consigliabile utilizzare ViewModel per archiviare lo stato non di configurazione, in quanto offrono una soluzione componibile adatta a qualsiasi ViewModelStoreOwner che rende chiara la proprietà degli oggetti conservati e fornisce un callback onCleared() per la pulizia delle risorse quando l'attività viene definitivamente eliminata.

Versione 1.0.0-rc01

2 luglio 2019

androidx.activity:activity:1.0.0-rc01 e androidx.activity:activity-ktx:1.0.0-rc01 vengono rilasciati senza modifiche rispetto a 1.0.0-beta01. I commit inclusi in questa versione sono disponibili qui.

Versione 1.0.0-beta01

5 giugno 2019

androidx.activity::activity:1.0.0-beta01 e androidx.activity:activity-ktx:1.0.0-beta01 vengono rilasciati senza modifiche rispetto a 1.0.0-alpha08. I commit inclusi in questa versione sono disponibili qui.

Versione 1.0.0-alpha08

7 maggio 2019

androidx.activity:activity:1.0.0-alpha08 e androidx.activity:activity-ktx:1.0.0-alpha08 sono stati rilasciati. I commit inclusi in questa versione sono disponibili qui.

Modifiche all'API

  • Modifica che causa interruzione: i metodi addOnBackPressedCallback e removeOnBackPressedCallback precedentemente ritirati su ComponentActivity sono stati rimossi. aosp/953857
  • I metodi setEnabled() e isEnabled() di OnBackPressedCallback sono ora definitivi. b/131416833
  • Il metodo remove() di OnBackPressedCallback è ora definitivo. aosp/952720
  • OnBackPressedDispatcher ora ha costruttori pubblici, che ti consentono di creare le tue istanze per i test e così via. aosp/953431
  • onBackPressed() per ComponentActivity ora è contrassegnato esplicitamente come @MainThread aosp/952721

Correzioni di bug

  • È stato corretto un ConcurrentModificationException durante la chiamata a remove() dall'interno del metodo handleOnBackPressed() di un OnBackPressedCalback aggiunto con un LifecycleOwner. b/131765095

Versione 1.0.0-alpha07

25 aprile 2019

androidx.activity:activity:1.0.0-alpha07 e androidx.activity:activity-ktx:1.0.0-alpha07 sono stati rilasciati. I commit inclusi in questa versione sono disponibili qui.

Modifiche all'API

Questa release introduce modifiche significative alla gestione di onBackPressed(). Per ulteriori dettagli, consulta la documentazione aggiornata sul pulsante Indietro personalizzato.

  • I metodi per OnBackPressedCallback e OnBackPressedDispatcher sono stati contrassegnati come @MainThread. (aosp/943813)
  • Il metodo handleOnBackPressed() non restituisce più un boolean. OnBackPressedCallback è ora una classe astratta che può essere attivata o disattivata. handleOnBackPressed() verrà chiamato solo quando il nuovo metodo isEnabled() restituisce true, nel qual caso devi gestire il pulsante Indietro. (aosp/944518)
  • I metodi addCallback di OnBackPressedDispatcher non restituiscono più un'istanza Cancellable. OnBackPressedCallback ora contengono un metodo remove() che soddisfa questa funzionalità, consentendoti di chiamare remove() durante handleOnBackPressed(). (aosp/944519) (aosp/946316)
  • activity-ktx ora contiene un callback con ambito del ricevitore per addCallback che accetta una lambda che implementa handleOnBackPressed() e ha accesso a isEnabled e remove() (aosp/944520)

Versione 1.0.0-alpha06

3 aprile 2019

androidx.activity:activity:1.0.0-alpha06 e androidx.activity:activity-ktx:1.0.0-alpha06 sono stati rilasciati. I commit inclusi in questa versione sono disponibili qui.

Modifiche all'API

  • ComponentActivity ora contiene un secondo costruttore che accetta un @LayoutRes int, che sostituisce il comportamento precedente di annotazione della classe AppCompatActivity con @ContentView. Questo approccio funziona sia nei moduli dell'app che in quelli della libreria. (b/128352521)
  • Le API correlate a OnBackPressedCallback in ComponentActivity sono state ritirate a favore della nuova OnBackPressedDispatcher, recuperabile tramite getOnBackPressedDispatcher(). (aosp/922523)
  • I metodi per aggiungere un nuovo OnBackPressedCallback a OnBackPressedDispatcher ora restituiscono un oggetto Cancellable, consentendo la rimozione del callback senza richiedere un riferimento esplicito a OnBackPressedDispatcher. (aosp/922523)
  • L'aggiunta di un OnBackPressedCallback con un LifecycleOwner associato ora comporta l'aggiunta e la rimozione del OnBackPressedCallback all'avvio e all'interruzione del ciclo di vita, rispettivamente. (aosp/922523)

Versione 1.0.0-alpha05

13 marzo 2019

androidx.activity:activity:1.0.0-alpha05 e androidx.activity:activity-ktx:1.0.0-alpha05 sono stati rilasciati. L'elenco completo dei commit inclusi in questa release è disponibile qui.

Nuove funzionalità

  • Le ricerche di annotazioni @ContentView ora vengono memorizzate nella cache (b/123709449)

Versione 1.0.0-alpha04

30 gennaio 2019

androidx.activity:activity 1.0.0-alpha04 e androidx.activity:activity-ktx 1.0.0-alpha04 sono stati rilasciati.

Nuove funzionalità

  • È stato aggiunto il supporto per l'annotazione della classe @ContentView, che consente di indicare quale file XML di layout deve essere visualizzato come alternativa all'utilizzo di setContentView(). (aosp/837619)

Modifiche all'API

  • È stata aggiunta una nota che indica che getViewModelStore() non deve essere sostituito e verrà reso definitivo in una versione futura. Se attualmente esegui l'override di questo metodo, invia una richiesta di funzionalità. (aosp/837619)

Correzioni di bug

  • Il modulo activity ora dipende dalla versione 2.1.0-alpha02 di ViewModel per corrispondere alla dipendenza del modulo activity-ktx.

Versione 1.0.0-alpha03

17 dicembre 2018

androidx.activity 1.0.0-alpha03 viene ritirata.

Nuove funzionalità

  • ComponentActivity ora implementa BundleSavedStateRegistryOwner e dipende dalla libreria SavedState appena rilasciata [aosp/815133]
  • ComponentActivity ora aggira un bug del framework Android che causava la perdita dell'ultima visualizzazione attiva da parte di InputMethodManager [b/37122102]

Versione 1.0.0-alpha02

3 dicembre 2018

Modifiche all'API

Versione 1.0.0-alpha01

5 novembre 2018

androidx.activity 1.0.0-alpha01 introduce ComponentActivity, una nuova classe base delle classi esistenti FragmentActivity e AppCompatActivity.

Nuove funzionalità

  • Ora puoi registrare un OnBackPressedCallback tramite addOnBackPressedCallback per ricevere callback onBackPressed() senza dover eseguire l'override del metodo nell'attività.
  • È stato aggiunto un nuovo delegato della proprietà Kotlin by viewModels() per recuperare ViewModel da un ComponentActivity.
  • Gli eventi di input in attesa (ad esempio i clic) ora vengono annullati in onStop().

Modifiche all'API

  • L'implementazione di LifecycleOwner e ViewModelStoreOwner è stata spostata da FragmentActivity a ComponentActivity.
  • onRetainCustomNonConfigurationInstance è stato ritirato. Utilizza un ViewModel per archiviare gli oggetti che devono sopravvivere alle modifiche alla configurazione.