Attività
Aggiornamento più recente | Release stabile | Candidato per l'uscita | Versione beta | Release alpha |
---|---|---|---|---|
4 settembre 2024 | 1.9.2 | - | - | 1.10.0-alpha02 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza all'attività, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
l'app o il 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 saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.
Consulta la documentazione di Issue Tracker per ulteriori informazioni.
Versione 1.10
Versione 1.10.0-alpha02
4 settembre 2024
Vengono rilasciate le funzionalità androidx.activity:activity:1.10.0-alpha02
, androidx.activity:activity-compose:1.10.0-alpha02
e androidx.activity:activity-ktx:1.10.0-alpha02
. La versione 1.10.0-alpha02 contiene questi commit.
Cambiamenti del comportamento
- I contratti relativi ai risultati di attività
PickVisualMedia
ePickMultipleVisualMedia
che attivano il selettore di foto non delegano più direttamente le foto a Google Play Services se il selettore di foto di sistema non è disponibile, ma utilizza l'azioneACTION_SYSTEM_FALLBACK_PICK_IMAGES
pubblica e gli extra correlati per fornire un'esperienza coerente con il selettore di foto agli OEM e alle app di sistema come alternativa. Ciò non dovrebbe influire sull'esperienza utente per i dispositivi con una versione recente di Google Play Services. (I3513d)
Correzioni di bug
- È stata rimossa la definizione manuale dell’accesso alle nuove API della piattaforma poiché ciò avviene automaticamente tramite la modellazione 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). Si consiglia ai clienti che non utilizzano AGP di eseguire l'aggiornamento alla versione D8 8.1 o successiva. 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) - Dall'attività
1.9.1
: è stato risolto un problema relativo aPredictiveBackHandler
per cui, dopo aver ripristinato il sistema, non riusciva a eseguire l'operazioneonBackPressed
daOnBackPressedDispatcher
. (I5f1f8)
Versione 1.10.0-alpha01
26 giugno 2024
Vengono rilasciate le funzionalità androidx.activity:activity:1.10.0-alpha01
, androidx.activity:activity-compose:1.10.0-alpha01
e androidx.activity:activity-ktx:1.10.0-alpha01
. Questa versione è sviluppata in un ramo interno.
Nuove funzionalità
- È stato aggiunto il supporto delle nuove funzionalità di
PhotoPicker
introdotte in Android V, inclusa la possibilità di scegliere le immagini in ordine e scegliere quale scheda (album o immagini) dovrebbe essere inizialmente visibile.
Versione 1.9
Versione 1.9.2
4 settembre 2024
Vengono rilasciate le funzionalità androidx.activity:activity:1.9.2
, androidx.activity:activity-compose:1.9.2
e androidx.activity:activity-ktx:1.9.2
. La versione 1.9.2 contiene questi lthcocommit.
Correzioni di bug
- È stato risolto un problema per cui l'API Activity Compose
PredictiveBackHandler
continuava a gestire il gesto Indietro del sistema sul frame in cui era disattivato. Di conseguenza, librerie come Navigation Compose potevano essere gestite anche con uno stack vuoto, 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
- È stato risolto un problema con
PredictiveBackHandler
per cui, dopo aver ripristinato il sistema, non riusciva a eseguire l'operazioneonBackPressed
daOnBackPressedDispatcher
. (I5f1f8)
Versione 1.9.0
17 aprile 2024
Vengono rilasciate le funzionalità androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
e androidx.activity:activity-ktx:1.9.0
. La versione 1.9.0 contiene questi commit.
Modifiche importanti dalla versione 1.8.0
ComponentActivity
ora implementaOnUserLeaveHintProvider
per consentire ai componenti di richiamare gli eventionUserLeaveHint
.- Le API
OnBackPressedCallback
,BackHandler
ePredictiveBackHandler
ora inviano un avviso quando si chiamaonBackPressedDispatcher.onBackPressed()
durante la gestione, poiché ciò causerà sempre l'interruzione dell'animazione predittiva a dorso. Per ulteriori dettagli, consulta la guida alle best practice. - Le altre API Activity sono state riscritte in Kotlin e tutte le estensioni precedentemente disponibili in
activity-ktx
sono state spostate inactivity
. Il campoactivity-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 file binari, ma il codice sorgente non funziona se la tua implementazione diActivityResultLauncher
è scritta in Kotlin.
- Nell'ambito della conversione di
Versione 1.9.0-rc01
3 aprile 2024
Vengono rilasciate le funzionalità androidx.activity:activity:1.9.0-rc01
, androidx.activity:activity-compose:1.9.0-rc01
e androidx.activity:activity-ktx:1.9.0-rc01
. La versione 1.9.0-rc01 contiene questi commit.
Aggiornamento delle dipendenze
- L'attività ora dipende da Profilo Programma di installazione 1.3.1.
Versione 1.9.0-beta01
20 marzo 2024
Vengono rilasciate le funzionalità androidx.activity:activity:1.9.0-beta01
, androidx.activity:activity-compose:1.9.0-beta01
e androidx.activity:activity-ktx:1.9.0-beta01
. La versione 1.9.0-beta01 contiene questi commit.
Correzioni di bug
- È stata corretta una regressione delle prestazioni dell'avvio dell'attività introdotta nell'Attività
1.9.0-alpha02
a causa della chiamata aOnBackPressedDispatcher
come parte della creazione dell'attività. (Ie75e3).
Versione 1.9.0-alpha03
7 febbraio 2024
Vengono rilasciate le funzionalità androidx.activity:activity:1.9.0-alpha03
, androidx.activity:activity-compose:1.9.0-alpha03
e androidx.activity:activity-ktx:1.9.0-alpha03
. La versione 1.9.0-alpha03 contiene questi commit.
Avviso lint
- Le API
OnBackPressedCallback
,BackHandler
ePredictiveBackHandler
ora inviano un avviso quando si chiamaonBackPressedDispatcher.onBackPressed()
durante la gestione, poiché ciò causerà sempre l'interruzione dell'animazione predittiva a dorso. Per ulteriori dettagli, consulta la guida alle best practice. (1e4222, 2c950d, b/287505200)
Correzioni di bug
- Se un evento Indietro viene inviato dal sistema durante un Gesto Indietro predittivo già in esecuzione, il Gesto Indietro predittivo attualmente in esecuzione viene annullato e viene sostituito il nuovo evento Indietro 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 destrutturazione 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 traccia i 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 di 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 richiamare gli eventionUserLeaveHint
. (I54892)
Modifiche alle API
ComponentActivity
è stato riscritto in Kotlin. (I14f31)ActivityResultCaller
è stato riscritto in Kotlin. (Ib02e4).ActivityResultLauncher
è stato riscritto in Kotlin. Nell'ambito di questa conversione, il metodogetContract
è ora una proprietà Kotlin astratta. Si tratta di una modifica compatibile con i file binari, ma il codice sorgente non funziona se la tua implementazione diActivityResultLauncher
è scritta in Kotlin. (ID4615)- Ora
PickVisualMediaRequest
ha lo stesso livello API minimo di 19 del contratto Risultato attivitàPickVisualMedia
. (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 trasmesso al contratto attività del selettore di foto
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
per trasmettere 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 di 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
- Ora
OnBackPressedDispatcher
continua a inviare messaggi alOnBackPressedCallback
corretto anche dopo l'aggiunta di un nuovoOnBackPressedCallback
durante la gestione del gesto Indietro. (ID0ff6)
Versione 1.8.0
4 ottobre 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
e androidx.activity:activity-ktx:1.8.0
. La versione 1.8.0 contiene questi commit.
Modifiche importanti dalla versione 1.7.0
- Indietro predittivo:
OnBackPressedCallback
ora offre nuovi callback predittivi Indietro per gestire l'avvio del gesto Indietro, l'avanzamento durante il gesto e l'annullamento del gesto Indietro oltre al callbackhandleOnBackPressed()
precedente per quando viene eseguito il commit del gesto Indietro. In aggiunta, viene fornito anche l'elemento componibilePredictiveBackHandler
per gestire gli eventi predittivi del gesto Indietro in Scrittura attività. Fornisce un flusso di oggetti BackEventCompat che devono essere raccolti nella lamba di sospensione fornita:
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 deprecato e sostituito con le API per la gestione. Ora gli sviluppatori dovrebbero utilizzare OnBackPressedDispatcher
, anziché eseguire l'override di questo metodo.
- EdgeToEdge: è stato aggiunto lo
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
Vengono rilasciate le funzionalità androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
e androidx.activity:activity-ktx:1.8.0-rc01
. La versione 1.8.0-rc01 contiene questi commit.
Versione 1.8.0-beta01
6 settembre 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
e androidx.activity:activity-ktx:1.8.0-beta01
. 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
Vengono rilasciate le funzionalità androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
e androidx.activity:activity-ktx:1.8.0-alpha07
. 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. FornisceFlow
diBackEventCompat
oggetti che devono essere raccolti nella lamba di sospensione fornita: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 una richiamata dionBackPressed()
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
Vengono rilasciate le funzionalità androidx.activity:activity:1.8.0-alpha06
, androidx.activity:activity-compose:1.8.0-alpha06
e androidx.activity:activity-ktx:1.8.0-alpha06
. 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 alle 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 alle API
- L'attività ora fornisce una classe
BackEventCompat
che funge da versione compatibile con le versioni precedenti diBackEvent
disaccoppiata dalla classeBackEvent
del framework. - Modifica dell'interruzione: 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 prende un'istanzaConsumer<Boolean>
facoltativa che consente ai proprietari del supervisore di ricevere un callback ogni volta che il numero di callback abilitati cambia da zero a zero o viceversa.
Correzioni di bug
- Dall'Attività
1.7.2
: è stato risolto il problema che causava l'arresto anomalo diReportDrawn
durante l'uscita 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
. Questo è stato rilasciato da un ramo interno.
Correzioni di bug
- Da Attività 1.7.1:
ReportFullyDrawExecuter
non genera più perdite quando si utilizzaComponentActivity
conActivityScenario
. (Id2ff2, b/277434271)
Versione 1.8.0-alpha03
12 aprile 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.8.0-alpha03
, androidx.activity:activity-compose:1.8.0-alpha03
e androidx.activity:activity-ktx:1.8.0-alpha03
. 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 deprecato e sostituito con le API per la gestione. Ora gli sviluppatori dovrebbero 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 di strutture ad albero delle viste prima di impostare la visualizzazione dei contenuti. (Ibdce0, b/261314581)
Correzioni di bug
- È stato risolto un problema per cui i Frammenti venivano invalidati erroneamente 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
Vengono rilasciate le funzionalità androidx.activity:activity:1.8.0-alpha02
, androidx.activity:activity-compose:1.8.0-alpha02
e androidx.activity:activity-ktx:1.8.0-alpha02
. Sviluppato da un ramo interno.
Aggiornamento delle dipendenze
- Da Attività
1.7.0-rc01
: l'attività ora dipende daLifecycle 2.6.0
.
Versione 1.8.0-alpha01
8 febbraio 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
e androidx.activity:activity-ktx:1.8.0-alpha01
. Questa è stata creata da un ramo interno.
Nuove funzionalità
- La classe
OnBackPressedCallback
ora contiene nuovi callback predittivi per l'avanzamento che consentono di gestire l'avvio del gesto Indietro, l'avanzamento durante il gesto e l'annullamento del gesto Indietro, oltre al callbackhandleOnBackPressed()
precedente per quando viene eseguito il commit del gesto Indietro.
Versione 1.7
Versione 1.7.2
24 maggio 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
e androidx.activity:activity-ktx:1.7.2
. La versione 1.7.2 contiene questi commit.
Correzioni di bug
- È stato risolto il problema che causava l'arresto anomalo di
ReportDrawn
durante l'uscita 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
Vengono rilasciate le funzionalità androidx.activity:activity:1.7.0
, androidx.activity:activity-compose:1.7.0
e androidx.activity:activity-ktx:1.7.0
. La versione 1.7.0 contiene questi commit.
Modifiche importanti dalla versione 1.6.0
- I contratti relativi all'attività del selettore di foto in
PickVisualMedia
ePickMultipleVisualMedia
sono stati aggiornati in modo da includere un'ulteriore riserva per i casi in cuiMediaStore.ACTION_PICK_IMAGES
non è disponibile. In questo modo, gli OEM e le app di sistema, come Google Play Services, possono 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 utilizzerà questo elemento di riserva, se disponibile, prima di utilizzareIntent.ACTION_OPEN_DOCUMENT
, che continuerà a supportare tutti i dispositivi con API 19 e versioni successive. - Ora
ComponentDialog
implementaSavedStateRegistryOwner
, ha accesso al proprioSavedStateRegistry
e impostaSavedStateRegistryOwner
perViewTree
. Ora è possibile utilizzare Jetpack Compose all'interno di unComponentDialog
poiché soddisfa sia iLifecycleOwner
sia iSavedStateRegistryOwner
collegati alla finestra tramite i requisiti delle APIViewTree
. IntentSenderRequest.Builder.setFlags()
ora ti consente di impostare più flag daIntent
, anziché un solo flag.
Conversione di Kotlin
Alcune classi di attività sono state convertite in Kotlin. Tutte le classi convertite conservano comunque la compatibilità binaria con le versioni precedenti. Le seguenti classi presentano modifiche incompatibili con le origini 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 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 tempistica e non devono essere chiamate nell'ambito di una chiamata onDraw
.
Queste API sono invitati ad abilitare:
- Segnalazione di Android Runtime al completamento dell'avvio, per garantire che tutto il codice venga eseguito durante una sequenza di avvio multi-frame sia incluso e prioritario per la compilazione in background.
- Segnalare Macrobenchmark e Play Vitals quando la tua applicazione deve essere considerata come utilizzata in modo completo per le metriche di avvio, in modo da poter monitorare le prestazioni.
Sono state aggiunte tre API Activity Compose per semplificare l'utilizzo di FullyDrawnReporter
da singoli componibili:
ReportDrawn
indica che il componibile è immediatamente pronto per l'interazione.ReportDrawnWhen
richiede un predicato (ad es.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
- L'attività ora dipende dal ciclo di vita
2.6.1
. (8fc31d) - L'attività ora dipende da ProfileInstaller
1.3.0
. (83d3b1)
Versione 1.7.0-rc01
8 marzo 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.7.0-rc01
, androidx.activity:activity-compose:1.7.0-rc01
e androidx.activity:activity-ktx:1.7.0-rc01
. La versione 1.7.0-rc01 contiene questi commit.
Aggiornamento delle dipendenze
- L'attività ora dipende da
Lifecycle 2.6.0
.
Versione 1.7.0-beta02
22 febbraio 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.7.0-beta02
, androidx.activity:activity-compose:1.7.0-beta02
e androidx.activity:activity-ktx:1.7.0-beta02
. La versione 1.7.0-beta02 contiene questi commit.
Modifiche alle 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 questa funzione di riserva è ancora limitata alle sole app di sistema. (Icd320)
Versione 1.7.0-beta01
8 febbraio 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
e androidx.activity:activity-ktx:1.7.0-beta01
. 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 fallback 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. Questa è una modifica non compatibile con l'origine per le classi scritte in Kotlin: ora devi eseguire l'override della proprietàactivityResultRegistry
anziché implementare la funzionegetActivityResultRegistry()
precedente. (I0b00e)OnBackPressedDispatcherOwner
ora è scritto in Kotlin. Questa è una modifica non compatibile con l'origine per le classi scritte in Kotlin: ora devi eseguire l'override della proprietàonBackPressedDispatcher
anziché implementare la funzionegetOnBackPressedDispatcher
precedente. (Ia277d)ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
eOnBackPressedDispatcher
sono ora 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 deprecata. Ti consigliamo di utilizzare la nuova APIisPhotoPickerAvailable(Context)
, che verrà restituita se è disponibile uno dei due selettori di foto. (I55be6)
Versione 1.7.0-alpha03
11 gennaio 2023
Vengono rilasciate le funzionalità androidx.activity:activity:1.7.0-alpha03
, androidx.activity:activity-compose:1.7.0-alpha03
e androidx.activity:activity-ktx:1.7.0-alpha03
. La versione 1.7.0-alpha03 contiene questi commit.
Nuove funzionalità
- Ora
ComponentDialog
implementaSavedStateRegistryOwner
, ha accesso al proprioSavedStateRegistry
e impostaSavedStateRegistryOwner
per il ViewTree. Ora è possibile utilizzare Jetpack Compose all'interno di unComponentDialog
poiché soddisfa sia iLifecycleOwner
sia iSavedStateRegistryOwner
collegati alla finestra tramite i requisiti dell'API ViewTree. (Idca17, I73468 b/261162296)
Modifiche alle API
- È stato aggiunto un componibile
ReportDrawn
che contrassegna immediatamente l'attività come pronta per la chiamatareportFullyDrawn
. (Ic5b14, b/259687964)
Conversioni di 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 contratto Risultato dell'attività diPickMultipleVisualMedia
non avviato sui dispositivi Android R quando si utilizza il valore predefinito permaxItems
. (Ie2776, b/249182130)
Versione 1.7.0-alpha01
5 ottobre 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.7.0-alpha01
, androidx.activity:activity-compose:1.7.0-alpha01
e androidx.activity:activity-ktx:1.7.0-alpha01
. 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 tempistica e non devono essere chiamate nell'ambito di una chiamata onDraw
.
Queste API sono invitati ad abilitare:
- Segnalazione di Android Runtime al completamento dell'avvio, per garantire che tutto il codice venga eseguito durante una sequenza di avvio multi-frame sia incluso e prioritario per la compilazione in background.
- Segnalare Macrobenchmark e Play Vitals quando la tua applicazione deve essere considerata come utilizzata in modo completo per le metriche di avvio, in modo da poter monitorare le prestazioni.
Sono state aggiunte due API Activity Compose per rendere più pratico l'utilizzo di FullyDrawnReporter
da singoli componibili:
ReportDrawnWhen
richiede un predicato (ad es.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
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 a causa del quale il contratto Risultato attività di
PickMultipleVisualMedia
non veniva avviato sui dispositivi Android R quando veniva utilizzato il valore predefinito dimaxItems
. (Ie2776, b/249182130)
Versione 1.6.0
Versione 1.6.0
21 settembre 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.6.0
, androidx.activity:activity-compose:1.6.0
e androidx.activity:activity-ktx:1.6.0
. 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. - Integrazione di
OnBackInvokedCallback
in Android 13 nelOnBackPressedDispatchers
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
Vengono rilasciate le funzionalità androidx.activity:activity:1.6.0-rc02
, androidx.activity:activity-compose:1.6.0-rc02
e androidx.activity:activity-ktx:1.6.0-rc02
. La versione 1.6.0-rc02 contiene questi commit.
Correzioni di bug
OnBackPressedDispatcher
ora registraOnBackInvokedCallback
conPRIORITY_DEFAULT
anzichéPRIORITY_OVERLAY
. (I3901f)- Per le classi che estendono
ComponentActivity
ora verranno sempre inviati entrambi i callbackonMultiWindowModeChanged()
. (Ic4d85) ActivityResultRegistry
non restituirà più un risultato aActivityResultCallback
quando la chiamatalaunch
genera unException
e la richiamata è stata registrata senzaLifecycleOwner
. (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
- La libreria
Activity
ora dipende dal Ciclo di vita2.5.1
. (If6697)
Versione 1.6.0-rc01
24 agosto 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.6.0-rc01
, androidx.activity:activity-compose:1.6.0-rc01
e androidx.activity:activity-ktx:1.6.0-rc01
. 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). - I callback per le classi che eseguono l'override del callback
onPictureInPictureModeChanged()
diComponentActivity
verranno sempre inviati. (Ib7fdb)
Versione 1.6.0-beta01
10 agosto 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.6.0-beta01
, androidx.activity:activity-compose:1.6.0-beta01
e androidx.activity:activity-ktx:1.6.0-beta01
. La versione 1.6.0-beta01 contiene questi commit.
Modifiche alle API
- I metodi
startActivityForResult
estartIntentSenderForResult
deprecati sono stati contrassegnati il giornoComponentActivity
con@NonNull
perché il superamento 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 la richiamata è stata registrata senzaLifecycleOwner
. (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 versione2.5.1
diLifecycle
. (If6697)
Versione 1.6.0-alpha05
15 giugno 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.6.0-alpha05
, androidx.activity:activity-compose:1.6.0-alpha05
e androidx.activity:activity-ktx:1.6.0-alpha05
. La versione 1.6.0-alpha05 è stata sviluppata in un ramo privato pre-release e non ha commit pubblici.
Modifiche alle API
minCompileSdk
ora è 33 per allinearsi all'SDK Tiramisu beta 3
Correzioni di bug
- È stato risolto l'arresto anomalo su dispositivi meno recenti durante il controllo delle estensioni SDK per
PickVisualMedia
ActivityResultContract
, che ora dovrebbe funzionare conACTION_OPEN_DOCUMENT
su dispositivi con Android 10 e versioni precedenti.
Versione 1.6.0-alpha04
18 maggio 2022
Vengono rilasciate le versioni androidx.activity:activity:1.6.0-alpha04
e androidx.activity:activity-ktx:1.6.0-alpha04
.
Correzioni di bug
- È stato corretto un errore in
PickVisualMediaRequest
per cui il tentativo di creare una richiesta, tramite lo strumento Builder o la funzione Kotlin di primo livello, avrebbe comportato un overflow dello stack. - Integrazione di
OnBackInvokedCallback
in Android 13 Dev Beta 2 nelOnBackPressedDispatcher
fornito daComponentDialog
. Ciò garantisce che tutte le API basate suOnBackPressedDispatcher
funzionino durante l'attivazione di un gesto Indietro predittivo.
Versione 1.6.0-alpha03
27 aprile 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.6.0-alpha03
, androidx.activity:activity-compose:1.6.0-alpha03
e androidx.activity:activity-ktx:1.6.0-alpha03
.
- 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. - Integrazione di
OnBackInvokedCallback
in Android 13 Dev Beta 1 nelOnBackPressedDispatcher
fornito daComponentActivity
. Ciò garantisce che tutte le API basate suOnBackPressedDispatcher
funzionino durante l'attivazione di un gesto Indietro predittivo.
Versione 1.6.0-alpha01
23 marzo 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.6.0-alpha01
, androidx.activity:activity-compose:1.6.0-alpha01
e androidx.activity:activity-ktx:1.6.0-alpha01
.
- Nota: questa versione si compilerà 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ù risultati aActivityResultCallback
quando la chiamatalaunch()
genera una qualsiasiException
e la richiamata è stata registrata senzaLifecycleOwner
. (Ia7ff7, b/238350794)Ora
ComponentActivity
invierà correttamente le chiamate di menu aonPrepareOptionMenu()
,onCreateOptionsMenu()
e agli override dionOptionsItemSelected()
senza dover chiamare la superfunzione. (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
Vengono rilasciate le funzionalità androidx.activity:activity:1.5.0
, androidx.activity:activity-compose:1.5.0
e androidx.activity:activity-ktx:1.5.0
. La versione 1.5.0 contiene questi commit.
Modifiche importanti dalla versione 1.4.0
- ComponentDialog:
ComponentDialog
è una sottoclasse diDialog
che include unaOnBackPressedDispatcher
che verrà richiamata 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 supervisore corretto se esiste 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 CreationExtras:
ComponentActivity
ora è in grado di fornire unViewModelProvider.Factory
stateless tramiteCreationExtras
di Lifecycle2.5.0
.
Altre modifiche
- Il costruttore senza parametri per
ActivityResultContracts.CreateDocument
è stato deprecato e sostituito con un nuovo costruttore che accetta un tipo MIME concreto (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 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
Vengono rilasciate le funzionalità androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
e androidx.activity:activity-ktx:1.5.0-beta01
. La versione 1.5.0-beta01 contiene questi commit.
Aggiornamenti delle dipendenze
- L'attività ora 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 il
onPanelClosed()
diComponentActivity
chiama anche il superonPanelClosed()
, 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 conSavedStateRegistryOwner
. Se vengono forniti extra, gli argomenti inizializzati vengono ignorati. (I6c43b, b/224844583)
Versione 1.5.0-alpha03
23 febbraio 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
e androidx.activity:activity-ktx:1.5.0-alpha03
. La versione 1.5.0-alpha03 contiene questi commit.
Modifiche alle API
- Ora puoi passare
CreationExtras
alla funzioneby viewModels()
dell'attività (I6a3e6, b/217600303)
Versione 1.5.0-alpha02
9 febbraio 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
e androidx.activity:activity-ktx:1.5.0-alpha02
. La versione 1.5.0-alpha02 contiene questi commit.
Nuove funzionalità
ComponentActivity
ora implementa l'interfacciaOnPictureInPictureModeChangedProvider
per consentire per ricevere eventi di modifica della modalità Picture in picture. (I9f567)ComponentActivity
ora implementa l'interfacciaOnMultiWindowModeChangedProvider
per consentire per ricevere eventi di modifica della modalità multi-finestra. (I62d91)
Versione 1.5.0-alpha01
26 gennaio 2022
Vengono rilasciate le funzionalità androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
e androidx.activity:activity-ktx:1.5.0-alpha01
. 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)- È stata aggiunta
ComponentDialog
, una sottoclasseDialog
che include unOnBackPressedDispatcher
che verrà chiamato quando il pulsante Indietro del sistema premuto quando la finestra di dialogo è visibile. È importante sottolineare che questa sottoclasse imposta ancheViewTreeOnBackPressedDispatcherOwner
, visualizzazione consentita un modo generico per recuperare il supervisore corretto indipendentemente dal fatto che esista in unComponentActivity
ComponentDialog
. (I8a1bc) ComponentActivity
ora implementa la nuova interfacciaOnNewIntentProvider
per consentire qualsiasi componente per ricevere questi eventi. (If1f8b).ComponentActivity
ora implementa la nuova interfacciaOnConfigurationChangedProvider
per consentire qualsiasi componente per ricevere questi eventi. (If623b)ComponentActivity
ora implementa la nuova interfacciaOnTrimMemoryProvider
per consentire qualsiasi componente per ricevere questi eventi. (Ia9295)
Modifiche alle API
- Il costruttore senza parametro per
ActivityResultContracts.CreateDocument
è stato deprecato e sostituito con un nuovo costruttore che accetta un tipo MIME concreto (ad es."image/png"
) come richiesto daIntent.ACTION_CREATE_DOCUMENT
. (I2bec6) OnBackPressedDispatcherOwner
associati a una vista ora possono essere recuperati tramiteViewTreeOnBackPressedDispatcherOwner
, anziché rispetto alla trasmissione diContext
. (I74685)
Correzioni di bug
- È stato risolto un arresto anomalo durante l'accesso a
ViewModel
per la primissima volta da unregisterForActivityResult()
o il a unLifecycleObserver
aggiunto come parte diinit
diComponentActivity
. (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'istanzaMenuProvider
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
quandoLifecycle
viene eliminato. - La classe
ActivityResultContract
è stata riscritta in Kotlin per garantire che gli sviluppatori che scrivono contratti personalizzati in Kotlin possano definire il valore nullo corretto per le proprie classi di input e output. - Il corso
ActivityResultContracts
e i relativi contratti sono stati riscritti in Kotlin per garantire che i valori nulli siano corretti.
Versione 1.4.0-rc01
13 ottobre 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
e androidx.activity:activity-ktx:1.4.0-rc01
. La versione 1.4.0-rc01 contiene questi commit.
Correzioni di bug
ActivityResultRegistry
non restituirà più risultati aActivityResultCallback
quando la chiamatalaunch
genera unaException
. (If4f91, b/200845664)
Versione 1.4.0-beta01
29 settembre 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
e androidx.activity:activity-ktx:1.4.0-beta01
. La versione 1.4.0-beta01 contiene questi commit.
Modifiche alle API
- È stato corretto il tipo di
ActivityResultContracts.OpenMultipleDocuments
eActivityResultContracts.GetMultipleContents
che ha causato l'utilizzo di un tipo di outputList<? extends Uri>
quando si utilizza il codice di il 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 alla documentazione
- Il messaggio di ritiro per le API ora gestito dalle API Activity Result, 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'artefatto
activity-compose
ora contiene un errore lintLaunchDuringComposition
che ti impedisce di chiamare il metodolaunch
diActivityResultLauncher
come parte della composizione, poiché la composizione deve essere priva di effetti collaterali. Utilizza le API per la gestione degli effetti collaterali. (7c2bbe, b/191347220)
Modifiche alle API
- Il corso
ActivityResultContract
ha riscritto in Kotlin per garantire che gli sviluppatori la scrittura di contratti personalizzati in Kotlin può definire correggere il valore nullo per l'input e l'output . (I8a8f5) - Il corso
ActivityResultContracts
e le relative contratti siano stati riscritti in Kotlin per garantire valore nullo corretto. (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à
- Ora AndroidX
ComponentActivity
implementa l'interfacciaMenuHost
. In questo modo qualsiasi componente può aggiungere voci di menu aActionBar
aggiungendo un'istanzaMenuProvider
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. (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)
}
Cambiamenti del comportamento
- Ora
ActivityResultRegistry
lancerà unIllegalStateException
quando tenti di chiamarelaunch()
su unActivityResultLauncher
che non è stato registrato o che è stato non registrato. (Ida75d, b/192567522)
Contributo esterno
- Grazie dmitrilc per aver corretto un errore di battitura nella documentazione di
ActivityResult
. (N. 221)
Versione 1.3.1
Versione 1.3.1
4 agosto 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
e androidx.activity:activity-ktx:1.3.1
. La versione 1.3.1 contiene questi commit.
Aggiornamenti delle dipendenze
- L'attività ora dipende da Kotlin
1.5.21
. - La funzionalità Scrittura attività ora dipende da Scrivi
1.0.1
.
Versione 1.3.0
Versione 1.3.0
28 luglio 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
e androidx.activity:activity-ktx:1.3.0
. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Artefatto di Compose attività: l'artefatto
activity-compose
fornisce il metodo di estensionesetContent
per ospitare la UI di Jetpack Compose in un'attività e wrapper specifici di Compose per interagire con le APIComponentActivity
per la gestione del pulsante Indietro del sistema e delle API Activity Result. Per ulteriori dettagli, consulta la documentazione. - Contratto CaptureVideo: il
CaptureVideo
ActivityResultContract
sostituisce il contrattoTakeVideo
, ora obsoleto, e restituisce un valore booleano che indica il successo che funziona su molte app di videocamere. - 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
sono ora salvati correttamente e ripristinati in modo che i callback non vengano duplicati nello stato 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
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
e androidx.activity:activity-ktx:1.3.0-beta02
. La versione 1.3.0-beta02 contiene questi commit.
Aggiornamento di activity-compose
aggiornato in modo da dipendere da Scrivi 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
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
e androidx.activity:activity-ktx:1.3.0-beta01
. La versione 1.3.0-beta01 contiene questi commit.
Modifiche alle API
- Il metodo
@Composable registerForActivityResult()
deprecato in precedenza è stato rimosso. UsarememberLauncherForActivityResult()
. (Ic39d3)
Versione 1.3.0-alpha08
18 maggio 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
e androidx.activity:activity-ktx:1.3.0-alpha08
. La versione 1.3.0-alpha08 contiene questi commit.
Nuove funzionalità
- Il nuovo
ActivityResultContract
CaptureVideo
restituisce un booleano alActivityResultCallback
che indica se il video è stato salvato correttamente nell'URI specificato. Questo sostituisce il contrattoTakeVideo
, ora obsoleto, in quanto le app per le fotocamere supportavano molto raramente la restituzione di una bitmap in miniatura, rendendo il risultato inutile. (Ie21f2, b/185938070) - Aggiunta nuova API
Activity#setPipAnimationHintView
da aggiornare i parametri PipParams suggerimento del rettangolo di origine ogni volta che la visualizzazione si sposta. (I9063d)
Modifiche alle 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à con Compose
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
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.0-alpha07
, androidx.activity:activity-compose:1.3.0-alpha07
e androidx.activity:activity-ktx:1.3.0-alpha07
. La versione 1.3.0-alpha07 contiene questi commit.
Correzioni di bug
rememberLauncherForActivityResult
adesso restituisce un riferimento stabile allo stessoActivityResultLauncher
anche se modifiche contrattuali dovute a ricomposizioni. (ID2d6d)- L'utilizzo di versioni instabili di Frammenti superiori a
1.3.0
non sarà più genera un errore di falso positivo lint che indica di utilizzare1.3.0
. (aosp/1670206, b/184847092)
Versione 1.3.0-alpha06
7 aprile 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.0-alpha06
, androidx.activity:activity-compose:1.3.0-alpha06
e androidx.activity:activity-ktx:1.3.0-alpha06
. La versione 1.3.0-alpha06 contiene questi commit.
Modifiche alle API
- L'API
registerForActivityResult()
è stata rinominata inrememberLauncherForActivityResult()
per indicare meglio cheActivityResultLauncher
restituito è un oggetto gestito memorizzato per tuo conto. Se provi a chiamareunregister
il valoreActivityResultLauncher
restituito ora verrà visualizzato un errore. (I2bb6d) LocalOnBackPressedDispatcherOwner.current
eLocalActivityResultRegistryOwner.current
ora restituisce un null per determinare meglio se è disponibile presenti nella composizione attuale. le API che le richiedono, comeBackHandler
erememberLauncherForActivityResult()
, rispettivamente, ora genererà un errore più descrittivo impossibile trovare il proprietario sottostante.NavHost
ora funziona anche se non viene trovato unOnBackPressedDispatcherOwner
, come quando visualizzi l'anteprima diNavHost
. (I7d8b4)
Correzioni di bug
BackHandler
ora intercettarà correttamente le contropressioni in l'evento che l'attività èSTOPPED
, quindi di nuovoSTARTED
e altro sono stati aggiunti con un LifecycleOwner. (I71de6, b/182284739)- Utilizzare l'estensione di metodo
launch()
con unActivityResultContract
con un inputUnit
non causerà più unNullPointerException
(I76282, b/183837954)
Versione 1.3.0-alpha05
24 marzo 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.0-alpha05
, androidx.activity:activity-compose:1.3.0-alpha05
e androidx.activity:activity-ktx:1.3.0-alpha05
. La versione 1.3.0-alpha05 contiene questi commit.
Correzioni di bug
- In Attività 1.2.2: è stato risolto un problema nel controllo lint di
InvalidFragmentVersionForActivityResult
che generava un falso positivo utilizzando il frammento 1.3.1 o versioni successive. (I54da1, b/182388985) - Dall'attività 1.2.2: ora
ComponentActivity
evita unClassNotFoundException
quando avvii unIntent
da unActivityResultContract
che in precedenza era tenuto come extra in un altroIntent
. (Ieff05, b/182906230)
Aggiornamenti delle dipendenze
- In Attività 1.2.2: l'attività ora dipende dal Ciclo di vita
2.3.1
.
Versione 1.3.0-alpha04
10 marzo 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.0-alpha04
, androidx.activity:activity-compose:1.3.0-alpha04
e androidx.activity:activity-ktx:1.3.0-alpha04
. La versione 1.3.0-alpha04 contiene questi commit.
Correzioni di bug
- Da Attività
1.2.1
:RequestMultiplePermissions
ora restituisce sempre i risultati per tutte le autorizzazioni richieste, anziché solo per quelle che non erano state concesse in precedenza. (I50bc3, b/180884668) - Da Attività
1.2.1
:ActivityResultRegistry
ora garantisce che le richiestelaunch()
in corso restituiscano i relativi risultati anche seunregister()
, poiregister()
di nuovo con la stessa chiave. (I9ef34, b/181267562) - Scrittura attività non aggiunge più test delle dipendenze al classpath del runtime. (Ifd8b3).
- È stato risolto un problema relativo a
BackHandler
per cui la funzione lambdaonBack
impostata in precedenza veniva ancora utilizzata dopo la ricomposizione. (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 esiste una funzione componibile
registerForActivityResult
per ottenere risultati da attività all'interno dei componibili. (Ia7851, b/172690553)
Modifiche alle API
- Ora
LocalOnBackPressedDispatcherOwner
ha una funzioneprovides
che può da utilizzare conCompositionLocalProvider
, in sostituzione dell'APIasProvidableCompositionLocal()
. (I45d24)
Versione 1.3.0-alpha02
10 febbraio 2021
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.0-alpha02
, androidx.activity:activity-compose:1.3.0-alpha02
e androidx.activity:activity-ktx:1.3.0-alpha02
. 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 Compose devono dipendere da1.3.0-alpha02
o versioni successive. (b/179911234)
Modifiche alle 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
Vengono rilasciate le funzionalità androidx.activity:activity:1.3.0-alpha01
, androidx.activity:activity-compose:1.3.0-alpha01
e androidx.activity:activity-ktx:1.3.0-alpha01
. La versione 1.3.0-alpha01 contiene questi commit.
Nuove funzionalità
- Il nuovo artefatto
activity-compose
fornisce helper specifici per Jetpack Compose perandroidx.activity
API 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 questo, 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
Vengono rilasciate le versioni androidx.activity:activity:1.2.4
e androidx.activity:activity-ktx:1.2.4
. La versione 1.2.4 contiene questi commit.
Correzioni di bug
- Da Attività
1.3.0-rc02
: i callback ActivityResultRegistry sono ora salvati correttamente e ripristinati in modo che i callback non vengano duplicati nello stato savedState. (I97816, b/191893160)
Versione 1.2.3
Versione 1.2.3
5 maggio 2021
Vengono rilasciate le versioni androidx.activity:activity:1.2.3
e androidx.activity:activity-ktx:1.2.3
. La versione 1.2.3 contiene questi commit.
Correzioni di bug
- Utilizzare l'estensione di metodo
launch()
con unActivityResultContract
con un inputUnit
non causerà più unNullPointerException
(I76282, b/183837954) - È stato corretto un errore di falso positivo lint che indica di utilizzare Fragment
1.3.0
quando si utilizza 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 utilizzando Frammento 1.3.1 o versioni successive. (I54da1, b/182388985) ComponentActivity
ora evita unClassNotFoundException
quando avvii unIntent
da unActivityResultContract
che in precedenza era trattenuto 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
Vengono rilasciate le versioni androidx.activity:activity:1.2.1
e androidx.activity:activity-ktx:1.2.1
. La versione 1.2.1 contiene questi commit.
Correzioni di bug
- Ora
RequestMultiplePermissions
restituisce sempre i 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 relativi risultati anche seunregister()
, quindiregister()
di nuovo con la stessa chiave. (I9ef34, b/181267562)
Versione 1.2.0
Versione 1.2.0
10 febbraio 2021
Vengono rilasciate le versioni androidx.activity:activity:1.2.0
e androidx.activity:activity-ktx:1.2.0
. La versione 1.2.0 contiene questi commit.
Modifiche principali dalla versione 1.1.0
- API dei risultati delle attività: ora
ComponentActivity
fornisce un valoreActivityResultRegistry
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 dei tipi 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ù istanzeOnContextAvailableListener
che riceveranno un callback prima della baseActivity.onCreate()
.- Un'estensione Kotlin in sospensione
withContextAvailable()
ti consente di eseguire un blocco senza sospensione quando il contesto diventa disponibile e restituisce un risultato. - Questa API viene utilizzata da
FragmentActivity
in Frammento 1.3.0 per ripristinare lo stato diFragmentManager
. Tutti i listener aggiunti alle sottoclassi diFragmentActivity
verranno eseguiti dopo quel listener. - Questa API è utilizzata da
AppCompatActivity
in AppCompat 1.3.0-alpha02 o versioni successive. Tutti i listener aggiunti alle sottoclassi diAppCompatActivity
verranno eseguiti dopo quel listener.
- Un'estensione Kotlin in sospensione
Assistenza
ViewTree
:ComponentActivity
ora supporta le APIViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
eViewTreeSavedStateRegistryOwner
aggiunte in Ciclo di vita2.3.0
e SavedState1.1.0
; in questo modo, restituirà l'Attività comeLifecycleOwner
,ViewModelStoreOwner
eSavedStateRegistryOwner
per tutte le viste aggiunte direttamente aComponentActivity
.
- reportFullyDrawn() Backport: il metodo
Activity
direportFullyDrawn()
è stato sottoposto a backport inComponentActivity
per funzionare a tutti i livelli dell'API, correggendo un arresto anomalo nell'API 19 e aggiungendo il tracciamento per questo metodo per tutti i livelli dell'API.
Versione 1.2.0-rc01
16 dicembre 2020
Vengono rilasciate le versioni androidx.activity:activity:1.2.0-rc01
e androidx.activity:activity-ktx:1.2.0-rc01
. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Ora l'
ActivityResultRegistry
ripristina sempre lo stato esatto che è stato salvato. (Idd56b) - Aggiungi tracciamento a
ComponentActivity.reportFullyDrawn
(Ic7632)
Contributo esterno
ComponentActivity
ora esegue l'override direportFullyDrawn()
, consentendo di chiamarlo a tutti i livelli API e correggendo un arresto anomalo quando si chiama questo metodo senza l'autorizzazione di sistema appropriata sui dispositivi API 19. Grazie Simon Schiller! (b/163239764, #103)
Versione 1.2.0-beta02
2 dicembre 2020
Vengono rilasciate le versioni androidx.activity:activity:1.2.0-beta02
e androidx.activity:activity-ktx:1.2.0-beta02
. La versione 1.2.0-beta02 contiene questi commit.
Correzioni di bug
- Risolto un problema per cui l'API Activity Result
non aspetterà che il ciclo di vita arrivi a
STARTED
prima restituire risultati quando viene effettuata la registrazione 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
Vengono rilasciate le versioni androidx.activity:activity:1.2.0-beta01
e androidx.activity:activity-ktx:1.2.0-beta01
. 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 che non è allocato per essere utilizzato come codice di richiestaregister()
, evitando così il possibile overflow di numeri interi causato dall'incremento dei codici di richiesta. (b/168779518)Gli osservatori
Lifecycle
vengono rimossi correttamente quando chiamiunregister()
suActivityResultLauncher
. (b/165608393)
Cambiamenti del comportamento
ActivityResultRegistry
ora genera unIllegalStateException
quando tenti 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
Vengono rilasciate le versioni androidx.activity:activity:1.2.0-alpha08
e androidx.activity:activity-ktx:1.2.0-alpha08
. 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 in sospensione
withContextAvailable()
ti consente di eseguire un blocco senza sospensione quando il contesto diventa disponibile e restituisce un risultato. (I8290c) - Questa API viene utilizzata da
FragmentActivity
in Fragment 1.3.0-alpha08 per ripristinare lo stato diFragmentManager
. Tutti i listener aggiunti alle sottoclassi diFragmentActivity
verranno eseguiti dopo quel listener. (I513da) - Questa API è utilizzata da
AppCompatActivity
in AppCompat 1.3.0-alpha02. Tutti i listener aggiunti alle sottoclassi diAppCompatActivity
verranno eseguiti dopo quel listener. (I513da)
- Un'estensione Kotlin in sospensione
Correzioni di bug
- È stato risolto un 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
Vengono rilasciate le versioni androidx.activity:activity:1.2.0-alpha07
e androidx.activity:activity-ktx:1.2.0-alpha07
. La versione 1.2.0-alpha07 contiene questi commit.
Nuove funzionalità
- È stato aggiunto un nuovo controllo lint di
InvalidFragmentVersionForActivityResult
che verifica che utilizzi Fragment1.3.0-alpha07
quando utilizzi l'API Activity Result, per evitare arresti anomali di runtime a causa di problemi di "codice di richiesta non valido" e richieste di autorizzazione non funzionanti causate dall'utilizzo di versioni precedenti di Fragments. (b/152554847)
Contributo esterno
- È stato corretto un
ArrayIndexOutOfBoundsException
quando analizza i risultati per l'attivitàRequestPermission
Contratto relativo al risultato. (I8f9e3, b/161057605)
Versione 1.2.0-alpha06
10 giugno 2020
Vengono rilasciate le versioni androidx.activity:activity:1.2.0-alpha06
e androidx.activity:activity-ktx:1.2.0-alpha06
. La versione 1.2.0-alpha06 contiene questi commit.
Nuove funzionalità
- Ora puoi destrutturare la classe
ActivityResult
in Kotlin per accede direttamente arequestCode
eintent
. (b/157212935) ActivityResultLauncher
ora ti consente di ottenereActivityResultContract
utilizzato per registrare Avvio app. (b/156875743)
Modifiche alle API
- Modifica che provoca un errore: il metodo
invoke()
suActivityResultRegistry
è stato rinominato inonLaunch()
. (b/157496491) - Il contratto
OpenMultipleDocuments
ora restituisce un elenco vuoto anzichénull
al callback registrato se non viene restituito alcun risultato. (b/157348014)
Versione 1.2.0-alpha05
20 maggio 2020
Vengono rilasciate le versioni androidx.activity:activity:1.2.0-alpha05
e androidx.activity:activity-ktx:1.2.0-alpha05
. La versione 1.2.0-alpha05 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto di
ViewTreeViewModelStoreOwner
da Ciclo di vita2.3.0-alpha03
eViewTreeSavedStateRegistryOwner
da SavedState1.1.0-alpha01
quando si utilizza unView
in unComponentActivity
. (aosp/1297993, aosp/1300264)
Modifiche alle API
- Il contratto
TakePicture
ora restituisce unboolean
che indica l'esito positivo anziché una miniaturaBitmap
, poiché questa funzionalità era supportata molto raramente dalle app 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
- L'
ActivityResultRegistry
ora genera codici di richiesta a partire da0xFFFF
anziché da0
, evitando sovrapposizioni quando utilizzistartActivityForResult()
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à
- Aggiunto un contratto che può chiamare startIntentSenderForResult alle API ActivityResult. (b/153007517)
Modifiche alle API
- Il metodo
prepareCall()
è stato rinominato inregisterForActivityResult()
, sia suComponentActivity
qui che in Framment1.3.0-alpha04
. (aosp/1278717) - I contratti
GetContents
,OpenDocuments
eRequestPermissions
sono stati rinominati rispettivamente inGetMultipleContents
,OpenMultipleDocuments
eRequestMultiplePermissions
. (aosp/1280161) - Ora
ComponentActivity
implementa l'interfacciaActivityResultRegisteryOwner
. (aosp/1290888) - - Le API
startActivityForResult()
/onActivityResult()
eonRequestPermissionsResult()
suComponentActivity
sono state deprecate. Usa le API Activity Result. (b/154751887)
Correzioni di bug
- Quando utilizzi i contratti
GetMultipleContents
eOpenMultipleDocuments
e selezioni un singolo articolo, ora viene restituito correttamente al callback. (b/152941153)
Versione 1.2.0-alpha03
1° aprile 2020
Vengono rilasciate le versioni androidx.activity:activity:1.2.0-alpha03
e androidx.activity:activity-ktx:1.2.0-alpha03
. 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 i risultati con un
ActivityOptionsCompat
facoltativo. (b/151860054)
Modifiche alle API
- Il contratto
TakePicture
ora richiede 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()
suActivityResultRegistry
è 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 richiede 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 assegnare correttamente lo stato "concesso" se le autorizzazioni richieste sono già state concesse. (b/151110799) - Il contratto
Dial
precedentemente disponibile è stato rimosso in quantoIntent
non è destinato all'utilizzo constartActivityForResult()
. (aosp/1266916) - Molte delle API Activity Result che non intendevano essere estese ora sono
final
. Sono inclusigetActivityResultRegistry()
, i metodiprepareCall()
, tutti i metodi diActivityResultRegistry
tranneinvoke()
e una serie di contratti predefiniti che non supportano gli extra facoltativi. (b/152439361)
Correzioni di bug
- È stato corretto un
NullPointerException
inActivityResultRegistry
durante il tentativo di fornire risultati a un callback che non è stato ancora registrato nuovamente dopo una modifica alla configurazione. OraActivityResultRegistry
conserva i risultati in sospeso e li invia quando la richiamata viene registrata di nuovo. (b/152137004)
Versione 1.2.0-alpha02
18 marzo 2020
Vengono rilasciate le versioni androidx.activity:activity:1.2.0-alpha02
e androidx.activity:activity-ktx:1.2.0-alpha02
. La versione 1.2.0-alpha02 contiene questi commit.
Nuove funzionalità
- ActivityResultRegistry: ora
ComponentActivity
fornisce unActivityResultRegistry
che ti consente di gestire i flussistartActivityForResult()
+onActivityResult()
erequestPermissions()
+onRequestPermissionsResult()
senza eseguire l'override dei metodi nell'Attività o Fragment, offre una maggiore sicurezza dei tipi tramiteActivityResultContract
e fornisce hook per testare questi flussi. Consulta la sezione Come ottenere un risultato da un'attività aggiornata. (b/125158199)
Versione 1.2.0-alpha01
4 marzo 2020
Vengono rilasciate le versioni androidx.activity:activity:1.2.0-alpha01
e androidx.activity:activity-ktx:1.2.0-alpha01
. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto per l'API
ViewTreeLifecycleOwner.get(View)
aggiunta nel Ciclo di vita2.3.0-alpha01
in modo da restituire l'Attività comeLifecycleOwner
per tutte le viste aggiunte 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 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 del ciclo di vita ViewModel SavedState:
SavedStateViewModelFactory
è ora il valore di fabbrica predefinito utilizzato quando si utilizzaby viewModels()
, il costruttoreViewModelProvider
oppureViewModelProviders.of()
conComponentActivity
o le relative sottoclassi.
Versione 1.1.0-rc03
4 dicembre 2019
Vengono rilasciate le versioni androidx.activity:activity:1.1.0-rc03
e androidx.activity:activity-ktx:1.1.0-rc03
. La versione 1.1.0-rc03 contiene questi commit.
Modifiche alle dipendenze
- L'attività ora dipende dal ciclo di vita
2.2.0-rc03
e da Lifecycle ViewModel SavedState1.0.0-rc03
.
Versione 1.1.0-rc02
7 novembre 2019
Vengono rilasciate le versioni androidx.activity:activity:1.1.0-rc02
e androidx.activity:activity-ktx:1.1.0-rc02
. 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 rilasciate senza modifiche a partire dal giorno 1.1.0-beta01
. La versione 1.1.0-rc01 contiene questi commit.
Versione 1.1.0-beta01
9 ottobre 2019
Vengono rilasciate le versioni androidx.activity:activity:1.1.0-beta01
e androidx.activity:activity-ktx:1.1.0-beta01
. La versione 1.1.0-beta01 contiene questi commit.
Modifiche alle dipendenze
- L'attività ora dipende dalla versione stabile di SavedState 1.0.0.
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
- L'attività ora dipende dal ciclo di vita
2.2.0-alpha04
.
Versione 1.1.0-alpha02
7 agosto 2019
Vengono rilasciate le versioni androidx.activity:activity:1.1.0-alpha02
e androidx.activity:activity-ktx:1.1.0-alpha02
. 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
Vengono rilasciate le versioni androidx.activity:activity:1.1.0-alpha01
e androidx.activity:activity-ktx:1.1.0-alpha01
. 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 sulifecycle-runtime-ktx
; non devi più aggiungerlo esplicitamente alle tue 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
Vengono rilasciate le versioni androidx.activity:activity:1.0.0
e androidx.activity:activity-ktx:1.0.0
. I commit inclusi in questa versione sono disponibili qui.
Funzionalità principali di 1.0.0
- ComponentActivity:
ComponentActivity
funge da nuova classe base perFragmentActivity
in Fragment1.1.0
e, di conseguenza,AppCompatActivity
in AppCompat1.1.0
. - activity-ktx: il modulo
activity-ktx
include un'estensione della proprietà Kotlinby viewModels
per accedere ai ViewModels. Questo modulo viene incluso automaticamente quando includifragment-ktx
di Frammento1.1.0
. - OnBackPressedDispatcher: come alternativa componibile alla sostituzione di
onBackPressed()
, ora puoi registrare un elementoOnBackPressedCallback
da qualsiasiLifecycleOwner
(ad esempio un frammento) per intercettare gli eventi del pulsante Indietro del sistema. Una versione lambda con ricevitoreaddCallback
è stata aggiunta aactivity-ktx
. Per ulteriori dettagli, consulta Documentazione personalizzata per la navigazione a ritroso. - Ritiro di onKeepCustomNonConfigurationInstance: le API
onRetainCustomNonConfigurationInstance()
e le relative APIgetLastCustomNonConfigurationInstance()
sono state deprecate. Ti consigliamo vivamente di utilizzare i ViewModel per archiviare lo stato di non configurazione, in quanto offrono una soluzione componibile adatta a qualsiasiViewModelStoreOwner
che rende chiara la proprietà degli oggetti conservati e fornisce un callbackonCleared()
per la pulizia delle risorse quando l'attività viene infine 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 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 alle API
- Modifica che provoca un errore: i metodi
addOnBackPressedCallback
eremoveOnBackPressedCallback
precedentemente deprecati suComponentActivity
sono stati rimossi. aosp/953857 - I metodi
setEnabled()
eisEnabled()
diOnBackPressedCallback
sono ora definitivi. b/131416833 - Il metodo
remove()
diOnBackPressedCallback
è ora definitivo. aosp/952720 - Ora in
OnBackPressedDispatcher
sono disponibili costruttori pubblici che ti consentono di creare le tue istanze per i test e così via. aosp/953431 onBackPressed()
perComponentActivity
è ora contrassegnato esplicitamente come@MainThread
aosp/952721
Correzioni di bug
- È stato corretto un
ConcurrentModificationException
durante la chiamata diremove()
dal metodohandleOnBackPressed()
di un elementoOnBackPressedCalback
aggiunto con unLifecycleOwner
. B/131765095
Versione 1.0.0-alpha07
25 aprile 2019
Vengono rilasciate le versioni androidx.activity:activity:1.0.0-alpha07
e androidx.activity:activity-ktx:1.0.0-alpha07
. 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 retro personalizzato.
- I metodi per
OnBackPressedCallback
eOnBackPressedDispatcher
sono stati contrassegnati come@MainThread
. (aosp/943813) - Il metodo
handleOnBackPressed()
non restituisce piùboolean
. Al contrario,OnBackPressedCallback
ora è una classe astratta che può essere abilitata o disabilitata, solo quando il nuovo metodoisEnabled()
restituisce truehandleOnBackPressed()
e in cui 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à, permettendoti di chiamareremove()
durantehandleOnBackPressed()
. (aosp/944519) (aosp/946316) activity-ktx
ora contiene un callback con ambito ricevitore peraddCallback
che accetta un lamdba 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 alle 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 delle app che delle librerie. (b/128352521) - Le API correlate a
OnBackPressedCallback
su ComponentActivity sono state deprecate a favore del nuovoOnBackPressedDispatcher
, recuperabile tramitegetOnBackPressedDispatcher()
. (aosp/922523) - I metodi per aggiungere un nuovo
OnBackPressedCallback
all'elementoOnBackPressedDispatcher
ora restituiscono un oggettoCancellable
, consentendo la rimozione del callback senza richiedere un riferimento esplicito aOnBackPressedDispatcher
. (aosp/922523) - L'aggiunta di un
OnBackPressedCallback
con unLifecycleOwner
associato ora comporta l'aggiunta e la rimozione diOnBackPressedCallback
quando il ciclo di vita viene avviato e arrestato, rispettivamente. (aosp/922523)
Versione 1.0.0-alpha05
13 marzo 2019
androidx.activity:activity:1.0.0-alpha05
e
Vengono rilasciati androidx.activity:activity-ktx:1.0.0-alpha05
. L'elenco completo dei commit
incluse in questa versione, sono disponibili 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à
- Aggiunto il supporto per l'annotazione della classe
@ContentView
che consente di indicare quale file XML di layout deve essere gonfiato in alternativa all'utilizzo disetContentView()
. (aosp/837619)
Modifiche alle API
- È stata aggiunta una nota che indica che
getViewModelStore()
non deve essere sostituito e sarà reso definitivo in una release futura. Invia una richiesta di funzionalità se stai eseguendo l'override di questo metodo. (aosp/837619)
Correzioni di bug
- Il modulo
activity
ora dipende dalla versione 2.1.0-alpha02 di ViewModel per soddisfare la dipendenza del moduloactivity-ktx
.
Versione 1.0.0-alpha03
17 dicembre 2018
Viene rilasciato androidx.activity 1.0.0-alpha03
.
Nuove funzionalità
- ComponentActivity ora implementa
BundleSavedStateRegistryOwner
e dipende dalla libreria SavedState appena rilasciata [aosp/815133] - ComponentActivity ora funziona in merito a un bug del framework Android che causava la divulgazione dell'ultima vista mirata [b/37122102]
Versione 1.0.0-alpha02
3 dicembre 2018
Modifiche alle API
- È stata aggiunta una nota che indica che
getLifecycle()
non deve essere sostituito e verrà apportatafinal
in una release futura. Invia una funzione richiesta se stanno eseguendo l'override di questo metodo. (aosp/815834)
Versione 1.0.0-alpha01
5 novembre 2018
androidx.activity 1.0.0-alpha01
introduce
ComponentActivity
, una nuova classe base di FragmentActivity
e
AppCompatActivity
.
Nuove funzionalità
- Ora puoi registrare un
OnBackPressedCallback
tramiteaddOnBackPressedCallback
per ricevere callbackonBackPressed()
senza dover sostituire il metodo nella tua attività. - È stato aggiunto un nuovo delegato della proprietà Kotlin
by viewModels()
per il recuperoViewModel
daComponentActivity
. - Gli eventi di input in sospeso (come i clic) vengono ora annullati in
onStop()
.
Modifiche alle API
- L'implementazione di
LifecycleOwner
eViewModelStoreOwner
è stata spostato daFragmentActivity
aComponentActivity
. - L'API
onRetainCustomNonConfigurationInstance
è stata deprecata. Utilizza unViewModel
per l'archiviazione di oggetti che devono rimanere validi per le modifiche di configurazione.