Attività

Accedi alle API componibili basate sulla metrica Activity.
Aggiornamento più recente Release stabile Candidato per la release Versione beta Release alpha
17 aprile 2024 1.9.0 - - -

Dichiarazione delle dipendenze

Per aggiungere una dipendenza all'attività, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il modulo:

Trendy

dependencies {
    def activity_version = "1.9.0"

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

Kotlin

dependencies {
    val activity_version = "1.9.0"

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

Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se rilevi nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne una nuova. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.9

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 vengono rilasciati. La versione 1.9.0 contiene questi commit.

Modifiche importanti dalla versione 1.8.0

  • ComponentActivity ora implementa OnUserLeaveHintProvider per consentire i componenti ai callback per gli eventi onUserLeaveHint.
  • Le API OnBackPressedCallback, BackHandler e PredictiveBackHandler ora avvisano quando si chiama onBackPressedDispatcher.onBackPressed() in caso di gestione, poiché questo causerà sempre l'interruzione dell'animazione predittiva indietro. Per ulteriori dettagli, consulta la guida alle best practice.
  • Le restanti API Activity sono state riscritte in Kotlin e tutte le estensioni precedentemente disponibili in activity-ktx sono state spostate in activity. Ora il campo activity-ktx è completamente vuoto.
    • Nell'ambito della conversione di ActivityResultLauncher in Kotlin, il metodo getContract è ora una proprietà Kotlin astratta. Questa è una modifica compatibile con il programma binario, ma la sorgente viene interrotta se la tua 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 vengono 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 vengono rilasciati. La versione 1.9.0-beta01 contiene questi commit.

Correzioni di bug

  • È stata corretta una regressione delle prestazioni dell'avvio dell'attività introdotta in Attività 1.9.0-alpha02 causata dalla chiamata di OnBackPressedDispatcher durante la 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 vengono rilasciati. La versione 1.9.0-alpha03 contiene questi commit.

Avviso lint

Correzioni di bug

  • Se viene inviato un evento Indietro dal sistema avviato durante un Gesto Indietro predittivo già in esecuzione, questo Gesto Indietro predittivo viene annullato e il nuovo evento Indietro prende il comando per iniziare un nuovo Gesto Indietro predittivo. (I3482e).
  • È stato risolto l'arresto anomalo durante l'accesso a onBackPressedDispatcher da un ComponentActivity per la prima volta da un thread in background. Ora puoi accedere in sicurezza a onBackPressedDispatcher su qualsiasi thread. (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 vengono rilasciati. La versione 1.9.0-alpha02 contiene questi commit.

Conversioni di Kotlin

  • ActivityResultRegistry è stato riscritta in Kotlin. In questo modo si garantisce che il nulla dei termini generici sul contratto passati a register venga trasmesso correttamente al ActivityResultLauncher che ti è stato restituito. (I121f0).
  • ActivityResult è stato riscritta 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'elemento activity-ktx ora è completamente vuoto. (I0a444)

Correzioni di bug

  • L'API enableEdgeToEdge ora è circondata da eventuali ritagli del display. (a3644b, b/311173461).
  • Da Attività 1.8.2: è stato risolto il problema aggiuntivo passato al contratto di attività del selettore di foto ACTION_SYSTEM_FALLBACK_PICK_IMAGES per trasmettere correttamente la chiave EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX, anziché utilizzare l'elemento aggiuntivo con la chiave "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". Gli OEM che implementano un selettore di foto di riserva del sistema sono vivamente consigliati per supportare entrambi gli accessori al fine di 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 vengono rilasciati. La versione 1.9.0-alpha01 contiene questi commit.

Nuove funzionalità

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

Modifiche alle API

  • ComponentActivity è stato riscritta in Kotlin. (I14f31).
  • ActivityResultCaller è stato riscritta in Kotlin. (Ib02e4).
  • ActivityResultLauncher è stato riscritta in Kotlin. Nell'ambito di questa conversione, il metodo getContract è ora una proprietà Kotlin astratta. Questa è una modifica compatibile con il programma binario, ma la sorgente viene interrotta se la tua implementazione di ActivityResultLauncher è scritta in Kotlin. (Id4615)
  • Ora PickVisualMediaRequest ha lo stesso livello API minimo 19 del contratto relativo ai risultati di attività di PickVisualMedia. (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 vengono rilasciati. La versione 1.8.2 contiene questi commit.

Correzioni di bug

  • È stato risolto il problema aggiuntivo trasferito al 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'elemento aggiuntivo con la chiave "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". Gli OEM che implementano un selettore di foto di riserva del sistema sono vivamente consigliati per supportare entrambi gli accessori al fine di 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 vengono rilasciati. La versione 1.8.1 contiene questi commit.

Correzioni di bug

  • Ora OnBackPressedDispatcher continua a inviare al 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 vengono rilasciati. La versione 1.8.0 contiene questi commit.

Modifiche importanti dalla versione 1.7.0

  • Indietro predittivo: ora OnBackPressedCallback offre nuovi callback predittivi per gestire l'avvio del gesto Indietro, l'avanzamento nel gesto e l'annullamento del gesto Indietro, oltre al callback handleOnBackPressed() precedente per quando viene confermato il gesto Indietro. Inoltre, è dotato di PredictiveBackHandler componibile per gestire gli eventi predittivi del gesto Indietro in Scrittura attività. Fornisce un flusso di oggetti BackEventCompat che devono essere raccolti nella lamba 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
    }
  }

ComponentActivity.onBackPressed() è stato ritirato a favore delle API per la gestione. Ora gli sviluppatori dovrebbero utilizzare OnBackPressedDispatcher anziché eseguire l'override di questo metodo.

  • EdgeToEdge - È stato aggiunto ComponentActivity.enableEdgeToEdge() per configurare facilmente il display edge-to-edge in modo da essere 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 vengono 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 vengono 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 vengono rilasciati. La versione 1.8.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Scrittura attività ha aggiunto un nuovo componibile PredictiveBackHandler per gestire gli eventi predittivi del gesto Indietro. Fornisce un Flow di BackEventCompat oggetti che devono essere raccolti nella lamba 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
      }
    }
    

    Include inoltre un avviso relativo al tempo di compilazione tramite regola lint per garantire che Flow chiami collect(). (Id2773, b/294884345)

  • onBackPressedDispatcher in ComponentActivity viene ora inizializzato in modo lento, in modo da essere creato solo quando necessario. (I0bf8e).

