Aggiornamento più recente | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
30 ottobre 2024 | 1.9.3 | - | - | 1.10.0-alpha03 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza all'attività, devi aggiungere il Repository Maven di Google al progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Alla moda
dependencies { def activity_version = "1.9.2" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.9.2" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se scopri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a stella.
Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.
Versione 1.10
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
vengono rilasciati. La versione 1.10.0-alpha03 contiene questi commit.
Modifiche all'API
- È stato aggiunto un nuovo elemento
LocalActivity
locale della composizione che fornisce ilActivity
per l'ambito corrente, eliminando la necessità per gli sviluppatori di ottenere unActivity
dalLocalContext
. È inoltre dotato di una nuova regola lint che controlla quandoLocalContext
viene trasmesso in modo errato a unActivity
. (I7746a, b/283009666)
Correzioni di bug
- Dall'attività
1.9.3
:PredictiveBackHandler
non attiverà più il suo callback dopo che il gestore è stato disattivato. In questo modo verrà risolto un problema per cuiNavHost
da Navigation Compose generava unIndexOutOfBoundsException
. (I3f75e, b/365027664, b/340202286)
Aggiornamento delle dipendenze
- La composizione delle attività ora dipende da Compose Runtime 1.7.0 (I7746a, b/283009666)
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
vengono rilasciati. La versione 1.10.0-alpha02 contiene questi commit.
Modifiche al comportamento
- I contratti ResultActivity
PickVisualMedia
ePickMultipleVisualMedia
che attivano il selettore di foto non delegheranno più direttamente a Google Play Services se il selettore di foto di sistema non è disponibile, ma utilizzeranno l'azione pubblicaACTION_SYSTEM_FALLBACK_PICK_IMAGES
e gli extra correlati per fornire un'esperienza coerente del selettore di foto agli OEM e alle app di sistema come alternativa. Ciò non dovrebbe influire sull'esperienza utente dei dispositivi con una versione recente di Google Play Services. (I3513d)
Correzioni di bug
- È stato rimosso il riepilogo manuale dell'accesso alle nuove API di piattaforma, poiché questo avviene automaticamente tramite la definizione del modello 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 clienti 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'APIPredictiveBackHandler
Activity Compose continuava a gestire il gesto Indietro del sistema sul frame in cui era disattivato. Di conseguenza, librerie come Scrittura di navigazione potrebbero essere gestite anche con uno stack vuoto, generando unIndexOutOfBoundsException
. (Ie3301, b/340202286) - Da Attività
1.9.1
: è stato risolto un problema conPredictiveBackHandler
per cui, dopo il ripristino del sistema, il tentativo di eseguireonBackPressed
daOnBackPressedDispatcher
non andava a buon fine. (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
vengono 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 di scegliere quale scheda (album o immagini) deve essere visibile 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
vengono rilasciati. La versione 1.9.3 contiene questi commit.
Correzioni di bug
PredictiveBackHandler
non attiverà più il suo callback dopo la disattivazione del gestore. In questo modo verrà risolto un problema per cuiNavHost
da Navigation Compose generava unIndexOutOfBoundsException
. (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
vengono rilasciati. La versione 1.9.2 contiene questi lthcocommits.
Correzioni di bug
- È stato risolto un problema per cui l'API Activity Compose
PredictiveBackHandler
continuava a gestire il gesto Indietro di sistema nel frame in cui era disabilitata, il che poteva comportare che librerie come Navigation Compose gestissero Indietro anche con una pila Indietro vuota, generando unIndexOutOfBoundsException
. (Ie3301, b/340202286)
Versione 1.9.1
24 luglio 2024
Vengono rilasciate le funzionalità androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
e androidx.activity:activity-ktx:1.9.1
. La versione 1.9.1 contiene questi commit.
Correzioni di bug
- Risolto un problema con
PredictiveBackHandler
per cui, dopo aver ripristinato il sistema, l'esecuzione dionBackPressed
daOnBackPressedDispatcher
non andava a buon fine. (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
vengono rilasciati. La versione 1.9.0 contiene questi commit.
Modifiche importanti dalla versione 1.8.0
ComponentActivity
ora implementaOnUserLeaveHintProvider
per consentire ai componenti di eseguire callback per gli eventionUserLeaveHint
.- Le API
OnBackPressedCallback
,BackHandler
ePredictiveBackHandler
ora avvisano quando viene chiamataonBackPressedDispatcher.onBackPressed()
durante la gestione del gesto Indietro, in quanto questo interrompe sempre l'animazione di Gesto Indietro predittivo. Per maggiori dettagli, consulta la guida alle best practice. - Il resto delle API Attività è stato riscritto in Kotlin e tutte le estensioni precedentemente disponibili in
activity-ktx
sono state spostate inactivity
.activity-ktx
è ora completamente vuoto.- Nell'ambito della conversione di
ActivityResultLauncher
in Kotlin, il metodogetContract
è ora una proprietà Kotlin astratta. Si tratta di una modifica compatibile con i binari, ma che comporta una rottura del codice sorgente se l'implementazione diActivityResultLauncher
è scritta in Kotlin.
- Nell'ambito della conversione di
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
- Ora l'attività dipende da Profile Installer 1.3.1.
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 del rendimento all'avvio dell'attività introdotta nell'attività
1.9.0-alpha02
causata dalla chiamata diOnBackPressedDispatcher
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
vengono rilasciati. La versione 1.9.0-alpha03 contiene questi commit.
Avviso lint
- Le API
OnBackPressedCallback
,BackHandler
ePredictiveBackHandler
ora avvisano quando viene chiamataonBackPressedDispatcher.onBackPressed()
durante la gestione del gesto Indietro, in quanto questo interrompe sempre l'animazione di Gesto Indietro predittivo. Per maggiori dettagli, consulta la guida alle best practice. (1e4222, 2c950d, b/287505200)
Correzioni di bug
- Se viene inviato un evento Indietro dal sistema avviato durante un Gesto Indietro predittivo già in esecuzione, il Gesto Indietro predittivo in esecuzione viene annullato e il nuovo evento Indietro prende il sopravvento per avviare un nuovo Gesto Indietro predittivo. (I3482e)
- È stato risolto l'arresto anomalo durante l'accesso a
onBackPressedDispatcher
da unComponentActivity
per la prima volta da un thread in background. Ora puoi accedere all'onBackPressedDispatcher
su qualsiasi thread. (I79955)
Versione 1.9.0-alpha02
24 gennaio 2024
Vengono rilasciate le funzionalità androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
e androidx.activity:activity-ktx:1.9.0-alpha02
. La versione 1.9.0-alpha02 contiene questi commit.
Conversioni di Kotlin
ActivityResultRegistry
è stato riscritto in Kotlin. In questo modo, i valori null dei valori generici del contratto inviato aregister
verranno trasmessi correttamente alActivityResultLauncher
restituito. (I121f0)ActivityResult
è stato riscritto in Kotlin. Le estensioni KotlinActivityResult
che supportano la scomposizione nei campiresultCode
edata
sono state spostate daactivity-ktx
aactivity
. (I0565a)- Le estensioni Kotlin di
by viewModels()
perComponentActivity
etrackPipAnimationHintView
sono state spostate daactivity-ktx
aactivity
. L'elementoactivity-ktx
è ora completamente vuoto. (I0a444)
Correzioni di bug
- L'API
enableEdgeToEdge
ora disegna intorno a eventuali ritagli del display. (a3644b, b/311173461) - In Attività
1.8.2
: è stato corretto l'extra trasmesso al contratto di attività del selettore di fotoACTION_SYSTEM_FALLBACK_PICK_IMAGES
per trasmettere correttamente la chiaveEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
, anziché utilizzare quella extra con la chiave"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Questa opzione è vivamente consigliata se sei un OEM e implementa un selettore di foto di riserva del sistema per supportare entrambi gli extra e garantire la massima compatibilità. (I96a00)
Versione 1.9.0-alpha01
29 novembre 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
e androidx.activity:activity-ktx:1.9.0-alpha01
. La versione 1.9.0-alpha01 contiene questi commit.
Nuove funzionalità
ComponentActivity
ora implementaOnUserLeaveHintProvider
per consentire ai componenti di eseguire callback per gli eventionUserLeaveHint
. (I54892)
Modifiche all'API
ComponentActivity
è stato riscritto in Kotlin. (I14f31)ActivityResultCaller
è stato riscritto in Kotlin. (Ib02e4)ActivityResultLauncher
è stato riscritto in Kotlin. Nell'ambito di questa conversione, il metodogetContract
è ora una proprietà Kotlin astratta. Si tratta di una modifica compatibile con i binari, ma che comporta una rottura del codice sorgente se l'implementazione diActivityResultLauncher
è scritta in Kotlin. (Id4615)PickVisualMediaRequest
ora ha lo stesso livello API minimo 19 del contrattoPickVisualMedia
Activity Result. (Id6e21)
Aggiornamento delle dipendenze
- L'attività ora dipende dai principali
1.13.0-alpha01
. (I14f31)
Versione 1.8
Versione 1.8.2
13 dicembre 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.8.2
, androidx.activity:activity-compose:1.8.2
e androidx.activity:activity-ktx:1.8.2
. La versione 1.8.2 contiene questi commit.
Correzioni di bug
- È stato corretto l'extra passato a
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
del contratto dell'attività del selettore di foto per passare correttamente la chiaveEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
, anziché utilizzare l'extra con la chiave"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Questa opzione è vivamente consigliata se sei un OEM e implementa un selettore di foto di riserva del sistema per supportare entrambi gli extra e garantire la massima compatibilità. (I96a00)
Versione 1.8.1
15 novembre 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
e androidx.activity:activity-ktx:1.8.1
. La versione 1.8.1 contiene questi commit.
Correzioni di bug
OnBackPressedDispatcher
ora continua a inviare alOnBackPressedCallback
corretto anche dopo l'aggiunta di un nuovoOnBackPressedCallback
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:
OnBackPressedCallback
ora offre nuovi callback Indietro predittivo per gestire l'avvio del gesto Indietro, l'avanzamento durante il gesto e l'annullamento del gesto Indietro, oltre al precedente callbackhandleOnBackPressed()
per il momento in cui il gesto Indietro viene eseguito. È inoltre disponibile il composablePredictiveBackHandler
per gestire gli eventi di gesto di ritorno predittivo in Composizione attività. Fornisce un flusso di oggetti BackEventCompat che devono essere raccolti nella lambda in 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. Ora gli sviluppatori devono utilizzare OnBackPressedDispatcher
anziché eseguire l'override di questo metodo.
- EdgeToEdge: è stato aggiunto
ComponentActivity.enableEdgeToEdge()
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
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 dei gesti Indietro. Fornisce unFlow
di oggettiBackEventCompat
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 } }
Include anche un avviso sul tempo di compilazione tramite una regola lint per garantire che
Flow
chiamicollect()
. (Id2773, b/294884345)onBackPressedDispatcher
inComponentActivity
è ora inizializzato in modo lento, in modo da essere creato solo quando richiesto. (I0bf8e)
Correzioni di bug
ComponentActivity
non mostrerà più un NPE su Android 13 quando riceve un callbackonBackPressed()
e l'attività è già stataDESTROYED
. (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 Indietro predittivo. (I3f90f)
Modifiche all'API
- Quando passi
SystemBarStyle.auto
all'APIenableEdgeToEdge
, ora puoi eseguire l'override del parametro lambdadetectDarkMode
per fornire una logica personalizzata per il rilevamento della modalità notturna. (aosp/2546393, b/278263793)
Versione 1.8.0-alpha05
7 giugno 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
e androidx.activity:activity-ktx:1.8.0-alpha05
. Questa versione è sviluppata in un ramo interno.
Modifiche all'API
- Ora Activity fornisce una classe
BackEventCompat
che funge da versione compatibile con le versioni precedenti diBackEvent
ed è disaccoppiata dalla classeBackEvent
del framework. - Modifica non compatibile: i metodi
handleOnBackStarted
ehandleOnBackProgressed
diOnBackPressedCallback
ora ricevono un'istanzaandroidx.activity.BackEventCompat
anziché una classeandroid.window.BackEvent
del framework. Sono state aggiornate anche le API@VisibleForTesting
equivalenti suOnBackPressedDispatcher
. - Il costruttore di
OnBackPressedDispatcher
ora accetta un'istanza facoltativa diConsumer<Boolean>
che consente ai proprietari dell'elaboratore di ricevere un callback ogni volta che il numero di callback abilitati passa da zero a un valore diverso da zero o viceversa.
Correzioni di bug
- Da Attività
1.7.2
: correzione dell'arresto anomalo diReportDrawn
quando esci da una schermata prima della chiamata direport
. (Ic46f1, b/260506820)
Versione 1.8.0-alpha04
10 maggio 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
e androidx.activity:activity-ktx:1.8.0-alpha04
. È stato rilasciato da un ramo interno.
Correzioni di bug
- Dalla versione 1.7.1: -
ReportFullyDrawExecuter
non perde più quando si utilizzaComponentActivity
conActivityScenario
. (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. È 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 all'API
ComponentActivity.onBackPressed()
è stato ritirato a favore delle API per la gestione del pulsante Indietro. Ora gli sviluppatori devono utilizzareOnBackPressedDispatcher
anziché eseguire l'override di questo metodo. (Ibce2f, b/271596918)ComponentDialog
eComponentActivity
ora contengono l'API pubblicainitViewTreeOwners()
da utilizzare per inizializzare tutti i proprietari degli alberi delle viste prima di impostare la visualizzazione dei contenuti. (Ibdce0, b/261314581)
Correzioni di bug
- Risolto un problema per cui i frammenti invalidavano in modo errato MenuHost e causavano un comportamento imprevisto di altri menu nell'attività. (I9404e, b/244336571)
Altre modifiche
ActivityResultRegister
ora utilizza KotlinRandom
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
- Da Attività
1.7.0-rc01
: ora l'attività dipende daLifecycle 2.6.0
.
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. È stato creato da un ramo interno.
Nuove funzionalità
- La classe
OnBackPressedCallback
ora contiene nuovi callback di avanzamento del gesto Indietro predittivo per gestire l'avvio del gesto Indietro, l'avanzamento durante il gesto e l'annullamento del gesto Indietro, oltre al precedente callbackhandleOnBackPressed()
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
vengono 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 direport
. (Ic46f1, b/260506820)
Versione 1.7.1
19 aprile 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
e androidx.activity:activity-ktx:1.7.1
. La versione 1.7.1 contiene questi commit.
Correzioni di bug
ReportFullyDrawExecuter
non genera più perdite quando utilizziComponentActivity
conActivityScenario
. (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 dell'attività di selettore di foto in
PickVisualMedia
ePickMultipleVisualMedia
sono stati aggiornati in modo da contenere un'opzione di riserva aggiuntiva per i casi in cuiMediaStore.ACTION_PICK_IMAGES
non è disponibile, che consente agli OEM e alle app di sistema, come Google Play Services, di fornire 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 utilizzerà questa opzione di riserva se è disponibile prima di passare all'utilizzo diIntent.ACTION_OPEN_DOCUMENT
, che continuerà a supportare tutti i dispositivi con API 19 e versioni successive. ComponentDialog
ora implementaSavedStateRegistryOwner
e ha accesso al proprioSavedStateRegistry
e impostaSavedStateRegistryOwner
per il proprioViewTree
. Ora è possibile utilizzare Jetpack Compose all'interno di unComponentDialog
in quanto soddisfa sia i requisiti diLifecycleOwner
che diSavedStateRegistryOwner
associati alla finestra tramite le APIViewTree
.IntentSenderRequest.Builder.setFlags()
ora ti consente di impostare più flag daIntent
, anziché un solo flag.
Conversione in 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 presentano modifiche incompatibili con il codice sorgente 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 > |
Anche questi corsi sono stati convertiti 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 temporizzazione e non devono essere chiamate nell'ambito di una chiamata onDraw
.
Queste API sono invitati ad abilitare:
- Segnale al runtime Android 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.
- Segnale Macrobenchmark e Play Vitals quando l'applicazione deve essere considerata completamente disegnata per le metriche di avvio, in modo da poter monitorare il rendimento.
Sono state aggiunte tre API Activity Compose per semplificare l'utilizzo di FullyDrawnReporter
dai singoli composabili:
ReportDrawn
indica che il componibile è immediatamente pronto per l'interazione.ReportDrawnWhen
richiede un predicato (ad es.list.count > 0
) per indicare quando il composable è pronto per l'interazione.ReportDrawnAfter
adotta un metodo di sospensione che, una volta completato, indica che puoi interagire.
Aggiornamenti delle dipendenze
- L'attività ora dipende dal ciclo di vita
2.6.1
. (8fc31d) - Ora l'attività dipende da ProfileInstaller
1.3.0
. (83d3b1)
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
- Ora l'attività dipende da
Lifecycle 2.6.0
.
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 all'API
- L'azione e gli extra utilizzati dai contratti
PickVisualMedia
ePickMultipleVisualMedia
come alternativa per i casi in cuiMediaStore.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 questo piano di riserva è ancora limitata alle 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 ti consente di impostare più flag daIntent
, anziché un solo flag. (Iac04c)
Correzioni di bug
- Il valore di riserva per
PickVisualMedia
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 il codice sorgente per le classi scritte in Kotlin: ora devi sostituire la proprietàactivityResultRegistry
anziché implementare la precedente funzionegetActivityResultRegistry()
. (I0b00e)OnBackPressedDispatcherOwner
ora è scritto in Kotlin. Si tratta di una modifica incompatibile con il codice sorgente per le classi scritte in Kotlin: ora devi sostituire la proprietàonBackPressedDispatcher
anziché implementare la precedente funzionegetOnBackPressedDispatcher
. (Ia277d)ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
eOnBackPressedDispatcher
ora sono scritti in Kotlin. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
Versione 1.7.0-alpha04
25 gennaio 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.7.0-alpha04
, androidx.activity:activity-compose:1.7.0-alpha04
e androidx.activity:activity-ktx:1.7.0-alpha04
. La versione 1.7.0-alpha04 contiene questi commit.
Nuove funzionalità
- I contratti relativi ai risultati delle attività di
PickVisualMedia
ePickMultipleVisualMedia
ora utilizzeranno un selettore di foto fornito da Google Play Services, ove disponibile nei casi in cui il sistema Android abbia fornito il selettore di foto (ad es.MediaStore.ACTION_PICK_IMAGES
) non è disponibile. L'APIisPhotoPickerAvailable()
che rileva solo il selettore di foto fornito dal sistema Android è stata ritirata. Ti consigliamo di utilizzare la nuova APIisPhotoPickerAvailable(Context)
, che restituirà se uno dei selettori di foto è disponibile. (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 implementaSavedStateRegistryOwner
e ha accesso al proprioSavedStateRegistry
e impostaSavedStateRegistryOwner
per il proprio ViewTree. Ora è possibile utilizzare Jetpack Compose all'interno di unComponentDialog
perché soddisfa sia i requisiti diLifecycleOwner
che diSavedStateRegistryOwner
associati alla finestra tramite le API ViewTree. (Idca17, I73468 b/261162296)
Modifiche alle API
- È stato aggiunto un composable
ReportDrawn
che contrassegna immediatamente l'attività come pronta per la chiamatareportFullyDrawn
. (Ic5b14, b/259687964)
Conversioni Kotlin
- Le classi
ActvitiyResultCallback
eOnBackPressedCallback
sono state entrambe convertite in Kotlin, mantenendo la compatibilità con i file sorgente e binari. (Ifc5e5, Ide1b0, b/257291701)
Versione 1.7.0-alpha02
24 ottobre 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.7.0-alpha02
, androidx.activity:activity-compose:1.7.0-alpha02
e androidx.activity:activity-ktx:1.7.0-alpha02
. La versione 1.7.0-alpha02 contiene questi commit.
Correzioni di bug
- Da Attività
1.6.1
: è stato risolto un problema relativo al mancato avvio del contrattoPickMultipleVisualMedia
Result Result sui dispositivi Android R quando si utilizza il valore predefinito permaxItems
. (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 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 temporizzazione e non devono essere chiamate nell'ambito di una chiamata onDraw
.
Queste API sono invitati ad abilitare:
- Segnale al runtime Android 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.
- Segnale Macrobenchmark e Play Vitals quando l'applicazione deve essere considerata completamente disegnata per le metriche di avvio, in modo da poter monitorare il rendimento.
Sono state aggiunte due API Activity Compose per semplificare l'utilizzo di FullyDrawnReporter
dai singoli composabili:
ReportDrawnWhen
richiede un predicato (ad es.list.count > 0
) per indicare quando il componibile è pronto per l'interazione.ReportDrawnAfter
accetta un metodo di sospensione che, al termine, indica che è tutto pronto per l'interazione.
Versione 1.6.1
Versione 1.6.1
24 ottobre 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
e androidx.activity:activity-ktx:1.6.1
. La versione 1.6.1 contiene questi commit.
Correzioni di bug
- È stato risolto un problema relativo al mancato avvio del contratto
PickMultipleVisualMedia
Result Result sui dispositivi Android R quando si utilizza il valore predefinito permaxItems
. (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
eActivityResultContracts.PickMultipleVisualMedia
per fornire un contratto compatibile con le versioni precedenti che utilizzaMediaStore.ACTION_PICK_IMAGES
quando il Selettore di foto è disponibile eIntent.ACTION_OPEN_DOCUMENT
quando non è disponibile. - Abbiamo integrato
OnBackInvokedCallback
in Android 13 inOnBackPressedDispatchers
fornito daComponentActivity
eComponentDialog
. Ciò garantisce che tutte le API basate suOnBackPressedDispatcher
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 ilOnBackInvokedCallback
con ilPRIORITY_DEFAULT
anziché conPRIORITY_OVERLAY
. (I3901f)- Le classi che estendono
ComponentActivity
ora avranno sempre inviati entrambi i relativi callbackonMultiWindowModeChanged()
. (Ic4d85) ActivityResultRegistry
non restituirà più un risultato aActivityResultCallback
quando la chiamatalaunch
genera unException
e il callback è stato registrato senza unLifecycleOwner
. (Ia7ff7, b/238350794)ComponentActivity
ora invierà correttamente le chiamate al menu senza dover chiamare la funzione super nella tua attività. (Ie33c5, b/238057118)
Aggiornamento delle dipendenze
- La libreria
Activity
ora dipende da Lifecycle2.5.1
. (If6697)
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
se utilizzi versioni dell'SDK precedenti alla 33. (Ic32e1) - I metodi che sostituiscono il callback
onPictureInPictureModeChanged()
diComponentActivity
ora avranno sempre i relativi 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
vengono rilasciati. La versione 1.6.0-beta01 contiene questi commit.
Modifiche alle API
- I metodi
startActivityForResult
estartIntentSenderForResult
deprecati inComponentActivity
sono stati contrassegnati con@NonNull
perché il passaggio dinull
ha sempre causato un arresto anomalo. (Id2a25, b/231476082)
Correzioni di bug
- Da Attività
1.5.1
:ActivityResultRegistry
non restituirà più un risultato aActivityResultCallback
quando la chiamatalaunch
genera unException
e il callback è stato registrato senza unLifecycleOwner
. (Ia7ff7, b/238350794) - Dall'attività
1.5.1
: oraComponentActivity
invierà correttamente le chiamate di menu aonPrepareOptionMenu()
,onCreateOptionsMenu()
eonOptionsItemSelected()
senza dover chiamare la super funzione. (Ie33c5, b/238057118)
Aggiornamento delle dipendenze
- Da Attività
1.5.1
: la libreriaActivity
ora dipende dalla versioneLifecycle
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 pre-release privato e non ha commit pubblici.
Modifiche alle API
minCompileSdk
ora è 33 per allinearsi all'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 conACTION_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
- È stato corretto un errore in
PickVisualMediaRequest
per cui il tentativo di creare una richiesta tramite il Builder o la funzione Kotlin di primo livello causava un overflow dello stack. - È stato integrato il
OnBackInvokedCallback
in Android 13 Dev Beta 2 nelOnBackPressedDispatcher
fornito daComponentDialog
. In questo modo, tutte le API basate suOnBackPressedDispatcher
funzionano quando attivi un gesto di ritorno 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 si compilerà solo a fronte dell'SDK beta 1 per gli sviluppatori Android 13.
Nuove funzionalità
- Sono stati aggiunti
ActivityResultContracts.PickVisualMedia
eActivityResultContracts.PickMultipleVisualMedia
per fornire un contratto compatibile con le versioni precedenti che utilizzaMediaStore.ACTION_PICK_IMAGES
quando il Selettore di foto è disponibile eIntent.ACTION_OPEN_DOCUMENT
quando non è disponibile. - È stato integrato il
OnBackInvokedCallback
in Android 13 Dev Beta 1 nelOnBackPressedDispatcher
fornito daComponentActivity
. In questo modo, tutte le API basate suOnBackPressedDispatcher
funzionano quando attivi un gesto di ritorno 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 nell'Anteprima per sviluppatori di Android 13 2 in
ComponentActivity
.
Versione 1.5.1
Versione 1.5.1
27 luglio 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
e androidx.activity:activity-ktx:1.5.1
. La versione 1.5.1 contiene questi commit.
Correzioni di bug
ActivityResultRegistry
non restituirà più un risultato aActivityResultCallback
quando la chiamatalaunch()
genera unException
e il callback è stato registrato senzaLifecycleOwner
. (Ia7ff7, b/238350794)Ora
ComponentActivity
invierà correttamente le chiamate di menu aonPrepareOptionMenu()
,onCreateOptionsMenu()
eonOptionsItemSelected()
override senza dover chiamare la super funzione. (Ie33c5, b/238057118)
Aggiornamento delle dipendenze
- La libreria
Activity
ora dipende dal ciclo di vita2.5.1
. (If6697)
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
- ComponentDialog:
ComponentDialog
è una sottoclasse diDialog
che include unOnBackPressedDispatcher
che verrà chiamato quando viene premuto il pulsante Indietro del sistema e la finestra di dialogo è visibile. È importante sottolineare che questa sottoclasse imposta ancheViewTreeOnBackPressedDispatcherOwner
, consentendo alle visualizzazioni un modo generico per recuperare il gestore corretto, indipendentemente dal fatto che esista in unComponentActivity
o in unComponentDialog
. - Interfacce di callback:
ComponentActivity
ora implementa una serie di interfacce di callback modulari che possono essere utilizzate al posto dei callbackActivity
. Sono incluse le seguenti interfacce:OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
- Integrazione di CreationExtras:
ComponentActivity
ora è in grado di fornire unViewModelProvider.Factory
senza stato tramiteCreationExtras
di Lifecycle2.5.0
.
Altre modifiche
- Il costruttore senza parametri per
ActivityResultContracts.CreateDocument
è stato ritirato e sostituito con un nuovo costruttore che accetta un tipo MIME specifico (ad es. "image/png") come richiesto daIntent.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
vengono rilasciati. La versione 1.5.0-beta01 contiene questi commit.
Aggiornamenti delle dipendenze
- Ora l'attività dipende dal ciclo di vita
2.4.0-beta01
.
Versione 1.5.0-alpha05
6 aprile 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
e androidx.activity:activity-ktx:1.5.0-alpha05
. La versione 1.5.0-alpha05 contiene questi commit.
Correzioni di bug
- Ora
onPanelClosed()
diComponentActivity
chiama ancheonPanelClosed()
di super, risolvendo un problema per cui il metodoonContextMenuClosed
non veniva chiamato. (Ib6f77)
Versione 1.5.0-alpha04
23 marzo 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.5.0-alpha04
, androidx.activity:activity-compose:1.5.0-alpha04
e androidx.activity:activity-ktx:1.5.0-alpha04
. La versione 1.5.0-alpha04 contiene questi commit.
Correzioni di bug
SavedStateViewFactory
ora supporta l'utilizzo diCreationExtras
anche se è stato inizializzato con unSavedStateRegistryOwner
. 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 all'API
- Ora puoi passare
CreationExtras
alla funzioneby 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'interfacciaOnPictureInPictureModeChangedProvider
per consentire a qualsiasi componente di ricevere eventi di modifica della modalità Picture in picture. (I9f567)ComponentActivity
ora implementa l'interfacciaOnMultiWindowModeChangedProvider
per consentire a qualsiasi componente di ricevere eventi di modifica della modalità a più finestre. (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 ViewModel CreationExtras, introdotto come parte di Lifecycle2.5.0-alpha01
. (Ie7e00, b/207012584)- È stato aggiunto
ComponentDialog
, una sottoclasse diDialog
che include unOnBackPressedDispatcher
che verrà chiamato quando viene premuto il pulsante Indietro del sistema quando la finestra di dialogo è visibile. È importante sottolineare che questo sottotipo imposta ancheViewTreeOnBackPressedDispatcherOwner
, offrendo alle visualizzazioni un modo generico per recuperare il gestore corretto, indipendentemente dal fatto che esista in unComponentActivity
o in unComponentDialog
. (I8a1bc) ComponentActivity
ora implementa la nuova interfaccia diOnNewIntentProvider
per consentire a qualsiasi componente di ricevere questi eventi. (If1f8b).ComponentActivity
ora implementa la nuova interfaceOnConfigurationChangedProvider
per consentire a qualsiasi componente di ricevere questi eventi. (If623b)ComponentActivity
ora implementa la nuova interfaceOnTrimMemoryProvider
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 specifico (ad es."image/png"
) come richiesto daIntent.ACTION_CREATE_DOCUMENT
. (I2bec6) - Ora il
OnBackPressedDispatcherOwner
associato a una vista può essere recuperato tramite ilViewTreeOnBackPressedDispatcherOwner
, anziché tramite ilContext
. (I74685)
Correzioni di bug
- È stato corretto un arresto anomalo durante l'accesso a un
ViewModel
per la prima volta da un callbackregisterForActivityResult()
o dai callback a unLifecycleObserver
aggiunto nell'ambito diinit
di unComponentActivity
. (Ife83f)
Versione 1.4.0
Versione 1.4.0
27 ottobre 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
e androidx.activity:activity-ktx:1.4.0
. La versione 1.4.0 contiene questi commit.
Modifiche importanti dalla versione 1.3.0
- Ora AndroidX
ComponentActivity
implementa l'interfacciaMenuHost
. In questo modo, qualsiasi componente può aggiungere voci di menu aActionBar
aggiungendo un'istanza diMenuProvider
all'attività. Facoltativamente, ogniMenuProvider
può essere aggiunto con unLifecycle
che controllerà automaticamente la visibilità di queste voci di menu in base allo statoLifecycle
e gestirà la rimozione diMenuProvider
quando ilLifecycle
viene eliminato. - La classe
ActivityResultContract
è stata riscritta in Kotlin per garantire che gli sviluppatori che scrivono contratti personalizzati in Kotlin possano definire la nullabilità corretta per le classi di input e output. - La classe
ActivityResultContracts
e i relativi contratti sono stati riscritti in Kotlin per garantire la nullabilità corretta.
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 aActivityResultCallback
quando la chiamatalaunch
genera unException
. (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 all'API
- È stato corretto il tipo per
ActivityResultContracts.OpenMultipleDocuments
eActivityResultContracts.GetMultipleContents
che ha poi causato l'utilizzo di un tipo di outputList<? extends Uri>
quando si utilizza il codice del linguaggio di programmazione Java. (If71de) - Le costanti pubbliche all'interno delle classi
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
eActivityResultContracts.RequestMultiplePermissions
sono ora accessibili quando si utilizza Kotlin tramite gli oggettiCompanion
ora pubblici. (aosp/1832555)
Aggiornamenti della documentazione
- Il messaggio di ritiro per le API ora gestite dalle API di risultati delle attività, ovvero
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
eonRequestPermissionsResult
, è stato ampliato con ulteriori dettagli. (cce80f)
Versione 1.4.0-alpha02
15 settembre 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
e androidx.activity:activity-ktx:1.4.0-alpha02
. La versione 1.4.0-alpha02 contiene questi commit.
Nuove funzionalità
- L'elemento
activity-compose
ora contiene un errore di lintLaunchDuringComposition
che impedisce di chiamare il metodolaunch
diActivityResultLauncher
nell'ambito 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 nullabilità corretta per le classi di input e output. (I8a8f5) - La classe
ActivityResultContracts
e i relativi contratti sono stati riscritti in Kotlin per garantire che i valori null siano corretti. (I69802)
Versione 1.4.0-alpha01
1° settembre 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.4.0-alpha01
, androidx.activity:activity-compose:1.4.0-alpha01
e androidx.activity:activity-ktx:1.4.0-alpha01
. La versione 1.4.0-alpha01 contiene questi commit.
Nuove funzionalità
- AndroidX
ComponentActivity
ora implementa l'interfacciaMenuHost
. In questo modo qualsiasi componente può aggiungere voci di menu aActionBar
aggiungendo un'istanzaMenuProvider
all'attività. Se vuoi, a ogniMenuProvider
puoi aggiungere unLifecycle
che controllerà automaticamente la visibilità di questi elementi del menu in base allo stato diLifecycle
e gestirà la rimozione diMenuProvider
quandoLifecycle
viene distrutto. (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
- Ora
ActivityResultRegistry
genera unIllegalStateException
quando tenta di chiamarelaunch()
su unActivityResultLauncher
che non è stato registrato o di cui è stata annullata la registrazione. (Ida75d, b/192567522)
Contributo esterno
- Grazie a dmitrilc per aver corretto un errore ortografico 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
vengono rilasciati. La versione 1.3.1 contiene questi commit.
Aggiornamenti delle dipendenze
- Ora l'attività dipende da Kotlin
1.5.21
. - La funzionalità Scrittura di attività ora dipende da Scrittura
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
- Elemento Compose dell'attività: l'elemento
activity-compose
fornisce il metodo di estensionesetContent
per ospitare l'interfaccia utente di Jetpack Compose in un'attività e wrapper specifici di Compose per interagire con le APIComponentActivity
per la gestione del pulsante Indietro di sistema e le API di risultato dell'attività. Per ulteriori dettagli, consulta la documentazione. - Contratto CaptureVideo:
CaptureVideo
ActivityResultContract
sostituisce il contrattoTakeVideo
ora deprecato e restituisce un valore booleano che indica il successo e funziona in molte app di fotocamera. - Monitoraggio delle visualizzazioni suggerimenti Picture in picture: gli utenti di
activity-ktx
ora possono utilizzare il metodo di estensionetrackPipAnimationHintView
suActivity
per ricreare automaticamentePictureInPictureParams
con la nuova posizione della vista, man mano che cambia posizione rispetto alla finestra.
Versione 1.3.0-rc02
14 luglio 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
e androidx.activity:activity-ktx:1.3.0-rc02
. La versione 1.3.0-rc02 contiene questi commit.
Correzioni di bug
- I callback
ActivityResultRegistry
ora vengono salvati e ripristinati correttamente, quindi non vengono 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 rilasciate senza modifiche dal giorno 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.
activity-compose
è stato aggiornato in modo da dipendere da 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()
deprecato in precedenza è stato rimosso. UtilizzarememberLauncherForActivityResult()
. (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 valore booleano aActivityResultCallback
che indica se il video è stato salvato correttamente nell'URI specificato. Questo sostituisce il contrattoTakeVideo
ora deprecato, poiché le app della fotocamera supportavano molto raramente il ritorno di una miniatura bitmap, rendendo il risultato non utile. (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 all'API
- La funzione
rememberLauncherForActivityResult
ora restituisce un'Avvio app che ritira la funzioneunregister()
: la registrazione e l'annullamento della registrazione dell'Avvio app vengono gestite automaticamente darememberLauncherForActivityResult
. (I2443e)
Compatibilità di Componi
androidx.activity:activity-compose:1.3.0-alpha08
è compatibile solo con Compose versione1.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
vengono rilasciati. La versione 1.3.0-alpha07 contiene questi commit.
Correzioni di bug
- Ora
rememberLauncherForActivityResult
restituisce un riferimento stabile alla stessaActivityResultLauncher
istanza anche se il contratto cambia a causa di ricostruzioni. (Id2d6d) - L'utilizzo di versioni instabili di Fragments superiori a
1.3.0
non genererà più un errore di lint falso positivo che ti chiede di utilizzare1.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 rinominatarememberLauncherForActivityResult()
per indicare meglio che il valoreActivityResultLauncher
restituito è un oggetto gestito che viene memorizzato per tuo conto. Il tentativo di chiamareunregister
ilActivityResultLauncher
restituito ora genera un errore. (I2bb6d) LocalOnBackPressedDispatcherOwner.current
eLocalActivityResultRegistryOwner.current
ora restituiscono un valore nullable per determinare meglio se è disponibile nella composizione corrente. Le API che richiedono queste API, comeBackHandler
erememberLauncherForActivityResult()
, ora genereranno un errore più descrittivo se non viene trovato il proprietario sottostante.NavHost
ora funziona anche quando non viene trovato unOnBackPressedDispatcherOwner
, ad esempio durante l'anteprima delNavHost
. (I7d8b4)
Correzioni di bug
- Ora
BackHandler
intercetta correttamente le pressioni del tasto Indietro nel caso in cui l'attività siaSTOPPED
, poi di nuovoSTARTED
e altri callback sono stati aggiunti con un LifecycleOwner. (I71de6, b/182284739) - L'utilizzo dell'estensione del metodo
launch()
con un personalizzatoActivityResultContract
che ha un inputUnit
non causerà più unNullPointerException
(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
- Da Attività 1.2.2: è stato corretto un problema nel controllo lint
InvalidFragmentVersionForActivityResult
che ha generato un falso positivo quando si utilizza Fragment 1.3.1 o versioni successive. (I54da1, b/182388985) - Da Attività 1.2.2:
ComponentActivity
ora evita unClassNotFoundException
quando viene lanciato unIntent
da unActivityResultContract
che in precedenza era tenuto come extra in un altroIntent
. (Ieff05, b/182906230)
Aggiornamenti delle dipendenze
- Da Attività 1.2.2: l'attività ora dipende dal ciclo di vita
2.3.1
.
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
:RequestMultiplePermissions
ora restituisce sempre risultati per tutte le autorizzazioni richieste anziché solo per quelle che non sono state concesse in precedenza. (I50bc3, b/180884668) - In Attività
1.2.1
:ActivityResultRegistry
ora garantisce che le richiestelaunch()
in corso restituiscano i risultati anche seunregister()
e poiregister()
di nuovo con la stessa chiave. (I9ef34, b/181267562) - Activity Compose non aggiunge più le dipendenze di test al percorso di classe del runtime. (Ifd8b3)
- È stato risolto un problema con
BackHandler
per cui la lambdaonBack
impostata in precedenza veniva ancora utilizzata dopo la ricostituzione. (8eb5eb)
Versione 1.3.0-alpha03
24 febbraio 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
e androidx.activity:activity-ktx:1.3.0-alpha03
. La versione 1.3.0-alpha03 contiene questi commit.
Nuove funzionalità
- Ora è disponibile una funzione
registerForActivityResult
componibile per ottenere risultati dalle attività all'interno dei composabili. (Ia7851, b/172690553)
Modifiche all'API
LocalOnBackPressedDispatcherOwner
ora dispone di funzioniprovides
che possono essere utilizzate conCompositionLocalProvider
, sostituendo l'APIasProvidableCompositionLocal()
. (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 in Scrittura attività
1.3.0-alpha01
che causa un'eccezioneNoSuchMethodError: No static method setContent
quando si utilizza Scrittura1.0.0-alpha12
. Tutti gli utenti di Scrivi devono utilizzare1.3.0-alpha02
e versioni successive. (b/179911234)
Modifiche all'API
- L'API
BackHandler
può essere utilizzata per consentire a un componente 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 helper specifici di Jetpack Compose per APIandroidx.activity
specifiche.ComponentActivity.setContent
è stato spostato daandroidx.compose.ui.platform.setContent
aandroidx.activity.compose.setContent
. (Icf416)
Problemi noti
- L'utilizzo di Activity Compose
1.3.0-alpha01
e delle librerie che dipendono da questa, comeandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12
, comporterà un'eccezioneNoSuchMethodError: 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 di ActivityResultRegistry ora vengono salvati e ripristinati correttamente, quindi non vengono 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 di metodo
launch()
con un elementoActivityResultContract
personalizzato che ha un inputUnit
non causerà più un erroreNullPointerException
(I76282, b/183837954) - È stato corretto un falso positivo dell'errore di lint che ti chiede di utilizzare il frammento
1.3.0
quando utilizzi 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
Vengono rilasciate le versioni androidx.activity:activity:1.2.2
e androidx.activity:activity-ktx:1.2.2
. La versione 1.2.2 contiene questi commit.
Correzioni di bug
- È stato risolto un problema nel controllo del lint di
InvalidFragmentVersionForActivityResult
che generava un falso positivo quando veniva utilizzato il frammento 1.3.1 o versioni successive. (I54da1, b/182388985) ComponentActivity
ora evita unClassNotFoundException
quando viene lanciato unIntent
da unActivityResultContract
che in precedenza era presente come extra in un altroIntent
. (Ieff05, b/182906230)
Aggiornamenti delle dipendenze
- L'attività ora dipende dal ciclo di vita
2.3.1
.
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
RequestMultiplePermissions
ora restituisce sempre risultati per tutte le autorizzazioni richieste, anziché solo per quelle che non sono state concesse in precedenza. (I50bc3, b/180884668)ActivityResultRegistry
ora garantisce che le richiestelaunch()
in corso restituiscano i risultati anche seunregister()
, quindiregister()
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.
Modifiche principali dalla versione 1.1.0
- API Result di Attività:
ComponentActivity
ora fornisce unActivityResultRegistry
che ti consente di gestire i flussistartActivityForResult()
+onActivityResult()
erequestPermissions()
+onRequestPermissionsResult()
senza eseguire l'override dei metodi nell'attività o nel frammento, offre una maggiore sicurezza di tipo tramiteActivityResultContract
e fornisce hook per testare questi flussi. Consulta la sezione Come ottenere un risultato da un'attività aggiornata.
ContextAware
:ComponentActivity
ora implementaContextAware
, consentendoti di aggiungere una o più istanze diOnContextAvailableListener
che riceveranno un callback prima diActivity.onCreate()
di base.- Un'estensione Kotlin con sospensione
withContextAvailable()
ti consente di eseguire un blocco senza 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 delFragmentManager
. Eventuali listener aggiunti alle sottoclassi diFragmentActivity
verranno eseguiti dopo questo listener. - Questa API viene utilizzata da
AppCompatActivity
in AppCompat 1.3.0-alpha02 o versioni successive. Eventuali listener aggiunti alle sottoclassi diAppCompatActivity
verranno eseguiti dopo questo listener.
- Un'estensione Kotlin con sospensione
Supporto di
ViewTree
:ComponentActivity
ora supporta le APIViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
eViewTreeSavedStateRegistryOwner
aggiunte in Lifecycle2.3.0
e SavedState1.1.0
in modo da restituire l'attività comeLifecycleOwner
,ViewModelStoreOwner
eSavedStateRegistryOwner
per tutte le visualizzazioni aggiunte direttamente aComponentActivity
.
- Backport di reportFullyDrawn(): il metodo
Activity
direportFullyDrawn()
è stato sottoposto a backport inComponentActivity
per funzionare su tutti i livelli API, correggendo un arresto anomalo nell'API 19 e aggiungendo il monitoraggio 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
- Ora
ActivityResultRegistry
ripristina sempre lo stato esatto che è stato salvato. (Idd56b) - Aggiungi il monitoraggio a
ComponentActivity.reportFullyDrawn
(Ic7632)
Contributo esterno
ComponentActivity
ora sostituiscereportFullyDrawn()
, consentendo la sua chiamata su tutti i livelli API e correggendo un arresto anomalo durante la chiamata di 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
vengono 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 arrivi a
STARTED
prima di fornire i risultati quando viene registrata con unLifecycle
. (I109ea)
Contributo esterno
- È stata aggiornata la documentazione relativa a
launch()
per far notare esplicitamente che può generare unActivityNotFoundException
. 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
Ora
ActivityResultRegistry
genera numeri interi in modo casuale finché non ne trova uno non allocato da utilizzare come codice richiestaregister()
, impedendo così l'eventuale overflow di numeri interi causato dall'incremento dei codici richiesta. (b/168779518)Gli osservatori
Lifecycle
vengono rimossi correttamente quando viene chiamata la funzioneunregister()
su unActivityResultLauncher
. (b/165608393)
Modifiche al comportamento
ActivityResultRegistry
ora genera unIllegalStateException
quando si tenta di chiamareregister()
con unLifecycleOwner
il cuiLifecycle
ha già raggiuntoSTARTED
. (b/165435866)
Documentazione aggiornata
- La documentazione di
ContextAware
rimanda aLifecycleOwner
per evidenziare i callbackLifecycle
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 implementaContextAware
, consentendoti di aggiungere una o più istanzeOnContextAvailableListener
che riceveranno un callback prima della baseActivity.onCreate()
. (b/161390636)- Un'estensione Kotlin con sospensione
withContextAvailable()
ti consente di eseguire un blocco senza sospensione 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 diFragmentManager
. Eventuali listener aggiunti alle sottoclassi diFragmentActivity
verranno eseguiti dopo questo listener. (I513da) - Questa API viene utilizzata da
AppCompatActivity
in AppCompat 1.3.0-alpha02. Eventuali listener aggiunti alle sottoclassi diAppCompatActivity
verranno eseguiti dopo questo listener. (I513da)
- Un'estensione Kotlin con sospensione
Correzioni di bug
- È stato risolto un problema con il controllo Lint
ActivityResultFragmentVersionDetector
che causava un arresto anomalo quando si utilizzava 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
che verifica che tu stia utilizzando Fragment1.3.0-alpha07
quando utilizzi l'API Activity Result, evitando arresti anomali in fase di esecuzione dovuti a problemi di "codice richiesta non valido" e richieste di autorizzazione non funzionanti causati dall'utilizzo di versioni precedenti di Fragment. (b/152554847)
Contributo esterno
- È stato corretto un
ArrayIndexOutOfBoundsException
durante l'analisi dei risultati per il contrattoRequestPermission
ActivityResult. (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 arequestCode
eintent
. (b/157212935) ActivityResultLauncher
ora ti consente di recuperare ilActivityResultContract
utilizzato per registrare Avvio app. (b/156875743)
Modifiche all'API
- Modifica che provoca un errore: il metodo
invoke()
suActivityResultRegistry
è stato rinominato inonLaunch()
. (b/157496491) - Il contratto
OpenMultipleDocuments
ora restituisce un elenco vuoto al callback registrato anzichénull
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
vengono rilasciati. La versione 1.2.0-alpha05 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto per
ViewTreeViewModelStoreOwner
da Lifecycle2.3.0-alpha03
eViewTreeSavedStateRegistryOwner
da SavedState1.1.0-alpha01
quando si utilizza unView
all'interno di unComponentActivity
. (aosp/1297993, aosp/1300264)
Modifiche all'API
- Il contratto
TakePicture
ora restituisce unboolean
che indica il successo anziché una miniaturaBitmap
, poiché questa operazione era supportata molto raramente dalle app della fotocamera durante la scrittura dell'immagine nelUri
fornito. (b/154302879) - Le estensioni
invoke()
suActivityResultLauncher
sono state rimosse a favore dell'utilizzo esplicito dilaunch()
per indicare meglio che si tratta di operazioni asincrone. Le estensioni Kotlin perlaunch
sono state aggiunte al pacchettoandroidx.activity.result
perActivityResultLauncher<Void>
eActivityResultLauncher<Unit>
in modo da non dover trasferire rispettivamentenull
oUnit
, eseguendo il mirroring di questo comportamento dalle estensioniinvoke()
precedenti. (aosp/1304674, aosp/1304675) - I metodi
IntentSenderRequest.Builder
persetFlagsMask()
esetFlagsValues()
sono stati combinati in un singolo metodosetFlags()
. (aosp/1302111)
Correzioni di bug
- Durante la registrazione di un
ActivityResultCallback
con unLifecycleOwner
, è stato risolto un problema per cui il callback veniva attivato prima che lo stato raggiungesseSTARTED
. (aosp/1309744)
Cambiamenti del comportamento
ActivityResultRegistry
ora genera codici di richiesta a partire da0xFFFF
anziché da0
, evitando così sovrapposizioni quando si utilizzanostartActivityForResult()
orequestPermissions()
in un'attività. (aosp/1302324)
Versione 1.2.0-alpha04
29 aprile 2020
Vengono rilasciate le versioni androidx.activity:activity:1.2.0-alpha04
e androidx.activity:activity-ktx:1.2.0-alpha04
. 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 all'API
- Il metodo
prepareCall()
è stato rinominato inregisterForActivityResult()
, sia inComponentActivity
qui che nel Frammento1.3.0-alpha04
. (aosp/1278717) - I contratti
GetContents
,OpenDocuments
eRequestPermissions
sono stati rinominati rispettivamente inGetMultipleContents
,OpenMultipleDocuments
eRequestMultiplePermissions
. (aosp/1280161) ComponentActivity
ora implementa l'interfacciaActivityResultRegisteryOwner
. (aosp/1290888)- - Le API
startActivityForResult()
/onActivityResult()
eonRequestPermissionsResult()
suComponentActivity
sono state deprecate. Utilizza le API di risultati attività. (b/154751887)
Correzioni di bug
- Quando utilizzi i contratti
GetMultipleContents
eOpenMultipleDocuments
e selezioni un singolo elemento, ora viene restituito correttamente al tuo 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
eCreateDocument
all'insieme di contratti predefiniti forniti daActivityResultContracts
. (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 all'API
- Il contratto
TakePicture
ora accetta un inputUri
per la posizione in cui deve essere archiviata l'immagine. Il contratto precedente che non richiede alcun input è stato rinominato inTakePicturePreview
. (aosp/1262482) - Il metodo
registerActivityResultCallback()
inActivityResultRegistry
è stato rinominato inregister()
. (aosp/1267621) - Il metodo
dispose()
suActivityResultLauncher
è stato rinominato inunregister()
e il metodounregisterResultCallback()
suActivityResultRegistry
è stato rimosso. (aosp/1267621) - Il metodo
createIntent()
diActivityResultContact
ora accetta unContext
oltre all'input per consentire la creazione di intent espliciti. (aosp/1238800) - Un
ActivityResultContract
ora può eseguire l'override digetSynchronousResult()
per ottenere un risultato senza chiamarestartActivityForResult
. Viene utilizzato dai contrattiRequestPermission
eRequestPermissions
per fornire correttamente uno stato "Concesso" se le autorizzazioni richieste sono già state concesse. (b/151110799) - Il contratto
Dial
disponibile in precedenza è stato rimosso perchéIntent
non è destinato all'uso constartActivityForResult()
. (aosp/1266916) - Molte API di risultati attività non destinate a essere estese ora sono
final
. Sono inclusigetActivityResultRegistry()
, i metodiprepareCall()
, tutti i metodi diActivityResultRegistry
tranneinvoke()
e alcuni dei contratti predefiniti che non supportano gli extra facoltativi. (b/152439361)
Correzioni di bug
- È stato corretto un problema relativo a
NullPointerException
inActivityResultRegistry
quando si tenta di inviare risultati a un callback che non è ancora stato registrato di nuovo dopo una modifica della configurazione. OraActivityResultRegistry
conserva questi risultati in attesa e li invia quando il callback viene registrato di nuovo. (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:
ComponentActivity
ora fornisce unActivityResultRegistry
che ti consente di gestire i flussistartActivityForResult()
+onActivityResult()
erequestPermissions()
+onRequestPermissionsResult()
senza eseguire l'override dei metodi nell'attività o nel frammento, offre una maggiore sicurezza di tipo tramiteActivityResultContract
e fornisce hook per testare questi flussi. Consulta l'articolo aggiornato 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à
- È stato aggiunto il supporto per l'API
ViewTreeLifecycleOwner.get(View)
aggiunta in Lifecycle2.3.0-alpha01
in modo che restituisca l'attività comeLifecycleOwner
per tutte le visualizzazioni aggiunte direttamente all'attività. (aosp/1182955)
Correzioni di bug
- È stata corretta una regressione introdotta nell'attività
1.1.0
quando viene eseguita su versioni precedenti della piattaforma, in cuionBackPressed()
causava unIllegalStateException
a causa di un bug inandroid.app.FragmentManager
. (b/146290338)
Versione 1.1.0
Versione 1.1.0
22 gennaio 2020
Viene rilasciato androidx.activity:activity:1.1.0
. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Integrazione di SavedState con ViewModel del ciclo di vita:
SavedStateViewModelFactory
è ora la factory predefinita utilizzata quando si utilizzaby viewModels()
, il costruttoreViewModelProvider
oViewModelProviders.of()
con unComponentActivity
o i suoi 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 alle dipendenze
- L'attività ora dipende da Lifecycle
2.2.0-rc03
e Lifecycle ViewModel SavedState1.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 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
vengono 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
Vengono rilasciate le versioni androidx.activity:activity:1.1.0-alpha03
e androidx.activity:activity-ktx:1.1.0-alpha03
. 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
- Ora l'attività dipende dal ciclo di vita
2.2.0-alpha04
.
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à
SavedStateViewModelFactory
è ora il valore di fabbrica predefinito utilizzato quando si utilizzaby viewModels()
, il costruttoreViewModelProvider
oppureViewModelProviders.of()
con unComponentActivity
(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 vita2.2.0-alpha02
. (aosp/1007817)activity-ktx
ha aggiunto una dipendenza dalifecycle-runtime-ktx
; non è più necessario aggiungerla esplicitamente alle dipendenze quando utilizziactivity-ktx
o librerie che dipendono daactivity-ktx
(ad esempiofragment-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 di 1.0.0
- ComponentActivity:
ComponentActivity
funge da nuova classe di base perFragmentActivity
in Fragment1.1.0
e, per estensione, perAppCompatActivity
in AppCompat1.1.0
. - activity-ktx: il modulo
activity-ktx
include un'estensione della proprietà Kotlinby viewModels
per accedere ai ViewModel. Questo modulo viene incluso automaticamente quando includifragment-ktx
dal Frammento1.1.0
. - OnBackPressedDispatcher: come alternativa composable all'override di
onBackPressed()
, ora puoi registrare unOnBackPressedCallback
da qualsiasiLifecycleOwner
(ad esempio un frammento) per intercettare gli eventi del pulsante Indietro di sistema. Aactivity-ktx
è stato aggiunto un lambda con la versione del destinatarioaddCallback
. Per ulteriori dettagli, consulta la documentazione su come fornire la documentazione di navigazione a ritroso personalizzata. - Ritiro di onRetainCustomNonConfigurationInstance: le API
onRetainCustomNonConfigurationInstance()
egetLastCustomNonConfigurationInstance()
correlate sono state ritirate. Ti consigliamo vivamente di utilizzare i ViewModel per memorizzare lo stato non di configurazione, in quanto offrono una soluzione componibile adatta a qualsiasiViewModelStoreOwner
che chiarisce la proprietà degli oggetti mantenuti e fornisce un callbackonCleared()
per la pulizia delle risorse al termine dell'eliminazione dell'attività.
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 rilasciate senza modifiche a partire dal giorno 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 rilasciate senza modifiche a partire dal giorno 1.0.0-alpha08
. I commit inclusi in questa versione sono disponibili qui.
Versione 1.0.0-alpha08
7 maggio 2019
Vengono rilasciate le versioni androidx.activity:activity:1.0.0-alpha08
e androidx.activity:activity-ktx:1.0.0-alpha08
. I commit inclusi in questa versione sono disponibili qui.
Modifiche all'API
- Modifica che comporta una interruzione: i metodi
addOnBackPressedCallback
eremoveOnBackPressedCallback
deprecati in precedenza inComponentActivity
sono stati rimossi. aosp/953857 - I metodi
setEnabled()
eisEnabled()
diOnBackPressedCallback
sono ora definitivi. b/131416833 - Il metodo
remove()
diOnBackPressedCallback
è ora definitivo. aosp/952720 OnBackPressedDispatcher
ora dispone di costruttori pubblici, che ti consentono di creare le tue istanze per i test e così via. aosp/953431onBackPressed()
perComponentActivity
è ora contrassegnato esplicitamente come@MainThread
aosp/952721
Correzioni di bug
- È stato corretto un
ConcurrentModificationException
durante la chiamata aremove()
dall'interno del metodohandleOnBackPressed()
di unOnBackPressedCalback
aggiunto con unLifecycleOwner
. 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 ulteriori dettagli, consulta la documentazione aggiornata relativa al back personalizzato.
- I metodi per
OnBackPressedCallback
eOnBackPressedDispatcher
sono stati contrassegnati come@MainThread
. (aosp/943813) - Il metodo
handleOnBackPressed()
non restituisce piùboolean
. OraOnBackPressedCallback
è una classe astratta che può essere attivata o disattivata.handleOnBackPressed()
verrà chiamato solo quando il nuovo metodoisEnabled()
restituirà true, nel qual caso devi gestire il pulsante Indietro. (aosp/944518) - I metodi
addCallback
diOnBackPressedDispatcher
non restituiscono più un'istanzaCancellable
.OnBackPressedCallback
ora contiene un metodoremove()
che soddisfa questa funzionalità, consentendoti di chiamareremove()
durantehandleOnBackPressed()
. (aosp/944519) (aosp/946316) activity-ktx
ora contiene un callback basato sul ricevitore peraddCallback
che accetta una funzione Lambda che implementahandleOnBackPressed()
e ha accesso aisEnabled
eremove()
(aosp/944520)
Versione 1.0.0-alpha06
3 aprile 2019
Vengono rilasciate le versioni androidx.activity:activity:1.0.0-alpha06
e androidx.activity:activity-ktx:1.0.0-alpha06
. I commit inclusi in questa versione sono disponibili qui.
Modifiche all'API
- ComponentActivity ora contiene un secondo costruttore che prende un
@LayoutRes int
, che sostituisce il precedente comportamento di annotazione della tua classe AppCompatActivity con@ContentView
. Questo approccio funziona sia nei moduli dell'app che in quelli della libreria. (b/128352521) - Le API relative a
OnBackPressedCallback
su ComponentActivity sono state ritirate a favore del nuovoOnBackPressedDispatcher
, recuperabile tramitegetOnBackPressedDispatcher()
. (aosp/922523) - I metodi per aggiungere un nuovo
OnBackPressedCallback
alOnBackPressedDispatcher
ora restituiscono un oggettoCancellable
, consentendo la rimozione del callback senza richiedere un riferimento esplicito alOnBackPressedDispatcher
. (aosp/922523) - L'aggiunta di un
OnBackPressedCallback
con unLifecycleOwner
associato ora comporta l'aggiunta e la rimozione delOnBackPressedCallback
rispettivamente all'avvio e all'arresto del ciclo di vita. (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
vengono rilasciati. L'elenco completo dei commit inclusi in questa release è disponibile qui.
Nuove funzionalità
- Ora vengono memorizzate nella cache
@ContentView
ricerche di annotazioni (b/123709449)
Versione 1.0.0-alpha04
30 gennaio 2019
Vengono rilasciati androidx.activity:activity 1.0.0-alpha04
e androidx.activity:activity-ktx 1.0.0-alpha04
.
Nuove funzionalità
- È stato aggiunto il supporto per l'annotazione della classe
@ContentView
che consente di indicare quale file XML di layout deve essere espanso come alternativa all'utilizzo disetContentView()
. (aosp/837619)
Modifiche all'API
- È stata aggiunta una nota che indica che
getViewModelStore()
non deve essere sostituito e che verrà reso definitivo in una versione futura. Invia una richiesta di funzionalità se al momento stai sostituendo questo metodo. (aosp/837619)
Correzioni di bug
- Il modulo
activity
ora dipende dalla versione 2.1.0-alpha02 di ViewModel per corrispondere alla dipendenza del moduloactivity-ktx
.
Versione 1.0.0-alpha03
17 dicembre 2018
androidx.activity 1.0.0-alpha03
viene rilasciato.
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 una perdita dell'ultima visualizzazione attivata da InputMethodManager [b/37122102]
Versione 1.0.0-alpha02
3 dicembre 2018
Modifiche all'API
- È stata aggiunta una nota che indica che
getLifecycle()
non deve essere sostituito e diventeràfinal
in una versione futura. Invia una richiesta di funzionalità se attualmente stai sostituendo questo metodo. (aosp/815834)
Versione 1.0.0-alpha01
5 novembre 2018
androidx.activity 1.0.0-alpha01
introduce ComponentActivity
, una nuova classe base delle FragmentActivity
e AppCompatActivity
esistenti.
Nuove funzionalità
- Ora puoi registrare un
OnBackPressedCallback
tramiteaddOnBackPressedCallback
per ricevere callbackonBackPressed()
senza dover eseguire l'override del metodo nella tua attività. - È stato aggiunto un nuovo delegato della proprietà Kotlin
by viewModels()
per il recupero diViewModel
da unComponentActivity
. - Gli eventi di input in attesa (ad esempio i clic) ora vengono annullati in
onStop()
.
Modifiche all'API
- L'implementazione di
LifecycleOwner
eViewModelStoreOwner
è stata trasferita daFragmentActivity
aComponentActivity
. onRetainCustomNonConfigurationInstance
è stato deprecato. Utilizza unViewModel
per archiviare gli oggetti che devono essere mantenuti in caso di modifiche alla configurazione.