Correzioni di bug

  • ComponentActivity non mostrerà più un NPE su Android 13 quando riceverà un callback onBackPressed() e l'attività è già stata DESTROYED. (Idb055, b/291869278)
  • Sono stati rimossi gli utilizzi dell'API isAtLeastU() sperimentale (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 vengono rilasciati. La versione 1.8.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Ora l'OnBackPressedDispatcher annulla correttamente tutti i callback rimossi durante un Gesto predittivo Indietro. (I3f90f)

Modifiche alle API

  • Ora quando passi SystemBarStyle.auto all'API enableEdgeToEdge, puoi sostituire il 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 vengono rilasciati. Questa versione è sviluppata in un ramo interno.

Modifiche alle API

  • L'attività ora fornisce una classe BackEventCompat che funge da versione compatibile con le versioni precedenti di BackEvent e disaccoppiata dalla classe BackEvent del framework.
  • Modifica di interruzione: i metodi handleOnBackStarted e handleOnBackProgressed di OnBackPressedCallback ora ricevono un'istanza androidx.activity.BackEventCompat anziché una classe del framework android.window.BackEvent. Sono state aggiornate anche le API @VisibleForTesting equivalenti su OnBackPressedDispatcher.
  • Il costruttore di OnBackPressedDispatcher ora utilizza un'istanza Consumer<Boolean> facoltativa che consente ai proprietari del supervisore di ricevere un callback ogni volta che il numero di callback attivati cambia da zero a 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 vengono rilasciati. Questo è stato rilasciato da un ramo interno.

Correzioni di bug

  • Dall'Attività 1.7.1: - Non si verifica più la perdita di ReportFullyDrawExecuter quando utilizzi 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 vengono rilasciati. Questo è stato rilasciato 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. Ora gli sviluppatori dovrebbero 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 della struttura ad albero prima di impostare la visualizzazione dei contenuti. (Ibdce0, b/261314581).

Correzioni di bug

  • Risolto il problema per cui i frammenti venivano invalidati in modo errato MenuHosts e causava un comportamento imprevisto di altri menu nell'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 vengono 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 vengono rilasciati. Questo è stato creato da un ramo interno.

Nuove funzionalità

  • La classe OnBackPressedCallback ora contiene nuovi callback di avanzamento predittivo per gestire l'avvio del gesto Indietro, l'avanzamento nel gesto e l'annullamento del gesto Indietro, oltre al callback handleOnBackPressed() precedente per quando viene eseguito il commit del gesto Indietro.

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 vengono rilasciati. La versione 1.7.2 contiene questi commit.

Correzioni di bug

  • Correggi l'arresto anomalo di ReportDrawn durante l'uscita 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 vengono rilasciati. La versione 1.7.1 contiene questi commit.

Correzioni di bug

  • ReportFullyDrawExecuter non divulga più quando utilizzi 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 vengono rilasciati. La versione 1.7.0 contiene questi commit.

Modifiche importanti dalla versione 1.6.0

  • I contratti relativi alle attività del selettore di foto in PickVisualMedia e PickMultipleVisualMedia sono stati aggiornati in modo da includere un'ulteriore riserva di riserva per i casi in cui MediaStore.ACTION_PICK_IMAGES non sarà disponibile, il che consente agli OEM e alle app di sistema, come Google Play Services, di offrire un'esperienza coerente con il selettore di foto su una gamma più ampia di dispositivi Android e livelli API implementando l'azione di riserva. Il selettore di foto userà questo metodo di riserva se disponibile prima di tornare a usare Intent.ACTION_OPEN_DOCUMENT, che deve continuare a supportare tutti i dispositivi con API 19 e versioni successive.
  • ComponentDialog ora implementa SavedStateRegistryOwner e ha accesso al proprio SavedStateRegistry e imposta SavedStateRegistryOwner per ViewTree. Ora è possibile utilizzare Jetpack Compose all'interno di un ComponentDialog in quanto soddisfa sia i LifecycleOwner che i SavedStateRegistryOwner collegati a Window tramite i requisiti delle API ViewTree.
  • IntentSenderRequest.Builder.setFlags() ora consente di impostare più flag da Intent, anziché un solo flag.

Conversione di Kotlin

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

La tabella seguente fornisce le conversioni di origine per la nuova versione dell'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 generare report 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 tuoi requisiti di tempistica e non devono essere chiamate nell'ambito di una chiamata onDraw.

Si consiglia di abilitare queste API:

  • Segnalazione del runtime Android al completamento dell'avvio per garantire che tutto il codice eseguito durante una sequenza di avvio multi-frame sia incluso e prioritario per la compilazione in background.
  • Segnalazione di Macrobenchmark e Play Vitals quando la tua applicazione deve essere considerata completamente utilizzata per le metriche di avvio, in modo da poter monitorare le prestazioni.

Sono state aggiunte tre API Activity Compose per rendere più agevole l'utilizzo del FullyDrawnReporter dai singoli componibili:

  • ReportDrawn indica che il componibile è immediatamente pronto per l'interazione.
  • ReportDrawnWhen accetta un predicato (ad esempio list.count > 0) per indicare quando il componibile è pronto per l'interazione.
  • ReportDrawnAfter adotta un metodo di sospensione che, una volta completato, indica che puoi interagire.

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 vengono 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 vengono rilasciati. La versione 1.7.0-beta02 contiene questi commit.

Modifiche alle API

  • L'azione e le funzionalità aggiuntive utilizzate dai contratti PickVisualMedia e PickMultipleVisualMedia come alternativa per quando MediaStore.ACTION_PICK_IMAGES non è disponibile sono ora costanti pubbliche che forniscono stabilità dell'API agli OEM e alle app di sistema che vogliono offrire un'esperienza coerente con il selettore di foto. L'implementazione di questa funzionalità di riserva è 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 vengono rilasciati. La versione 1.7.0-beta01 contiene questi commit.

Nuove funzionalità

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

Correzioni di bug

  • L'elemento di riserva per PickVisualMedia per quando il selettore di foto del framework non è disponibile ora limita correttamente la gestione alle app installate nell'immagine di sistema del dispositivo. (If8ae6).

Conversioni di Kotlin

  • ActivityResultRegistryOwner è ora scritto in Kotlin. Si tratta di una modifica incompatibile con l'origine per le classi scritte in Kotlin. Ora devi sostituire la proprietà activityResultRegistry anziché implementare la precedente funzione getActivityResultRegistry(). (I0b00e).
  • OnBackPressedDispatcherOwner è ora scritto in Kotlin. Si tratta di una modifica incompatibile con l'origine per le classi scritte in Kotlin. Ora devi sostituire la proprietà onBackPressedDispatcher anziché implementare la precedente funzione getOnBackPressedDispatcher. (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 vengono rilasciati. La versione 1.7.0-alpha04 contiene questi commit.

Nuove funzionalità

  • I contratti relativi ai risultati di attività di PickVisualMedia e PickMultipleVisualMedia utilizzeranno ora un selettore di foto fornito da Google Play Services, ove disponibile, nei casi in cui il sistema Android fornisse il selettore di foto (ad es. MediaStore.ACTION_PICK_IMAGES) non è disponibile. L'API isPhotoPickerAvailable() che rileva solo il selettore di foto fornito dal sistema Android è stata ritirata. È consigliabile utilizzare la nuova API isPhotoPickerAvailable(Context), che verrà restituita se è disponibile uno dei selettori di foto. (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 vengono 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 proprio ViewTree. Ora è possibile utilizzare Jetpack Compose all'interno di un ComponentDialog, in quanto soddisfa sia i LifecycleOwner che gli SavedStateRegistryOwner collegati a Window tramite i requisiti delle API ViewTree. (Idca17, I73468 b/261162296)

Modifiche alle API

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

Conversioni di Kotlin

  • Le classi ActvitiyResultCallback e OnBackPressedCallback sono state entrambe convertite in Kotlin, mantenendo al contempo 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 vengono rilasciati. La versione 1.7.0-alpha02 contiene questi commit.

Correzioni di bug

  • Dalla sezione Attività 1.6.1: è stato risolto un problema a causa del quale il contratto relativo al risultato di attività di PickMultipleVisualMedia non viene avviato sui dispositivi Android R quando viene utilizzato 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 vengono rilasciati. La versione 1.7.0-alpha01 contiene questi commit.

API FullyDrawnReporter

ComponentActivity ora fornisce un'istanza FullyDrawnReporter che consente a più componenti di generare report 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 tuoi requisiti di tempistica e non devono essere chiamate nell'ambito di una chiamata onDraw.

Si consiglia di abilitare queste API:

  • Segnalazione del runtime Android al completamento dell'avvio per garantire che tutto il codice eseguito durante una sequenza di avvio multi-frame sia incluso e prioritario per la compilazione in background.
  • Segnalazione di Macrobenchmark e Play Vitals quando la tua applicazione deve essere considerata completamente utilizzata per le metriche di avvio, in modo da poter monitorare le prestazioni.

Sono state aggiunte due API Activity Compose per rendere più agevole l'utilizzo del FullyDrawnReporter dai singoli componibili:

  • ReportDrawnWhen accetta un predicato (ad esempio list.count > 0) per indicare quando il componibile è pronto per l'interazione.
  • ReportDrawnAfter adotta un metodo di sospensione che, una volta completato, indica che puoi interagire.

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 vengono rilasciati. La versione 1.6.1 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema a causa del quale il contratto relativo ai risultati di attività di PickMultipleVisualMedia non veniva avviato sui dispositivi Android R quando si utilizzava il valore predefinito di 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 vengono 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 aver fornito 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 è disponibile.
  • OnBackInvokedCallback è stato integrato in Android 13 nell'OnBackPressedDispatchers fornita da ComponentActivity e ComponentDialog. Ciò garantisce che tutte le API basate su OnBackPressedDispatcher funzionino quando si abilita 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 vengono rilasciati. La versione 1.6.0-rc02 contiene questi commit.

Correzioni di bug

  • OnBackPressedDispatcher ora registra OnBackInvokedCallback con PRIORITY_DEFAULT anziché PRIORITY_OVERLAY. (I3901f)
  • D'ora in poi, per i corsi che estendono ComponentActivity verranno sempre inviati entrambi i callback onMultiWindowModeChanged(). (Ic4d85)
  • ActivityResultRegistry non restituirà più un risultato a ActivityResultCallback quando la chiamata launch genera un valore Exception e il callback è stato registrato senza LifecycleOwner. (Ia7ff7, b/238350794)
  • Ora ComponentActivity invierà correttamente le chiamate di menu senza dover chiamare la super funzione nella tua 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 vengono rilasciati. La versione 1.6.0-rc01 contiene questi commit.

Correzioni di bug

  • L'inizializzazione di un OnBackPressedDispatcher non causerà più ClassVerificationError quando si utilizzano versioni dell'SDK precedenti alla 33. (Ic32e1).
  • Ora per i corsi che eseguono l'override del callback onPictureInPictureModeChanged() di ComponentActivity verranno sempre inviati i callback. (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 vengono rilasciati. La versione 1.6.0-beta01 contiene questi commit.

Modifiche alle API

  • Sono stati contrassegnati i metodi startActivityForResult e startIntentSenderForResult deprecati 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 elemento Exception e il callback è stato registrato senza LifecycleOwner. (Ia7ff7, b/238350794)
  • Da Attività 1.5.1: ora ComponentActivity invierà correttamente le chiamate di menu agli override di onPrepareOptionMenu(), onCreateOptionsMenu() e onOptionsItemSelected() senza dover chiamare la super funzione. (Ie33c5, b/238057118).

Aggiornamento delle dipendenze

  • Dalla sezione Attività 1.5.1: la raccolta Activity ora dipende dalla versione di Lifecycle 2.5.1. (If6697)

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 vengono rilasciati. La versione 1.6.0-alpha05 è stata sviluppata in un ramo privato di pre-release e non ha commit pubblici.

Modifiche alle API

  • minCompileSdk è ora alla 33a per allinearsi all'SDK Tiramisu Beta 3

Correzioni di bug

  • È stato risolto l'arresto anomalo sui dispositivi meno recenti durante il controllo delle estensioni dell'SDK per PickVisualMedia ActivityResultContract, in modo che ora dovrebbe funzionare 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 vengono rilasciati.

Correzioni di bug

  • Risolto un errore in PickVisualMediaRequest per cui il tentativo di creare una richiesta, tramite Builder o la funzione Kotlin di livello superiore, comportava un overflow dello stack.
  • L'OnBackInvokedCallback in Android 13 Dev Beta 2 è stato integrato nell'OnBackPressedDispatcher fornito da ComponentDialog. Ciò garantisce che tutte le API basate su OnBackPressedDispatcher funzionino quando si abilita 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 vengono 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 aver fornito 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 è disponibile.
  • L'OnBackInvokedCallback in Android 13 Dev Beta 1 è stato integrato nell'OnBackPressedDispatcher fornito da ComponentActivity. Ciò garantisce che tutte le API basate su OnBackPressedDispatcher funzionino quando si abilita 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 vengono rilasciati.

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

Nuove funzionalità

  • Modifiche integrate in 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 vengono 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 valore Exception e il callback è stato registrato senza LifecycleOwner. (Ia7ff7, b/238350794)

  • Ora ComponentActivity invierà correttamente le chiamate di menu agli override di onPrepareOptionMenu(), onCreateOptionsMenu() e onOptionsItemSelected() senza dover 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 vengono rilasciati. La versione 1.5.0 contiene questi commit.

Modifiche importanti dalla versione 1.4.0

  • ComponentiDialog - ComponentDialog è una sottoclasse di Dialog che include un OnBackPressedDispatcher che verrà richiamato quando verrà 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 in modo generico il supervisore corretto indipendentemente dal fatto che esista in un ComponentActivity o un ComponentDialog.
  • Interfacce di callback: ComponentActivity ora implementa una serie di interfacce di callback modulari che possono essere utilizzate al posto dei callback Activity. Queste interfacce includono le seguenti: OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider
  • Integrazione di CreationExtras. ComponentActivity ora è in grado di fornire un ViewModelProvider.Factory stateless tramite CreationExtras del ciclo di vita 2.5.0.

Altre modifiche

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

Versione 1.5.0-rc01

11 maggio 2022

Le versioni 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 rilasciate senza modifiche dalla 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 vengono 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 vengono rilasciati. La versione 1.5.0-alpha05 contiene questi commit.

Correzioni di bug

  • Ora anche onPanelClosed() di ComponentActivity chiama 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 vengono rilasciati. La versione 1.5.0-alpha04 contiene questi commit.

Correzioni di bug

  • SavedStateViewFactory ora supporta l'uso di CreationExtras anche quando è 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 vengono rilasciati. La versione 1.5.0-alpha03 contiene questi commit.

Modifiche alle API

  • Ora puoi passare CreationExtras alla funzione by viewModels() dell'attività (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 vengono 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 in 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 vengono rilasciati. La versione 1.5.0-alpha01 contiene questi commit.

Nuove funzionalità

  • ComponentActivity ora si integra con gli extra ViewModel Creation, introdotti nell'ambito del ciclo di vita 2.5.0-alpha01. (Ie7e00, b/207012584).
  • È stata aggiunta ComponentDialog, una sottoclasse Dialog che include un OnBackPressedDispatcher che verrà richiamata quando verrà premuto il pulsante Indietro del sistema quando la finestra di dialogo è visibile. È importante sottolineare che questa sottoclasse imposta anche ViewTreeOnBackPressedDispatcherOwner, consentendo alle viste di recuperare il supervisore corretto indipendentemente dal fatto che esista in ComponentActivity o ComponentDialog. (I8a1bc)
  • ComponentActivity ora implementa la nuova interfaccia di OnNewIntentProvider per consentire a qualsiasi componente di ricevere questi eventi. (If1f8b)
  • ComponentActivity ora implementa la nuova interfaccia di OnConfigurationChangedProvider per consentire a qualsiasi componente di ricevere questi eventi. (If623b)
  • Ora ComponentActivity implementa la nuova interfaccia di 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 utilizza un tipo MIME concreto (ad es. "image/png") come richiesto da Intent.ACTION_CREATE_DOCUMENT. (I2bec6).
  • L'elemento OnBackPressedDispatcherOwner associato a una vista ora può essere recuperato tramite il ViewTreeOnBackPressedDispatcherOwner, invece di ricorrere alla trasmissione di Context. (I74685)

Correzioni di bug

  • È stato risolto l'arresto anomalo durante l'accesso per la prima volta a un ViewModel da un callback registerForActivityResult() o le richiamate 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 vengono 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 MenuProvider all'attività. Facoltativamente, ogni MenuProvider può essere aggiunto con un Lifecycle che controllerà automaticamente la visibilità di queste voci di menu in base allo stato 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 il nulla o i valori corretti per le loro classi di input e output.
  • La classe ActivityResultContracts e i relativi contratti sono stati riscritti in Kotlin per garantire il nulla osta adeguato.

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 vengono rilasciati. La versione 1.4.0-rc01 contiene questi commit.

Correzioni di bug

  • ActivityResultRegistry non restituirà più un risultato in ActivityResultCallback quando la chiamata launch genererà un valore 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 vengono rilasciati. La versione 1.4.0-beta01 contiene questi commit.

Modifiche alle API

  • È stato corretto il tipo di ActivityResultContracts.OpenMultipleDocuments e ActivityResultContracts.GetMultipleContents che causava l'utilizzo di un tipo di output List<? extends Uri> durante l'utilizzo del 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 usa Kotlin tramite i loro oggetti Companion ora pubblici. (aosp/1832555)

Aggiornamenti alla documentazione

  • Il messaggio relativo al ritiro delle API ora gestito dalle API Activity Result, ovvero startActivityForResult, startIntentSenderForResult, onActivityResult, requestPermissions e onRequestPermissionsResult, è stato ampliato con ulteriori 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 vengono rilasciati. La versione 1.4.0-alpha02 contiene questi commit.

Nuove funzionalità

  • L'artefatto activity-compose ora contiene un errore di lint LaunchDuringComposition che ti impedisce di chiamare il metodo launch di ActivityResultLauncher nell'ambito della composizione, in quanto la composizione dovrebbe essere priva di 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 correttezza nulla delle loro classi di input e di output. (I8a8f5).
  • La classe ActivityResultContracts e i relativi contratti sono stati riscritti in Kotlin per garantire il corretto nulla. (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 vengono 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 MenuProvider all'attività. Facoltativamente, ogni MenuProvider può essere aggiunto con un Lifecycle che controllerà automaticamente la visibilità di queste voci di menu in base allo stato 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 del comportamento

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

Contributi esterni

  • Grazie dmitrilc per aver corretto un errore ortografico nella documentazione di ActivityResult. (n. 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 vengono rilasciati. La versione 1.3.1 contiene questi commit.

Aggiornamenti delle dipendenze

  • L'attività ora dipende da Kotlin 1.5.21.
  • Ora Scrittura attività dipende da Compose 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 vengono rilasciati. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

  • Artefatto di Compose attività: l'elemento activity-compose fornisce il metodo di estensione setContent per ospitare la UI di 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: l'ActivityResultContract CaptureVideo sostituisce il contratto TakeVideo, ora deprecato, e restituisce un valore booleano che indica l'esito positivo di molte app fotocamera.
  • Monitoraggio della visualizzazione dei suggerimenti Picture in picture: gli utenti di activity-ktx ora possono utilizzare il metodo dell'estensione trackPipAnimationHintView su Activity per ricreare automaticamente PictureInPictureParams con la nuova posizione della vista mentre 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 vengono rilasciati. La versione 1.3.0-rc02 contiene questi commit.

Correzioni di bug

  • I callback ActivityResultRegistry vengono ora salvati e ripristinati correttamente, in modo che i callback 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 da 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 vengono rilasciati. La versione 1.3.0-beta02 contiene questi commit.

Aggiornamento di activity-compose in base a Compose 1.0.0-beta09. androidx.compose.ui:ui-test-junit4 ora ha una dipendenza del tempo di compilazione su 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 vengono rilasciati. La versione 1.3.0-beta01 contiene questi commit.

Modifiche alle API

  • Il metodo @Composable registerForActivityResult() precedentemente obsoleto è stato rimosso. Usa 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 vengono rilasciati. La versione 1.3.0-alpha08 contiene questi commit.

Nuove funzionalità

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

Modifiche alle API

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

Compatibilità di Scrivi

  • androidx.activity:activity-compose:1.3.0-alpha08 è compatibile solo con Compose 1.0.0-beta07 e versioni 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 vengono 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 di ricomposizioni. (Id2d6d)
  • L'utilizzo di versioni instabili di Fragments precedenti a 1.3.0 non genererà più un errore di lint falso positivo che ti chiede di 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 vengono rilasciati. La versione 1.3.0-alpha06 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

  • BackHandler ora intercetti correttamente le pressioni a ritroso nel caso in cui l'attività sia STOPPED, quindi di nuovo STARTED e altri callback sono stati aggiunti con un LifecycleOwner. (I71de6, b/182284739).
  • L'utilizzo dell'estensione del metodo launch() con un ActivityResultContract personalizzato con 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 vengono rilasciati. La versione 1.3.0-alpha05 contiene questi commit.

Correzioni di bug

  • Dall'Attività 1.2.2: è stato risolto un problema nel controllo lint di InvalidFragmentVersionForActivityResult che generava un falso positivo quando veniva usato un frammento 1.3.1 o versioni successive. (I54da1, b/182388985)
  • Dall'Attività 1.2.2: ComponentActivity ora evita ClassNotFoundException quando avvii una Intent da una ActivityResultContract che in precedenza era tenuta come extra in un'altra 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 vengono rilasciati. La versione 1.3.0-alpha04 contiene questi commit.

Correzioni di bug

  • Da Attività 1.2.1: ora RequestMultiplePermissions restituisce sempre i risultati per tutte le autorizzazioni richieste, anziché solo per le autorizzazioni che non erano state concesse in precedenza. (I50bc3, b/180884668).
  • Dall'attività 1.2.1: ora ActivityResultRegistry garantisce che le richieste launch() in corso restituiscano i risultati anche se unregister(), poi register() di nuovo con la stessa chiave. (I9ef34, b/181267562).
  • Scrittura attività non aggiunge più dipendenze di test a classpath di runtime. (Ifd8b3)
  • Risolto il problema di BackHandler per cui la funzione 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 vengono rilasciati. La versione 1.3.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Ora è disponibile una funzione registerForActivityResult componibile per ottenere risultati dalle attività all'interno degli elementi componibili. (Ia7851, b/172690553)

Modifiche alle API

  • Ora LocalOnBackPressedDispatcherOwner ha una funzione provides che può essere utilizzata con CompositionLocalProvider, che sostituisce 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 vengono rilasciati. La versione 1.3.0-alpha02 contiene questi commit.

Correzioni di bug

  • Risolto un problema di Scrittura 1.3.0-alpha01 che causa un'eccezione NoSuchMethodError: No static method setContent quando si utilizza Scrivi 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 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 vengono rilasciati. La versione 1.3.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Il nuovo artefatto activity-compose fornisce aiutanti 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 Scrittura nell'attività 1.3.0-alpha01 e delle librerie che dipendono da questo, come androidx.compose.ui:ui-test-junit4:1.0.0-alpha12, comporterà 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 vengono rilasciati. La versione 1.2.4 contiene questi commit.

Correzioni di bug

  • Da Attività 1.3.0-rc02: i callback ActivityResultRegistry vengono ora salvati e ripristinati correttamente in modo che i callback 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 vengono rilasciati. La versione 1.2.3 contiene questi commit.

Correzioni di bug

  • L'utilizzo dell'estensione del metodo launch() con un ActivityResultContract personalizzato con un input Unit non causerà più un NullPointerException (I76282, b/183837954)
  • È stato corretto un falso errore lint positivo che indicava di utilizzare il frammento 1.3.0 quando si usava una build istantanea, 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 vengono rilasciati. La versione 1.2.2 contiene questi commit.

Correzioni di bug

  • Risolto il problema relativo al controllo lint di InvalidFragmentVersionForActivityResult che causava un falso positivo durante l'utilizzo del frammento 1.3.1 o versioni successive. (I54da1, b/182388985)
  • ComponentActivity ora evita una ClassNotFoundException durante il lancio di una Intent da una ActivityResultContract che in precedenza si svolgeva come extra in un'altra 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 vengono rilasciati. La versione 1.2.1 contiene questi commit.

Correzioni di bug

  • Ora RequestMultiplePermissions restituisce sempre i risultati per tutte le autorizzazioni richieste, anziché solo le autorizzazioni che non erano state concesse in precedenza. (I50bc3, b/180884668).
  • ActivityResultRegistry ora assicura che le richieste launch() in corso restituiscano i risultati anche se unregister(), quindi 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 vengono rilasciati. La versione 1.2.0 contiene questi commit.

Importanti modifiche dalla versione 1.1.0

  • API dei risultati di attività: ora ComponentActivity fornisce un ActivityResultRegistry che ti consente di gestire i flussi startActivityForResult()+onActivityResult() nonché requestPermissions()+onRequestPermissionsResult() senza eseguire l'override dei metodi nell'Attività o nel frammento, offre una maggiore sicurezza dei tipi tramite ActivityResultContract e fornisce hook per testare questi flussi. Consulta la pagina 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 base Activity.onCreate().

    • Un'estensione Kotlin sospesa withContextAvailable() ti consente di eseguire un blocco non in pausa quando il contesto diventa disponibile e restituire un risultato.
    • Questa API viene utilizzata da FragmentActivity in Fragment 1.3.0 per ripristinare lo stato di FragmentManager. Qualsiasi listener aggiunto alle sottoclassi di FragmentActivity verrà eseguito dopo questo listener.
    • Questa API viene utilizzata da AppCompatActivity in AppCompat 1.3.0-alpha02 o versioni successive. Qualsiasi listener aggiunto alle sottoclassi di AppCompatActivity verrà eseguito dopo questo listener.
  • Assistenza ViewTree: ora ComponentActivity supporta le API ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View) e ViewTreeSavedStateRegistryOwner aggiunte in Ciclo di vita 2.3.0 e SavedState 1.1.0 in modo da restituire l'attività LifecycleOwner, ViewModelStoreOwner e SavedStateRegistryOwner per qualsiasi vista aggiunta direttamente a ComponentActivity.

  • reportFullyDrawn(): è stato eseguito il backport del metodo Activity di reportFullyDrawn() in ComponentActivity per funzionare a tutti i livelli API, correggendo un arresto anomalo nell'API 19 e aggiungendo il tracciamento 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 vengono rilasciati. La versione 1.2.0-rc01 contiene questi commit.

Correzioni di bug

  • L'ActivityResultRegistry ora ripristina sempre lo stato esatto salvato. (Idd56b)
  • Aggiungi tracciamento a ComponentActivity.reportFullyDrawn (Ic7632)

Contributi esterni

  • Ora ComponentActivity esegue l'override di reportFullyDrawn(), consentendo la chiamata a tutti i livelli API e correggendo un arresto anomalo quando si chiama questo metodo senza l'autorizzazione di sistema appropriata sui dispositivi con API 19. Grazie Simon Schiller! (b/163239764, n. 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 vengono rilasciati. La versione 1.2.0-beta02 contiene questi commit.

Correzioni di bug

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

Contributi esterni

  • È stata aggiornata la documentazione relativa a launch() per segnalare 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 vengono 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 che non è allocato per essere utilizzato come codice di richiesta register(), evitando così il possibile overflow di numeri interi causato dall'incremento dei codici di richiesta. (b/168779518)

  • Gli osservatori Lifecycle sono stati rimossi correttamente quando chiami unregister() su un ActivityResultLauncher. (b/165608393)

Modifiche del comportamento

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

Documentazione aggiornata

  • La documentazione di ContextAware contiene link a LifecycleOwner per evidenziare i callback Lifecycle come luogo appropriato per gli eventi di creazione e 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 vengono rilasciati. La versione 1.2.0-alpha08 contiene questi commit.

Nuove funzionalità

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

Correzioni di bug

  • Risolto il problema relativo al controllo Lint di ActivityResultFragmentVersionDetector che ne causava l'interruzione durante l'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 vengono rilasciati. La versione 1.2.0-alpha07 contiene questi commit.

Nuove funzionalità

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

Contributi esterni

  • È stato corretto un ArrayIndexOutOfBoundsException durante l'analisi dei risultati per il contratto relativo al risultato di attività di RequestPermission. (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 vengono 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'app ActivityResultContract utilizzata per registrare Avvio app. (b/156875743)

Modifiche alle API

  • Modifica di interruzione: il metodo invoke() su ActivityResultRegistry è stato rinominato in onLaunch(). (b/157496491)
  • Se non viene restituito alcun risultato, il contratto OpenMultipleDocuments ora restituisce un elenco vuoto invece di null al callback registrato. (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 vengono rilasciati. La versione 1.2.0-alpha05 contiene questi commit.

Nuove funzionalità

Modifiche alle API

  • Il contratto TakePicture ora restituisce un boolean che indica l'esito positivo anziché una miniatura Bitmap, poiché questa azione era molto raramente supportata dalle app della fotocamera quando si scriveva l'immagine nell'elemento Uri fornito. (b/154302879)
  • Le estensioni invoke() su ActivityResultLauncher sono state rimosse a favore dell'uso esplicito di launch() per indicare meglio che si tratta di operazioni asincrone. Al pacchetto androidx.activity.result di ActivityResultLauncher<Void> e ActivityResultLauncher<Unit> sono state aggiunte estensioni Kotlin per launch che eliminano la necessità di trasmettere rispettivamente null o Unit, eseguendo il mirroring di questo comportamento dalle precedenti estensioni invoke(). (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

  • Durante la registrazione di un ActivityResultCallback con un LifecycleOwner, è stato risolto un problema per cui il callback veniva attivato prima che lo stato raggiunga STARTED. (aosp/1309744)

Modifiche del comportamento

  • L'ActivityResultRegistry ora genera codici di richiesta a partire dal giorno 0xFFFF anziché dal giorno 0, per evitare 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 vengono 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 su ComponentActivity qui sia nel Frammento 1.3.0-alpha04. (aosp/1278717)
  • I contratti GetContents, OpenDocuments e RequestPermissions sono stati rinominati rispettivamente GetMultipleContents, OpenMultipleDocuments e RequestMultiplePermissions. (aosp/1280161)
  • Ora ComponentActivity implementa l'interfaccia ActivityResultRegisteryOwner. (aosp/1290888).
  • - Le API startActivityForResult()/onActivityResult() e onRequestPermissionsResult() su ComponentActivity sono state ritirate. Utilizza le API dei risultati delle attività. (b/154751887)

Correzioni di bug

  • Quando utilizzi i contratti GetMultipleContents e OpenMultipleDocuments e selezioni un singolo elemento, questo viene ora 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 vengono 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 all'insieme di contratti predefiniti forniti da ActivityResultContracts. (aosp/1262482, aosp/1266916, aosp/1268960)
  • Le API dei risultati di attività ora supportano l'avvio di un'attività per i risultati con un ActivityOptionsCompat facoltativo. (b/151860054)

Modifiche alle API

  • Il contratto TakePicture ora richiede un input Uri per la posizione in cui archiviare l'immagine. Il contratto precedente che non accetta 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 il unregisterResultCallback() su ActivityResultRegistry è stato rimosso. (aosp/1267621).
  • Il metodo createIntent() di ActivityResultContact ora richiede un Context oltre all'input per consentire la creazione di intent espliciti. (aosp/1238800)
  • Ora un ActivityResultContract può eseguire l'override di getSynchronousResult() per restituire un risultato senza chiamare startActivityForResult. Questo valore viene utilizzato dai contratti RequestPermission e RequestPermissions per assegnare correttamente lo stato "Concesso" se le autorizzazioni richieste sono già concesse. (b/151110799)
  • Il contratto Dial precedentemente disponibile è stato rimosso in quanto Intent non è destinato a essere utilizzato con startActivityForResult(). (aosp/1266916).
  • Molte delle API dei risultati di attività che non devono essere estese sono ora final. Sono inclusi getActivityResultRegistry(), i metodi prepareCall(), tutti i metodi di ActivityResultRegistry tranne invoke() e alcuni dei contratti predefiniti che non supportano gli extra facoltativi. (b/152439361)

Correzioni di bug

  • È stato corretto un NullPointerException in ActivityResultRegistry durante il tentativo di inviare risultati a un callback che non è stato ancora registrato nuovamente dopo una modifica della configurazione; ActivityResultRegistry ora conserva questi risultati in sospeso e li pubblica 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 vengono rilasciati. La versione 1.2.0-alpha02 contiene questi commit.

Nuove funzionalità

  • ActivityResultRegistry: ora ComponentActivity fornisce un ActivityResultRegistry che ti consente di gestire i flussi startActivityForResult()+onActivityResult() e requestPermissions()+onRequestPermissionsResult() senza eseguire l'override dei metodi nell'attività o nel frammento, offrendo una maggiore sicurezza dei tipi tramite ActivityResultContract e hook per testare questi flussi. Consulta la pagina 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 vengono rilasciati. La versione 1.2.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Aggiunto il supporto per l'API ViewTreeLifecycleOwner.get(View) aggiunta in Ciclo di vita 2.3.0-alpha01 in modo che restituisca l'attività come LifecycleOwner per qualsiasi vista aggiunta direttamente all'attività. (aosp/1182955)

Correzioni di bug

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

Versione 1.1.0

Versione 1.1.0

22 gennaio 2020

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

Modifiche importanti dalla versione 1.0.0

  • Integrazione di ViewModel SavingState del ciclo di vita: SavedStateViewModelFactory è ora la fabbrica 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 vengono rilasciati. La versione 1.1.0-rc03 contiene questi commit.

Modifiche delle dipendenze

  • L'attività ora dipende dal ciclo di vita 2.2.0-rc03 e dal modello di vita ViewModel SavingState 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 vengono rilasciati. La versione 1.1.0-rc02 contiene questi commit.

Modifiche delle 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 da 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 vengono rilasciati. La versione 1.1.0-beta01 contiene questi commit.

Modifiche delle dipendenze

  • L'attività ora dipende dalla versione stabile di SaveState 1.0.0.

Versione 1.1.0-alpha03

5 settembre 2019

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

Nuove funzionalità

  • L'attività ora dipende dalla stabilità del 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 vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

  • Ora SavedStateViewModelFactory è il valore di fabbrica predefinito utilizzato quando si usa by viewModels(), il costruttore ViewModelProvider o ViewModelProviders.of() con 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 vengono 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 a lifecycle-runtime-ktx; non è più necessario aggiungerla esplicitamente alle dipendenze quando si utilizzano activity-ktx o librerie che dipendono da activity-ktx (ad esempio 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 vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.

Funzionalità principali della versione 1.0.0

  • ComponenteActivity: 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 di proprietà Kotlin by viewModels per accedere a ViewModels. Questo modulo viene incluso automaticamente quando includi fragment-ktx dal Frammento 1.1.0.
  • OnBackPressedDispatcher: come alternativa componibile all'override di onBackPressed(), ora puoi registrare un OnBackPressedCallback da qualsiasi LifecycleOwner (ad esempio un frammento) per intercettare gli eventi del pulsante Indietro di sistema. Una funzione lambda con la versione del ricevitore addCallback è stata aggiunta a activity-ktx. Per ulteriori dettagli, consulta la documentazione personalizzata relativa alla navigazione a ritroso.
  • Ritiro onRetainCustomNonConfigurationInstance: le API onRetainCustomNonConfigurationInstance() e getLastCustomNonConfigurationInstance() correlate sono state deprecate. Ti consigliamo vivamente di utilizzare i modelli ViewModel per archiviare lo stato non di configurazione, poiché 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 finalmente 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 da 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 da 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 vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.

Modifiche alle API

  • Modifica di interruzione: i metodi addOnBackPressedCallback e removeOnBackPressedCallback precedentemente deprecati 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 dispone di costruttori pubblici che ti consentono di costruire le tue istanze per i test e così via. aosp/953431
  • onBackPressed() per ComponentActivity è ora esplicitamente contrassegnato come @MainThread aosp/952721

Correzioni di bug

  • È stato risolto un problema di 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 vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.

Modifiche alle API

Questa release apporta modifiche significative alla gestione di onBackPressed(). Per maggiori dettagli, consulta la documentazione aggiornata personalizzata.

  • I metodi per OnBackPressedCallback e OnBackPressedDispatcher sono stati contrassegnati come @MainThread. (aosp/943813)
  • Il metodo handleOnBackPressed() non restituisce più boolean. Ora OnBackPressedCallback è una classe astratta che può essere attivata o disattivata. Solo quando il nuovo metodo isEnabled() restituisce true, verrà chiamato handleOnBackPressed(), in cui devi gestire il pulsante Indietro. (aosp/944518)
  • I metodi addCallback di OnBackPressedDispatcher non restituiscono più un'istanza Cancellable. OnBackPressedCallback ora contiene un metodo remove() che soddisfa questa funzionalità, che ti consente di chiamare remove() durante handleOnBackPressed(). (aosp/944519) (aosp/946316)
  • activity-ktx ora contiene un callback con ambito destinatario per addCallback che accetta un codice lamdba che implementa handleOnBackPressed() e che 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 vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.

Modifiche alle API

  • ComponenteActivity ora contiene un secondo costruttore che prende un @LayoutRes int, che sostituisce il precedente comportamento di annotare la classe AppCompatActivity con @ContentView. Questo approccio funziona sia nei moduli delle app sia delle librerie. (b/128352521)
  • Le API correlate a OnBackPressedCallback su ComponentiActivity 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 elemento OnBackPressedCallback a un LifecycleOwner associato ora comporta l'aggiunta e la rimozione di OnBackPressedCallback rispettivamente quando il ciclo di vita viene avviato e arrestato. (aosp/922523)

Versione 1.0.0-alpha05

13 marzo 2019

Vengono rilasciate le versioni androidx.activity:activity:1.0.0-alpha05 e androidx.activity:activity-ktx:1.0.0-alpha05. L'elenco completo dei commit inclusi in questa release è disponibile qui.

Nuove funzionalità

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

Versione 1.0.0-alpha04

30 gennaio 2019

androidx.activity:activity 1.0.0-alpha04e androidx.activity:activity-ktx 1.0.0-alpha04 vengono rilasciate.

Nuove funzionalità

  • Aggiunto il supporto per l'annotazione della classe @ContentView, che consente di indicare quale file XML di layout deve essere aumentato in modo artificioso in alternativa all'uso di setContentView(). (aosp/837619)

Modifiche alle API

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 rilasciato.

Nuove funzionalità

  • ComponenteActivity ora implementa BundleSavedStateRegistryOwner e dipende dalla libreria SaveState appena rilasciata [aosp/815133]
  • ComponenteActivity ora risolve un bug del framework Android che potrebbe far trapelare l'ultima visualizzazione attiva [b/37122102]

Versione 1.0.0-alpha02

3 dicembre 2018

Modifiche alle API

Versione 1.0.0-alpha01

5 novembre 2018

androidx.activity 1.0.0-alpha01 introduce ComponentActivity, una nuova classe base degli attuali FragmentActivity e AppCompatActivity.

Nuove funzionalità

  • Ora puoi registrare un OnBackPressedCallback tramite addOnBackPressedCallback per ricevere onBackPressed() callback senza dover sostituire il metodo nella tua attività.
  • È stato aggiunto un nuovo delegato della proprietà Kotlin by viewModels() per il recupero di ViewModel da un ComponentActivity.
  • Gli eventi di input in attesa (come i clic) ora vengono annullati in onStop().

Modifiche alle API

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