Activité
Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
---|---|---|---|---|
24 juillet 2024 | 1.9.1 | - | - | 1.10.0-alpha01 |
Déclarer des dépendances
Pour ajouter une dépendance sur Activity, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.
Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle
de votre application ou de votre module :
Groovy
dependencies { def activity_version = "1.9.1" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.9.1" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Version 1.10
Version 1.10.0-alpha01
26 juin 2024
Publication d'androidx.activity:activity:1.10.0-alpha01
, androidx.activity:activity-compose:1.10.0-alpha01
et androidx.activity:activity-ktx:1.10.0-alpha01
. Cette version est développée dans une branche interne.
Nouvelles fonctionnalités
- Ajout de la prise en charge des nouvelles fonctionnalités
PhotoPicker
introduites dans Android V, y compris la possibilité de sélectionner les images dans l'ordre et de choisir l'onglet (albums ou images) à afficher initialement.
Version 1.9
Version 1.9.1
24 juillet 2024
Publication d'androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
et androidx.activity:activity-ktx:1.9.1
. La version 1.9.1 contient ces commits.
Correction de bugs
- Correction d'un problème lié à
PredictiveBackHandler
qui entraînait l'échec de la tentative d'exécution deonBackPressed
à partir deOnBackPressedDispatcher
après avoir rétabli le système (I5f1f8).
Version 1.9.0
17 avril 2024
Publication d'androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
et androidx.activity:activity-ktx:1.9.0
. La version 1.9.0 contient ces commits.
Changements importants depuis la version 1.8.0
ComponentActivity
implémente désormaisOnUserLeaveHintProvider
pour permettre aux composants d'effectuer des rappels pour les événementsonUserLeaveHint
.- Les API
OnBackPressedCallback
,BackHandler
etPredictiveBackHandler
vous avertissent désormais lors de l'appel deonBackPressedDispatcher.onBackPressed()
lors de la gestion, car cela interrompt toujours l'animation de prévisualisation du Retour. Pour en savoir plus, consultez le guide des bonnes pratiques. - Le reste des API Activity a été réécrit en Kotlin, et toutes les extensions auparavant disponibles dans
activity-ktx
ont été déplacées versactivity
.activity-ktx
est maintenant complètement vide.- Dans le cadre de la conversion de
ActivityResultLauncher
en Kotlin, la méthodegetContract
est désormais une propriété Kotlin abstraite. Cette modification est compatible avec le binaire, mais elle ne fonctionne pas correctement si votre implémentation deActivityResultLauncher
est écrite en Kotlin.
- Dans le cadre de la conversion de
Version 1.9.0-rc01
3 avril 2024
Publication d'androidx.activity:activity:1.9.0-rc01
, androidx.activity:activity-compose:1.9.0-rc01
et androidx.activity:activity-ktx:1.9.0-rc01
. La version 1.9.0-rc01 contient ces commits.
Mise à jour de la dépendance
- Activity dépend désormais de Profile Installer 1.3.1.
Version 1.9.0-beta01
20 mars 2024
Publication d'androidx.activity:activity:1.9.0-beta01
, androidx.activity:activity-compose:1.9.0-beta01
et androidx.activity:activity-ktx:1.9.0-beta01
. La version 1.9.0-beta01 contient ces commits.
Correction de bugs
- Correction d'une régression des performances de démarrage d'activité introduite dans Activity
1.9.0-alpha02
, causée par l'appel deOnBackPressedDispatcher
lors de la création de l'activité. (Ie75e3).
Version 1.9.0-alpha03
7 février 2024
Publication d'androidx.activity:activity:1.9.0-alpha03
, androidx.activity:activity-compose:1.9.0-alpha03
et androidx.activity:activity-ktx:1.9.0-alpha03
. Liste des commits de la version 1.9.0-alpha03
Avertissement d'analyse lint
- Les API
OnBackPressedCallback
,BackHandler
etPredictiveBackHandler
vous avertissent désormais lors de l'appel deonBackPressedDispatcher.onBackPressed()
lors de la gestion, car cela interrompt toujours l'animation de prévisualisation du Retour. Pour en savoir plus, consultez le guide des bonnes pratiques. (1e4222, 2c950d, b/287505200).
Correction de bugs
- Si un événement de retour est envoyé par le système au cours d'une prévisualisation du geste Retour déjà en cours, celle-ci est annulée et le nouvel événement de retour prend le relais pour lancer une nouvelle prévisualisation du geste Retour. (I3482e).
- Correction d'un plantage lors de l'accès à
onBackPressedDispatcher
depuis unComponentActivity
pour la première fois à partir d'un thread en arrière-plan. Vous pouvez désormais accéder àonBackPressedDispatcher
en toute sécurité sur n'importe quel thread. (I79955).
Version 1.9.0-alpha02
24 janvier 2024
Publication d'androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
et androidx.activity:activity-ktx:1.9.0-alpha02
. Liste des commits de la version 1.9.0-alpha02
Conversions Kotlin
ActivityResultRegistry
a été réécrit en Kotlin. Cela garantit que la possibilité de valeur nulle des éléments génériques du contrat transmis àregister
sera correctement transmise àActivityResultLauncher
, qui vous sera renvoyé. (I121f0).ActivityResult
a été réécrit en Kotlin. Les extensions KotlinActivityResult
compatibles avec la déstructuration dans les champsresultCode
etdata
ont été déplacées deactivity-ktx
versactivity
. (I0565a).- Les extensions Kotlin de
by viewModels()
pourComponentActivity
ettrackPipAnimationHintView
ont été déplacées deactivity-ktx
versactivity
. L'artefactactivity-ktx
est maintenant complètement vide. (I0a444).
Correction de bugs
- L'API
enableEdgeToEdge
dessine désormais autour de toutes les encoches. (a3644b, b/311173461). - À partir de Activity
1.8.2
: correction de l'extra transmis auACTION_SYSTEM_FALLBACK_PICK_IMAGES
du contrat d'activité du sélecteur de photos pour lui transmettre correctement la cléEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
, au lieu d'utiliser l'extra avec la clé"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Il est vivement recommandé si vous êtes un OEM et que vous implémentez un sélecteur de photos de remplacement pour le système afin de prendre en charge les deux extras et ainsi d'assurer une compatibilité optimale. (I96a00).
Version 1.9.0-alpha01
29 novembre 2023
Publication d'androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
et androidx.activity:activity-ktx:1.9.0-alpha01
. Liste des commits de la version 1.9.0-alpha01
Nouvelles fonctionnalités
ComponentActivity
implémente désormaisOnUserLeaveHintProvider
pour permettre aux composants d'effectuer des rappels pour les événementsonUserLeaveHint
. (I54892).
Modifications apportées à l'API
ComponentActivity
a été réécrit en Kotlin. (I14f31).ActivityResultCaller
a été réécrit en Kotlin. (Ib02e4).ActivityResultLauncher
a été réécrit en Kotlin. Dans le cadre de cette conversion, la méthodegetContract
est désormais une propriété Kotlin abstraite. Cette modification est compatible avec le binaire, mais elle ne fonctionne pas correctement si votre implémentation deActivityResultLauncher
est écrite en Kotlin. (Id4615).PickVisualMediaRequest
possède désormais le même niveau d'API minimal (19) que le contrat de résultat d'activitéPickVisualMedia
. (Id6e21).
Mise à jour de la dépendance
- Activity dépend désormais de Core
1.13.0-alpha01
. (I14f31).
Version 1.8
Version 1.8.2
13 décembre 2023
Publication d'androidx.activity:activity:1.8.2
, androidx.activity:activity-compose:1.8.2
et androidx.activity:activity-ktx:1.8.2
. Liste des commits de la version 1.8.2
Correction de bugs
- Correction de l'extra transmis au
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
du contrat d'activité du sélecteur de photos pour lui transmettre correctement la cléEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
, au lieu d'utiliser cet extra avec la clé"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Il est vivement recommandé si vous êtes un OEM et que vous implémentez un sélecteur de photos de remplacement pour le système afin de prendre en charge les deux extras et ainsi d'assurer une compatibilité optimale. (I96a00).
Version 1.8.1
15 novembre 2023
Publication d'androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
et androidx.activity:activity-ktx:1.8.1
. Liste des commits de la version 1.8.1
Correction de bugs
OnBackPressedDispatcher
continue désormais de s'envoyer au bonOnBackPressedCallback
, même après l'ajout d'unOnBackPressedCallback
pendant la gestion du geste Retour. (Id0ff6).
Version 1.8.0
4 octobre 2023
Publication d'androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
et androidx.activity:activity-ktx:1.8.0
. Liste des commits de la version 1.8.0
Changements importants depuis la version 1.7.0
- Prédiction du retour :
OnBackPressedCallback
propose désormais de nouveaux rappels de prévisualisation du Retour pour gérer le démarrage du geste Retour, la progression tout au long du geste et l'annulation du geste Retour, en plus du rappelhandleOnBackPressed()
précédent lorsque le geste Retour est validé. Il est également fourni avec le composablePredictiveBackHandler
, qui permet de gérer les événements de prévisualisation du geste Retour dans Activity Compose. Il fournit un flux d'objets BackEventCompat qui doivent être collectés dans le lamba de suspension que vous fournissez:
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
}
}
Abandon de ComponentActivity.onBackPressed()
au profit des API de gestion. Les développeurs doivent désormais utiliser OnBackPressedDispatcher
au lieu de remplacer cette méthode.
- EdgeToEdge :
ComponentActivity.enableEdgeToEdge()
a été ajouté pour permettre de configurer facilement l'écran bord à bord de manière rétrocompatible.
Version 1.8.0-rc01
20 septembre 2023
Publication d'androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
et androidx.activity:activity-ktx:1.8.0-rc01
. Liste des commits de la version 1.8.0-rc01
Version 1.8.0-beta01
6 septembre 2023
Publication d'androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
et androidx.activity:activity-ktx:1.8.0-beta01
. Liste des commits de la version 1.8.0-beta01
Amélioration de la documentation
- Amélioration de la documentation sur
BackEventCompat
. (aosp/2722254).
Version 1.8.0-alpha07
23 août 2023
Publication d'androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
et androidx.activity:activity-ktx:1.8.0-alpha07
. Liste des commits de la version 1.8.0-alpha07
Nouvelles fonctionnalités
Activity Compose a ajouté un nouveau composable
PredictiveBackHandler
pour gérer les événements de la prévisualisation du geste Retour. Il fournit unFlow
d'objetsBackEventCompat
qui doivent être collectés dans le lamba que vous fournissez: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 } }
Il affiche également un avertissement au moment de la compilation via une règle lint pour s'assurer que
Flow
appellecollect()
. (Id2773, b/294884345).onBackPressedDispatcher
dansComponentActivity
est maintenant initialisé en différé afin qu'il ne soit créé que lorsque cela est nécessaire. (I0bf8e).
Correction de bugs
ComponentActivity
n'affichera plus de NPE sur Android 13 lorsqu'il recevra un rappelonBackPressed()
et que l'activité aura déjà étéDESTROYED
. (Idb055, b/291869278).- Suppression des utilisations de l'API
isAtLeastU()
expérimentale. (Ie9117, b/289269026)
Version 1.8.0-alpha06
21 juin 2023
Publication d'androidx.activity:activity:1.8.0-alpha06
, androidx.activity:activity-compose:1.8.0-alpha06
et androidx.activity:activity-ktx:1.8.0-alpha06
. Liste des commits de la version 1.8.0-alpha06
Nouvelles fonctionnalités
OnBackPressedDispatcher
annule désormais correctement tous les rappels supprimés lors d'une prévisualisation du geste Retour. (I3f90f).
Modifications apportées à l'API
- Lorsque vous transmettez
SystemBarStyle.auto
à l'APIenableEdgeToEdge
, vous pouvez désormais ignorer le paramètre lambdadetectDarkMode
afin de fournir une logique personnalisée pour détecter le mode Nuit. (aosp/2546393, b/278263793).
Version 1.8.0-alpha05
7 juin 2023
Publication d'androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
et androidx.activity:activity-ktx:1.8.0-alpha05
. Cette version est développée dans une branche interne.
Modifications apportées à l'API
- Activity fournit désormais une classe
BackEventCompat
qui sert de version rétrocompatible deBackEvent
, découplée de la classeBackEvent
du framework. - Modification destructive:les méthodes
handleOnBackStarted
ethandleOnBackProgressed
deOnBackPressedCallback
reçoivent désormais une instanceandroidx.activity.BackEventCompat
au lieu d'une classeandroid.window.BackEvent
de framework. Les API@VisibleForTesting
équivalentes surOnBackPressedDispatcher
ont également été mises à jour. - Le constructeur de
OnBackPressedDispatcher
utilise désormais une instanceConsumer<Boolean>
facultative qui permet aux propriétaires du coordinateur de recevoir un rappel chaque fois que le nombre de rappels activés passe de zéro à une valeur non nulle ou inversement.
Correction de bugs
- À partir de Activity
1.7.2
: correction du plantage deReportDrawn
lorsqu'on quittait un écran avant l'appel dereport
. (Ic46f1, b/260506820).
Version 1.8.0-alpha04
10 mai 2023
Publication d'androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
et androidx.activity:activity-ktx:1.8.0-alpha04
. Publication à partir d'une branche interne.
Correction de bugs
- À partir de Activity 1.7.1 :
ReportFullyDrawExecuter
ne fuit plus lors de l'utilisation deComponentActivity
avecActivityScenario
. (Id2ff2, b/277434271).
Version 1.8.0-alpha03
12 avril 2023
Publication d'androidx.activity:activity:1.8.0-alpha03
, androidx.activity:activity-compose:1.8.0-alpha03
et androidx.activity:activity-ktx:1.8.0-alpha03
. Publication à partir d'une branche interne.
Nouvelles fonctionnalités
- Ajout de
ComponentActivity.setUpEdgeToEdge()
pour configurer facilement l'affichage bord à bord de manière rétrocompatible.
Modifications apportées à l'API
- Abandon de
ComponentActivity.onBackPressed()
au profit des API de gestion. Les développeurs doivent désormais utiliserOnBackPressedDispatcher
au lieu de remplacer cette méthode. (Ibce2f, b/271596918). ComponentDialog
etComponentActivity
contiennent désormais l'API publiqueinitViewTreeOwners()
, qui permet d'initialiser tous les propriétaires de l'arborescence de vues avant de définir la vue de contenu. (Ibdce0, b/261314581).
Correction de bugs
- Correction d'un problème qui provoquait l'invalidation incorrecte de MenuHosts par les fragments, ce qui entraînait un comportement inattendu des autres menus de l'activité. (I9404e, b/244336571).
Autres changements
ActivityResultRegister
utilise désormais KotlinRandom
au lieu de Java. (I4d98f, b/272096025).
Version 1.8.0-alpha02
8 mars 2023
Publication d'androidx.activity:activity:1.8.0-alpha02
, androidx.activity:activity-compose:1.8.0-alpha02
et androidx.activity:activity-ktx:1.8.0-alpha02
. Développé à partir d'une branche interne.
Mise à jour de la dépendance
- Dans Activité
1.7.0-rc01
: l'activité dépend désormais deLifecycle 2.6.0
.
Version 1.8.0-alpha01
8 février 2023
Publication d'androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
et androidx.activity:activity-ktx:1.8.0-alpha01
. Créé à partir d'une branche interne.
Nouvelles fonctionnalités
- La classe
OnBackPressedCallback
contient désormais de nouveaux rappels de progression de la prévisualisation du Retour pour gérer le démarrage du geste de retour, la progression tout au long de ce geste et son annulation en plus du rappelhandleOnBackPressed()
précédent lorsque le geste de retour est validé.
Version 1.7
Version 1.7.2
24 mai 2023
Publication d'androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
et androidx.activity:activity-ktx:1.7.2
. Liste des commits de la version 1.7.2
Correction de bugs
- Correction du plantage de
ReportDrawn
lors de la navigation en dehors d'un écran avant l'appel dereport
. (Ic46f1, b/260506820).
Version 1.7.1
19 avril 2023
Publication d'androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
et androidx.activity:activity-ktx:1.7.1
. Liste des commits de la version 1.7.1
Correction de bugs
ReportFullyDrawExecuter
ne fuit plus lors de l'utilisation deComponentActivity
avecActivityScenario
. (Id2ff2, b/277434271).
Version 1.7.0
22 mars 2023
Publication d'androidx.activity:activity:1.7.0
, androidx.activity:activity-compose:1.7.0
et androidx.activity:activity-ktx:1.7.0
. Liste des commits de la version 1.7.0
Changements importants depuis la version 1.6.0
- Les contrats d'activité du sélecteur de photos dans
PickVisualMedia
etPickMultipleVisualMedia
ont été mis à jour pour contenir une solution de secours supplémentaire lorsqueMediaStore.ACTION_PICK_IMAGES
n'est pas disponible. Cela permet aux OEM et aux applications système, comme les services Google Play, de proposer une expérience cohérente du sélecteur de photos sur un plus grand nombre d'appareils Android et de niveaux d'API en implémentant l'action de remplacement. Le sélecteur de photos utilisera ce remplacement s'il est disponible avant de revenir àIntent.ACTION_OPEN_DOCUMENT
, qui reste compatible avec tous les appareils utilisant le niveau d'API 19 ou supérieur. ComponentDialog
implémente désormaisSavedStateRegistryOwner
, a accès à son propreSavedStateRegistry
et définitSavedStateRegistryOwner
pour sonViewTree
. Il est désormais possible d'utiliser Jetpack Compose dans unComponentDialog
, car il respecte à la fois lesLifecycleOwner
et lesSavedStateRegistryOwner
associés à Window via les exigences des APIViewTree
.IntentSenderRequest.Builder.setFlags()
vous permet désormais de définir plusieurs indicateurs à partir d'Intent
au lieu d'un seul.
Conversion Kotlin
Un certain nombre de classes Activity ont été converties en Kotlin. Toutes les classes converties conservent leur compatibilité binaire avec les versions précédentes. Les classes suivantes comportent des modifications incompatibles avec la source pour les classes écrites en Kotlin: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
Le tableau ci-dessous indique les conversions sources pour la nouvelle version d'Activity:
Activité 1.5 | Activité 1.6 |
---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
Ces classes ont également été converties en Kotlin, mais restent compatibles avec la source: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
et OnBackPressedDispatcher
.
API FullyDrawnReporter
ComponentActivity
fournit maintenant une instance FullyDrawnReporter
qui permet à plusieurs composants d'indiquer qu'ils sont prêts à interagir. ComponentActivity
attend que tous les composants aient terminé avant d'appeler reportFullyDrawn()
en votre nom. Ces API s'occupent des exigences temporelles et n'ont pas besoin d'être appelées dans le cadre d'un appel onDraw
.
Nous vous encourageons à activer les API suivantes :
- Envoi d'un signal à Android Runtime lorsque le démarrage est terminé pour s'assurer que tout le code exécuté au cours d'une séquence de démarrage multiframe est inclus et prioritaire pour la compilation en arrière-plan
- Envoi d'un signal à Macrobenchmark et Play Vitals lorsque votre application doit être considérée comme entièrement dessinée pour les métriques de démarrage, afin que vous puissiez suivre les performances
Trois API Activity Compose ont été ajoutées pour faciliter l'utilisation de FullyDrawnReporter
à partir de composables individuels:
ReportDrawn
indique que votre composable est immédiatement prêt à interagir.ReportDrawnWhen
utilise un prédicat (par exemple,list.count > 0
) pour indiquer à quel moment votre composable est prêt à interagir.ReportDrawnAfter
utilise une méthode de suspension qui, lorsqu'elle s'achève, indique que vous êtes prêt à interagir.
Mises à jour des dépendances
- Activity dépend désormais de Lifecycle
2.6.1
. (8fc31d). - Activity dépend désormais de ProfileInstaller
1.3.0
. (83d3b1).
Version 1.7.0-rc01
8 mars 2023
Publication d'androidx.activity:activity:1.7.0-rc01
, androidx.activity:activity-compose:1.7.0-rc01
et androidx.activity:activity-ktx:1.7.0-rc01
. Liste des commits de la version 1.7.0-rc01
Mise à jour de la dépendance
- Activity dépend désormais de
Lifecycle 2.6.0
.
Version 1.7.0-beta02
22 février 2023
Publication d'androidx.activity:activity:1.7.0-beta02
, androidx.activity:activity-compose:1.7.0-beta02
et androidx.activity:activity-ktx:1.7.0-beta02
. Liste des commits de la version 1.7.0-beta02
Modifications apportées à l'API
- L'action et l'extra utilisés par les contrats
PickVisualMedia
etPickMultipleVisualMedia
comme solution de remplacement lorsqueMediaStore.ACTION_PICK_IMAGES
n'est pas disponible sont désormais des constantes publiques qui assurent la stabilité de l'API aux OEM et aux applications système qui souhaitent offrir une expérience cohérente au sélecteur de photos. L'implémentation de ce remplacement est toujours limitée aux seules applications système. (Icd320).
Version 1.7.0-beta01
8 février 2023
Publication d'androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
et androidx.activity:activity-ktx:1.7.0-beta01
. Liste des commits de la version 1.7.0-beta01
Nouvelles fonctionnalités
IntentSenderRequest.Builder.setFlags()
vous permet désormais de définir plusieurs indicateurs à partir d'Intent
au lieu d'un seul. (Iac04c)
Correction de bugs
- L'élément de substitution de
PickVisualMedia
lorsque le sélecteur de photos du framework est indisponible limite désormais le traitement aux applications installées sur l'image système de l'appareil. (If8ae6)
Conversions Kotlin
ActivityResultRegistryOwner
est désormais écrit en Kotlin. Il s'agit d'une modification incompatible avec la source pour les classes écrites en Kotlin. Vous devez maintenant remplacer la propriétéactivityResultRegistry
au lieu d'implémenter la fonctiongetActivityResultRegistry()
précédente. (I0b00e)OnBackPressedDispatcherOwner
est désormais écrit en Kotlin. Il s'agit d'une modification incompatible avec la source pour les classes écrites en Kotlin. Vous devez maintenant remplacer la propriétéonBackPressedDispatcher
au lieu d'implémenter la fonctiongetOnBackPressedDispatcher
précédente. (Ia277d)ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
etOnBackPressedDispatcher
sont maintenant écrits en Kotlin. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
Version 1.7.0-alpha04
25 janvier 2023
Publication d'androidx.activity:activity:1.7.0-alpha04
, d'androidx.activity:activity-compose:1.7.0-alpha04
et d'androidx.activity:activity-ktx:1.7.0-alpha04
. Liste des commits de la version 1.7.0-alpha04.
Nouvelles fonctionnalités
- Les contrats Activity Result
PickVisualMedia
etPickMultipleVisualMedia
utiliseront désormais un sélecteur de photos fourni par les services Google Play, le cas échéant, lorsque le sélecteur de photos fourni par le système Android (par exemple,MediaStore.ACTION_PICK_IMAGES
) ne sera pas disponible. L'APIisPhotoPickerAvailable()
qui ne détecte que le sélecteur de photos fourni par le système Android est maintenant obsolète. Il est recommandé d'utiliser la nouvelle APIisPhotoPickerAvailable(Context)
, qui s'affichera si l'un des deux sélecteurs de photos est disponible. (I55be6)
Version 1.7.0-alpha03
11 janvier 2023
Publication d'androidx.activity:activity:1.7.0-alpha03
, d'androidx.activity:activity-compose:1.7.0-alpha03
et d'androidx.activity:activity-ktx:1.7.0-alpha03
. Liste des commits de la version 1.7.0-alpha03
Nouvelles fonctionnalités
ComponentDialog
implémente maintenantSavedStateRegistryOwner
, a accès à son propreSavedStateRegistry
et définitSavedStateRegistryOwner
pour son ViewTree. Vous pouvez désormais utiliser Jetpack Compose dansComponentDialog
, car il répond aux exigencesLifecycleOwner
etSavedStateRegistryOwner
associées à la fenêtre via les exigences des API ViewTree. (Idca17, I73468, b/261162296)
Modifications apportées à l'API
- Ajout d'un composable
ReportDrawn
qui marque immédiatement l'activité comme prête à appelerreportFullyDrawn
. (Ic5b14, b/259687964)
Conversions Kotlin
- Les classes
ActvitiyResultCallback
etOnBackPressedCallback
ont toutes deux été converties en Kotlin, tout en conservant une compatibilité source et binaire. (Ifc5e5, Ide1b0, b/257291701)
Version 1.7.0-alpha02
24 octobre 2022
Publication d'androidx.activity:activity:1.7.0-alpha02
, d'androidx.activity:activity-compose:1.7.0-alpha02
et d'androidx.activity:activity-ktx:1.7.0-alpha02
. Liste des commits de la version 1.7.0-alpha02
Correction de bugs
- Dans Activity
1.6.1
: résolution d'un problème qui empêchait le contrat de résultat d'activitéPickMultipleVisualMedia
de se lancer sur les appareils Android R lorsque la valeur par défaut demaxItems
était utilisée. (Ie2776, b/249182130)
Version 1.7.0-alpha01
5 octobre 2022
Publication d'androidx.activity:activity:1.7.0-alpha01
, d'androidx.activity:activity-compose:1.7.0-alpha01
et d'androidx.activity:activity-ktx:1.7.0-alpha01
. Liste des commits de la version 1.7.0-alpha01
API FullyDrawnReporter
ComponentActivity
fournit maintenant une instance FullyDrawnReporter
qui permet à plusieurs composants d'indiquer qu'ils sont prêts à interagir. ComponentActivity
attend que tous les composants aient terminé avant d'appeler reportFullyDrawn()
en votre nom. Ces API s'occupent des exigences temporelles et n'ont pas besoin d'être appelées dans le cadre d'un appel onDraw
.
Nous vous encourageons à activer les API suivantes :
- Envoi d'un signal à Android Runtime lorsque le démarrage est terminé pour s'assurer que tout le code exécuté au cours d'une séquence de démarrage multiframe est inclus et prioritaire pour la compilation en arrière-plan
- Envoi d'un signal à Macrobenchmark et Play Vitals lorsque votre application doit être considérée comme entièrement dessinée pour les métriques de démarrage, afin que vous puissiez suivre les performances
Deux API Activity Compose ont été ajoutées pour faciliter l'utilisation de FullyDrawnReporter
à partir de composables individuels :
ReportDrawnWhen
utilise un prédicat (par exemple,list.count > 0
) pour indiquer à quel moment votre composable est prêt à interagir.ReportDrawnAfter
utilise une méthode de suspension qui, lorsqu'elle s'achève, indique que vous êtes prêt à interagir.
Version 1.6.1
Version 1.6.1
24 octobre 2022
Publication d'androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
et d'androidx.activity:activity-ktx:1.6.1
. Liste des commits de la version 1.6.1
Correction de bugs
- Résolution d'un problème qui empêchait le contrat de résultat d'activité
PickMultipleVisualMedia
de se lancer sur les appareils Android R lorsque la valeur par défaut demaxItems
était utilisée. (Ie2776, b/249182130)
Version 1.6.0
Version 1.6.0
21 septembre 2022
Publication d'androidx.activity:activity:1.6.0
, d'androidx.activity:activity-compose:1.6.0
et d'androidx.activity:activity-ktx:1.6.0
. Liste des commits de la version 1.6.0
Changements importants depuis la version 1.5.0
- Ajout d'
ActivityResultContracts.PickVisualMedia
et d'ActivityResultContracts.PickMultipleVisualMedia
pour fournir un contrat rétrocompatible utilisantMediaStore.ACTION_PICK_IMAGES
lorsque le sélecteur de photos est disponible etIntent.ACTION_OPEN_DOCUMENT
lorsqu'il n'est pas disponible. - Intégration d'
OnBackInvokedCallback
dans Android 13 dans lesOnBackPressedDispatchers
fournis parComponentActivity
etComponentDialog
. Cela garantit que toutes les API basées surOnBackPressedDispatcher
fonctionnent lorsque vous activez une prévisualisation du geste Retour.
Version 1.6.0-rc02
7 septembre 2022
Publication d'androidx.activity:activity:1.6.0-rc02
, d'androidx.activity:activity-compose:1.6.0-rc02
et d'androidx.activity:activity-ktx:1.6.0-rc02
. Liste des commits de la version 1.6.0-rc02
Correction de bugs
OnBackPressedDispatcher
enregistre désormaisOnBackInvokedCallback
avec laPRIORITY_DEFAULT
au lieu dePRIORITY_OVERLAY
. (I3901f)- Les deux rappels de
onMultiWindowModeChanged()
seront désormais toujours envoyés aux classes qui étendentComponentActivity
. (Ic4d85) ActivityResultRegistry
ne renvoie plus de résultat auActivityResultCallback
lorsque l'appel delaunch
génère uneException
et que le rappel a été enregistré sansLifecycleOwner
. (Ia7ff7, b/238350794)ComponentActivity
enverra maintenant correctement les appels du menu sans avoir à appeler la fonction Super dans votre activité. (Ie33c5, b/238057118)
Mise à jour de la dépendance
- La bibliothèque
Activity
dépend désormais de Lifecycle2.5.1
. (If6697)
Version 1.6.0-rc01
24 août 2022
Publication d'androidx.activity:activity:1.6.0-rc01
, d'androidx.activity:activity-compose:1.6.0-rc01
et d'androidx.activity:activity-ktx:1.6.0-rc01
. Liste des commits de la version 1.6.0-rc01
Correction de bugs
- L'initialisation d'un
OnBackPressedDispatcher
ne génère plus deClassVerificationError
lors de l'utilisation de versions de SDK antérieures à la version 33. (Ic32e1) - Des rappels seront toujours envoyés aux classes qui ignorent le rappel
onPictureInPictureModeChanged()
deComponentActivity
. (Ib7fdb)
Version 1.6.0-beta01
10 août 2022
Publication d'androidx.activity:activity:1.6.0-beta01
, d'androidx.activity:activity-compose:1.6.0-beta01
et d'androidx.activity:activity-ktx:1.6.0-beta01
. Liste des commits de la version 1.6.0-beta01
Modifications apportées à l'API
- Marquage des méthodes
startActivityForResult
etstartIntentSenderForResult
obsolètes surComponentActivity
avec@NonNull
, car la transmission denull
a toujours entraîné un plantage. (Id2a25, b/231476082)
Correction de bugs
- À partir de Activity
1.5.1
: leActivityResultRegistry
ne renvoie plus de résultat auActivityResultCallback
lorsque l'appel delaunch
génère uneException
et que le rappel a été enregistré sansLifecycleOwner
. (Ia7ff7, b/238350794) - À partir de Activity
1.5.1
:ComponentActivity
enverra maintenant correctement les appels du menu vers les remplacements deonPrepareOptionMenu()
,onCreateOptionsMenu()
etonOptionsItemSelected()
, sans avoir à appeler la fonction Super. (Ie33c5, b/238057118)
Mise à jour de la dépendance
- À partir de Activity
1.5.1
: la bibliothèqueActivity
dépend désormais de la version2.5.1
deLifecycle
. (If6697)
Version 1.6.0-alpha05
15 juin 2022
Publication d'androidx.activity:activity:1.6.0-alpha05
, d'androidx.activity:activity-compose:1.6.0-alpha05
et d'androidx.activity:activity-ktx:1.6.0-alpha05
. La version 1.6.0-alpha05 a été développée dans une branche de version préliminaire privée et ne comporte aucun commit public.
Modifications apportées à l'API
minCompileSdk
correspond maintenant à 33 pour s'aligner sur le SDK de Tiramisu bêta 3.
Correction de bugs
- Correction du plantage sur les appareils plus anciens lors de la vérification de l'extension SDK de
PickVisualMedia
ActivityResultContract
afin qu'elle fonctionne désormais avecACTION_OPEN_DOCUMENT
sur les appareils exécutant Android 10 ou une version antérieure.
Version 1.6.0-alpha04
18 mai 2022
Publication d'androidx.activity:activity:1.6.0-alpha04
et d'androidx.activity:activity-ktx:1.6.0-alpha04
.
Correction de bugs
- Correction d'une erreur dans
PickVisualMediaRequest
provoquant un dépassement de pile lors de la tentative de création d'une requête via le compilateur ou la fonction Kotlin de niveau supérieur. - Intégration du
OnBackInvokedCallback
dans la version Dev bêta 2 d'Android 13 dans leOnBackPressedDispatcher
fourni parComponentDialog
. Cela garantit que toutes les API basées surOnBackPressedDispatcher
fonctionnent lorsque vous activez une prévisualisation du geste Retour.
Version 1.6.0-alpha03
27 avril 2022
Publication d'androidx.activity:activity:1.6.0-alpha03
, d'androidx.activity:activity-compose:1.6.0-alpha03
et d'androidx.activity:activity-ktx:1.6.0-alpha03
.
- Remarque : Cette version ne sera compilée qu'avec le SDK de la version Developer bêta 1 d'Android 13.
Nouvelles fonctionnalités
- Ajout d'
ActivityResultContracts.PickVisualMedia
et d'ActivityResultContracts.PickMultipleVisualMedia
pour fournir un contrat rétrocompatible utilisantMediaStore.ACTION_PICK_IMAGES
lorsque le sélecteur de photos est disponible etIntent.ACTION_OPEN_DOCUMENT
lorsqu'il n'est pas disponible. - Intégration d'
OnBackInvokedCallback
dans la version Dev bêta 1 d'Android 13 dans l'OnBackPressedDispatcher
fourni parComponentActivity
. Cela garantit que toutes les API basées surOnBackPressedDispatcher
fonctionnent lorsque vous activez une prévisualisation du geste Retour.
Version 1.6.0-alpha01
23 mars 2022
Publication d'androidx.activity:activity:1.6.0-alpha01
, d'androidx.activity:activity-compose:1.6.0-alpha01
et d'androidx.activity:activity-ktx:1.6.0-alpha01
.
- Remarque : Cette version ne sera compilée qu'avec le SDK de la version Preview développeur 2 d'Android 13.
Nouvelles fonctionnalités
- Modifications intégrées de la version Preview développeur 2 d'Android 13 dans
ComponentActivity
.
Version 1.5.1
Version 1.5.1
27 juillet 2022
Publication d'androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
et androidx.activity:activity-ktx:1.5.1
. Liste des commits de la version 1.5.1
Correction de bugs
ActivityResultRegistry
ne renvoie plus de résultat auActivityResultCallback
lorsque l'appel delaunch()
génère uneException
et que le rappel a été enregistré sansLifecycleOwner
. (Ia7ff7, b/238350794)ComponentActivity
enverra maintenant correctement les appels du menu vers les remplacements deonPrepareOptionMenu()
,onCreateOptionsMenu()
etonOptionsItemSelected()
, sans avoir à appeler la fonction Super. (Ie33c5, b/238057118)
Mise à jour de la dépendance
- La bibliothèque
Activity
dépend désormais de Lifecycle2.5.1
. (If6697)
Version 1.5.0
Version 1.5.0
29 juin 2022
Publication d'androidx.activity:activity:1.5.0
, androidx.activity:activity-compose:1.5.0
et androidx.activity:activity-ktx:1.5.0
. Liste des commits de la version 1.5.0
Changements importants depuis la version 1.4.0
- ComponentDialog :
ComponentDialog
est une sous-classe deDialog
comprenant unOnBackPressedDispatcher
qui sera appelé lorsque l'utilisateur appuie sur le bouton "Retour" du système et que la boîte de dialogue est visible. Il est important de noter que cette sous-classe définit également leViewTreeOnBackPressedDispatcherOwner
, ce qui permet aux vues d'utiliser un moyen générique pour récupérer le bon coordinateur, qu'il se trouve dans uneComponentActivity
ou uneComponentDialog
. - Interfaces de rappel :
ComponentActivity
implémente désormais un ensemble d'interfaces de rappel modulaires pouvant être utilisées à la place des rappels deActivity
. Parmi ces interfaces figurent les suivantes :OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
etOnMultiWindowModeChangedProvider
. - Intégration de CreationExtras :
ComponentActivity
peut désormais fournir unViewModelProvider.Factory
sans état via lesCreationExtras
de Lifecycle2.5.0
.
Autres modifications
- Abandon et remplacement du constructeur sans paramètre pour
ActivityResultContracts.CreateDocument
par un nouveau constructeur qui prend un type MIME concret (par exemple, "image/png") comme requis parIntent.ACTION_CREATE_DOCUMENT
.
Version 1.5.0-rc01
11 mai 2022
Publication d'androidx.activity:activity:1.5.0-rc01
, d'androidx.activity:activity-compose:1.5.0-rc01
et d'androidx.activity:activity-ktx:1.5.0-rc01
sans aucune modification par rapport à la version 1.5.0-beta01. Liste des commits de la version 1.5.0-rc01.
Version 1.5.0-beta01
20 avril 2022
Publication d'androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
et androidx.activity:activity-ktx:1.5.0-beta01
. Liste des commits de la version 1.5.0-beta01
Mises à jour des dépendances
- Activity dépend désormais de Lifecycle
2.4.0-beta01
.
Version 1.5.0-alpha05
6 avril 2022
Publication d'androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
et androidx.activity:activity-ktx:1.5.0-alpha05
. Liste des commits de la version 1.5.0-alpha05.
Correction de bugs
onPanelClosed()
deComponentActivity
appelle désormais également la fonction SuperonPanelClosed()
, ce qui résout le problème où la méthodeonContextMenuClosed
n'était pas appelée. (Ib6f77)
Version 1.5.0-alpha04
23 mars 2022
Publication d'androidx.activity:activity:1.5.0-alpha04
, androidx.activity:activity-compose:1.5.0-alpha04
et androidx.activity:activity-ktx:1.5.0-alpha04
. Liste des commits de la version 1.5.0-alpha04.
Correction de bugs
SavedStateViewFactory
est désormais compatible avecCreationExtras
, même lorsqu'ils ont été initialisés avec unSavedStateRegistryOwner
. Les arguments initialisés sont ignorés si des éléments supplémentaires sont fournis. (I6c43b, b/224844583)
Version 1.5.0-alpha03
23 février 2022
Publication d'androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
et androidx.activity:activity-ktx:1.5.0-alpha03
. Liste des commits de la version 1.5.0-alpha03
Modifications apportées à l'API
- Vous pouvez maintenant transmettre
CreationExtras
à la fonctionby viewModels()
de l'activité. (I6a3e6, b/217600303)
Version 1.5.0-alpha02
9 février 2022
Publication d'androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
et androidx.activity:activity-ktx:1.5.0-alpha02
. Liste des commits de la version 1.5.0-alpha02
Nouvelles fonctionnalités
ComponentActivity
implémente désormais l'interfaceOnPictureInPictureModeChangedProvider
pour permettre à n'importe quel composant de recevoir des événements de modification du mode Picture-in-picture. (I9f567)ComponentActivity
implémente désormais l'interfaceOnMultiWindowModeChangedProvider
pour permettre à n'importe quel composant de recevoir des événements de modification du mode multifenêtre. (I62d91)
Version 1.5.0-alpha01
26 janvier 2022
Publication d'androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
et androidx.activity:activity-ktx:1.5.0-alpha01
. Liste des commits de la version 1.5.0-alpha01
Nouvelles fonctionnalités
ComponentActivity
s'intègre désormais avec ViewModel CreationExtras, qui a été introduit dans Lifecycle2.5.0-alpha01
. (Ie7e00, b/207012584)- Ajout de
ComponentDialog
, une sous-classe deDialog
qui comprend unOnBackPressedDispatcher
qui sera appelé lorsque l'utilisateur appuie sur le bouton "Retour" du système lorsque la boîte de dialogue est visible. Il est important de noter que cette sous-classe définit également leViewTreeOnBackPressedDispatcherOwner
, ce qui permet aux vues d'utiliser un moyen générique pour récupérer le bon coordinateur, qu'il se trouve dans uneComponentActivity
ou uneComponentDialog
. (I8a1bc) ComponentActivity
implémente désormais la nouvelle interfaceOnNewIntentProvider
pour permettre à n'importe quel composant de recevoir ces événements. (If1f8b)ComponentActivity
implémente désormais la nouvelle interfaceOnConfigurationChangedProvider
pour permettre à n'importe quel composant de recevoir ces événements. (If623b)ComponentActivity
implémente désormais la nouvelle interfaceOnTrimMemoryProvider
pour permettre à n'importe quel composant de recevoir ces événements. (Ia9295)
Modifications apportées à l'API
- Abandon et remplacement du constructeur sans paramètre pour
ActivityResultContracts.CreateDocument
par un nouveau constructeur qui prend un type MIME concret (par exemple,"image/png"
) comme requis parIntent.ACTION_CREATE_DOCUMENT
. (I2bec6) - Le
OnBackPressedDispatcherOwner
associé à View peut désormais être récupéré viaViewTreeOnBackPressedDispatcherOwner
, au lieu de compter sur la diffusion duContext
. (I74685)
Correction de bugs
- Correction d'un plantage survenant lors du premier accès au
ViewModel
à partir d'un rappel deregisterForActivityResult()
ou de rappels d'unLifecycleObserver
ajoutés dansinit
d'uneComponentActivity
. (Ife83f)
Version 1.4.0
Version 1.4.0
27 octobre 2021
Publication d'androidx.activity:activity:1.4.0
, d'androidx.activity:activity-compose:1.4.0
et d'androidx.activity:activity-ktx:1.4.0
. Liste des commits de la version 1.4.0
Changements importants depuis la version 1.3.0
ComponentActivity
d'AndroidX implémente maintenant l'interfaceMenuHost
. Tous les composants peuvent ainsi ajouter des éléments de menu à laActionBar
en ajoutant une instanceMenuProvider
à l'activité. ChaqueMenuProvider
peut éventuellement être ajouté avec unLifecycle
qui contrôlera automatiquement la visibilité de ces éléments de menu en fonction de l'étatLifecycle
et gérera la suppression duMenuProvider
lorsque leLifecycle
est détruit.- La classe
ActivityResultContract
a été réécrite en Kotlin pour s'assurer que les développeurs qui écrivent des contrats personnalisés en Kotlin puissent définir la possibilité de valeur nulle correcte pour leurs classes d'entrée et de sortie. - La classe
ActivityResultContracts
et ses contrats ont été réécrits en Kotlin pour obtenir une possibilité de valeur nulle correcte.
Version 1.4.0-rc01
13 octobre 2021
Publication d'androidx.activity:activity:1.4.0-rc01
, d'androidx.activity:activity-compose:1.4.0-rc01
et d'androidx.activity:activity-ktx:1.4.0-rc01
. Liste des commits de la version 1.4.0-rc01
Correction de bugs
ActivityResultRegistry
ne renvoie plus de résultat auActivityResultCallback
lorsque l'appel delaunch
génère uneException
. (If4f91, b/200845664)
Version 1.4.0-beta01
29 septembre 2021
Publication d'androidx.activity:activity:1.4.0-beta01
, d'androidx.activity:activity-compose:1.4.0-beta01
et d'androidx.activity:activity-ktx:1.4.0-beta01
. Liste des commits de la version 1.4.0-beta01
Modifications apportées à l'API
- Correction du type des
ActivityResultContracts.OpenMultipleDocuments
etActivityResultContracts.GetMultipleContents
entraînant l'utilisation du type de sortie deList<? extends Uri>
lors de l'utilisation du code du langage de programmation Java. (If71de) - Les constantes publiques des classes
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
etActivityResultContracts.RequestMultiplePermissions
sont désormais accessibles lorsque vous utilisez Kotlin via leurs objetsCompanion
publics. (aosp/1832555)
Mises à jour de la documentation
- Le message d'abandon des API, désormais gérées par les API Activity Result, à savoir
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
etonRequestPermissionsResult
, comporte davantage de détails. (cce80f)
Version 1.4.0-alpha02
15 septembre 2021
Publication d'androidx.activity:activity:1.4.0-alpha02
, d'androidx.activity:activity-compose:1.4.0-alpha02
et d'androidx.activity:activity-ktx:1.4.0-alpha02
. Liste des commits de la version 1.4.0-alpha02
Nouvelles fonctionnalités
- L'artefact
activity-compose
contient maintenant une erreur de lintLaunchDuringComposition
qui vous empêche d'appeler la méthodelaunch
deActivityResultLauncher
dans la composition, car celle-ci ne doit pas avoir d'effets secondaires. Utilisez les API pour la gestion des effets secondaires. (7c2bbe, b/191347220)
Modifications apportées à l'API
- La classe
ActivityResultContract
a été réécrite en Kotlin pour s'assurer que les développeurs qui écrivent des contrats personnalisés en Kotlin puissent définir la possibilité de valeur nulle correcte pour leurs classes d'entrée et de sortie. (I8a8f5) - La classe
ActivityResultContracts
et ses contrats ont été réécrits en Kotlin pour obtenir une possibilité de valeur nulle correcte. (I69802)
Version 1.4.0-alpha01
1er septembre 2021
Publication d'androidx.activity:activity:1.4.0-alpha01
, d'androidx.activity:activity-compose:1.4.0-alpha01
et d'androidx.activity:activity-ktx:1.4.0-alpha01
. Liste des commits de la version 1.4.0-alpha01
Nouvelles fonctionnalités
ComponentActivity
d'AndroidX implémente maintenant l'interfaceMenuHost
. Tous les composants peuvent ainsi ajouter des éléments de menu à laActionBar
en ajoutant une instanceMenuProvider
à l'activité. ChaqueMenuProvider
peut éventuellement être ajouté avec unLifecycle
qui contrôlera automatiquement la visibilité de ces éléments de menu en fonction de l'étatLifecycle
et gérera la suppression duMenuProvider
lorsque leLifecycle
est détruit. (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)
}
Nouveaux comportements
- Le
ActivityResultRegistry
génère désormais uneIllegalStateException
lors d'une tentative d'appel delaunch()
sur unActivityResultLauncher
qui n'a pas été enregistré ou dont l'enregistrement a été annulé. (Ida75d, b/192567522)
Contribution externe
- Nous remercions dmitrilc pour la correction d'une faute de frappe dans la documentation sur
ActivityResult
. (#221)
Version 1.3.1
Version 1.3.1
4 août 2021
Publication d'androidx.activity:activity:1.3.1
, d'androidx.activity:activity-compose:1.3.1
et d'androidx.activity:activity-ktx:1.3.1
. Liste des commits de la version 1.3.1.
Mises à jour des dépendances
- Activity dépend désormais de Kotlin
1.5.21
. - Activity Compose dépend désormais de Compose
1.0.1
.
Version 1.3.0
Version 1.3.0
28 juillet 2021
Publication d'androidx.activity:activity:1.3.0
, d'androidx.activity:activity-compose:1.3.0
et d'androidx.activity:activity-ktx:1.3.0
. Liste des commits de la version 1.3.0
Changements importants depuis la version 1.2.0
- Artefact Activity Compose : l'artefact
activity-compose
fournit la méthode d'extensionsetContent
pour héberger votre UI Jetpack Compose dans une activité, ainsi que des wrappers spécifiques à Compose pour interagir avec les APIComponentActivity
pour la gestion du bouton "Retour" du système et des API Activity Result. Consultez la documentation pour en savoir plus. - Contrat CaptureVideo :
CaptureVideo
ActivityResultContract
remplace le contratTakeVideo
, désormais obsolète, et renvoie une valeur booléenne indiquant la réussite de l'opération, qui fonctionne avec de nombreuses applications d'appareil photo. - Suivi de la vue optimisée Picture-in-picture : les utilisateurs de
activity-ktx
peuvent désormais utiliser la méthode d'extensiontrackPipAnimationHintView
surActivity
pour recréer automatiquement lesPictureInPictureParams
avec la nouvelle position de la vue lorsqu'elle change de position par rapport à la fenêtre.
Version 1.3.0-rc02
14 juillet 2021
Publication d'androidx.activity:activity:1.3.0-rc02
, d'androidx.activity:activity-compose:1.3.0-rc02
et d'androidx.activity:activity-ktx:1.3.0-rc02
. Liste des commits de la version 1.3.0-rc02
Correction de bugs
- Les rappels de
ActivityResultRegistry
sont maintenant correctement enregistrés et restaurés. Les rappels ne sont donc pas dupliqués dans "savedState". (I97816, b/191893160)
Version 1.3.0-rc01
1er juillet 2021
Publication d'androidx.activity:activity:1.3.0-rc01
, d'androidx.activity:activity-compose:1.3.0-rc01
et d'androidx.activity:activity-ktx:1.3.0-rc01
sans aucune modification par rapport à la version 1.3.0-beta02
. Liste des commits de la version 1.3.0-rc01.
Version 1.3.0-beta02
16 juin 2021
Publication d'androidx.activity:activity:1.3.0-beta02
, d'androidx.activity:activity-compose:1.3.0-beta02
et d'androidx.activity:activity-ktx:1.3.0-beta02
. Liste des commits de la version 1.3.0-beta02.
Mise à jour de activity-compose
pour dépendre de Compose 1.0.0-beta09
. androidx.compose.ui:ui-test-junit4
comporte désormais une dépendance de temps de compilation sur activity-compose
.
Version 1.3.0-beta01
2 juin 2021
Publication d'androidx.activity:activity:1.3.0-beta01
, d'androidx.activity:activity-compose:1.3.0-beta01
et d'androidx.activity:activity-ktx:1.3.0-beta01
. Liste des commits de la version 1.3.0-beta01.
Modifications apportées à l'API
- La méthode
@Composable registerForActivityResult()
, qui était obsolète, a été supprimée. Veuillez utiliserrememberLauncherForActivityResult()
. (Ic39d3)
Version 1.3.0-alpha08
18 mai 2021
Publication d'androidx.activity:activity:1.3.0-alpha08
, d'androidx.activity:activity-compose:1.3.0-alpha08
et d'androidx.activity:activity-ktx:1.3.0-alpha08
. Liste des commits de la version 1.3.0-alpha08.
Nouvelles fonctionnalités
- Le nouveau
ActivityResultContract
deCaptureVideo
renvoie une valeur booléenne à votreActivityResultCallback
pour indiquer si votre vidéo a bien été enregistrée dans l'URI donné. Cela remplace le contratTakeVideo
, désormais obsolète, car les applications d'appareil photo sont très rarement compatibles avec le renvoi d'un bitmap miniature. Le résultat est donc inutile. (Ie21f2, b/185938070) - Ajout de l'API
Activity#setPipAnimationHintView
pour mettre à jour l'optimisation rect source des "PipParams" chaque fois que la vue se déplace. (I9063d)
Modifications apportées à l'API
- La fonction
rememberLauncherForActivityResult
renvoie désormais un lanceur d'applications qui abandonne la fonctionunregister()
. L'enregistrement et l'annulation de l'enregistrement du lanceur d'applications sont automatiquement gérés parrememberLauncherForActivityResult
. (I2443e)
Compatibilité avec Compose
androidx.activity:activity-compose:1.3.0-alpha08
n'est compatible qu'avec les versions1.0.0-beta07
et ultérieures de Compose.
Version 1.3.0-alpha07
21 avril 2021
Publication d'androidx.activity:activity:1.3.0-alpha07
, d'androidx.activity:activity-compose:1.3.0-alpha07
et d'androidx.activity:activity-ktx:1.3.0-alpha07
. Liste des commits de la version 1.3.0-alpha07.
Correction de bugs
rememberLauncherForActivityResult
renvoie désormais une référence stable à la même instanceActivityResultLauncher
, même si le contrat change en raison de recompositions. (Id2d6d)- L'utilisation de versions instables de Fragment ultérieures à la version
1.3.0
ne générera plus d'erreur de lint faux positif vous invitant à utiliser la version1.3.0
. (aosp/1670206, b/184847092)
Version 1.3.0-alpha06
7 avril 2021
Publication d'androidx.activity:activity:1.3.0-alpha06
, d'androidx.activity:activity-compose:1.3.0-alpha06
et d'androidx.activity:activity-ktx:1.3.0-alpha06
. Liste des commits de la version 1.3.0-alpha06.
Modifications apportées à l'API
- Remplacement du nom de l'API
registerForActivityResult()
parrememberLauncherForActivityResult()
afin de mieux indiquer que leActivityResultLauncher
renvoyé est un objet géré qui est mémorisé en votre nom. Si vous tentez d'appelerunregister
, leActivityResultLauncher
renvoyé génère une erreur. (I2bb6d) LocalOnBackPressedDispatcherOwner.current
etLocalActivityResultRegistryOwner.current
renvoient désormais une possibilité de valeur nulle pour mieux déterminer si elle est disponible dans la composition actuelle. Les API qui nécessitent ces API, telles queBackHandler
etrememberLauncherForActivityResult()
, génèrent désormais une erreur plus descriptive si le propriétaire associé est introuvable. LeNavHost
fonctionne désormais même si l'OnBackPressedDispatcherOwner
est introuvable, par exemple, lors de la prévisualisation duNavHost
. (I7d8b4)
Correction de bugs
- Désormais, le
BackHandler
intercepte correctement les appuis sur le bouton "Retour" si Activity estSTOPPED
, puis à nouveauSTARTED
. Des rappels supplémentaires ont également été ajoutés avec un "LifecycleOwner". (I71de6, b/182284739) - L'utilisation de l'extension de méthode
launch()
avec unActivityResultContract
personnalisé ayant une entréeUnit
n'entraînera plus deNullPointerException
. (I76282, b/183837954)
Version 1.3.0-alpha05
24 mars 2021
Publication d'androidx.activity:activity:1.3.0-alpha05
, d'androidx.activity:activity-compose:1.3.0-alpha05
et d'androidx.activity:activity-ktx:1.3.0-alpha05
. Liste des commits de la version 1.3.0-alpha05.
Correction de bugs
- À partir de Activity 1.2.2 : correction d'un problème lié à la vérification lint
InvalidFragmentVersionForActivityResult
provoquant un faux positif lors de l'utilisation de Fragment 1.3.1 ou version ultérieure. (I54da1, b/182388985) - À partir de Activity 1.2.2 :
ComponentActivity
évite désormais uneClassNotFoundException
lors du lancement d'uneIntent
à partir d'unActivityResultContract
précédemment considéré comme un élément supplémentaire dans une autreIntent
. (Ieff05, b/182906230)
Mises à jour des dépendances
- À partir de Activity 1.2.2 : Activity dépend désormais de Lifecycle
2.3.1
.
Version 1.3.0-alpha04
10 mars 2021
Publication d'androidx.activity:activity:1.3.0-alpha04
, d'androidx.activity:activity-compose:1.3.0-alpha04
et d'androidx.activity:activity-ktx:1.3.0-alpha04
. Liste des commits de la version 1.3.0-alpha04.
Correction de bugs
- À partir de Activity
1.2.1
:RequestMultiplePermissions
renvoient désormais toujours les résultats pour toutes les autorisations demandées, et non plus seulement pour celles qui n'ont pas été précédemment accordées. (I50bc3, b/180884668) - À partir d'Activity
1.2.1
:ActivityResultRegistry
vous permet désormais de vous assurer que les demandeslaunch()
en cours renvoient leurs résultats même si vous exécutez une actionunregister()
, puis une actionregister()
à nouveau avec la même clé. (I9ef34, b/181267562) - Activity Compose n'ajoute plus de dépendances de test au chemin de classe d'exécution. (Ifd8b3)
- Correction d'un problème lié à
BackHandler
dans lequel le lambdaonBack
précédemment défini était encore utilisé après la recomposition. (8eb5eb)
Version 1.3.0-alpha03
24 février 2021
Publication d'androidx.activity:activity:1.3.0-alpha03
, d'androidx.activity:activity-compose:1.3.0-alpha03
et d'androidx.activity:activity-ktx:1.3.0-alpha03
. Liste des commits de la version 1.3.0-alpha03
Nouvelles fonctionnalités
- Il existe désormais une fonction
registerForActivityResult
modulable permettant d'obtenir les résultats des activités au sein des composables. (Ia7851, b/172690553)
Modifications apportées à l'API
LocalOnBackPressedDispatcherOwner
dispose désormais d'une fonctionprovides
pouvant être utilisée avecCompositionLocalProvider
, en remplacement de l'APIasProvidableCompositionLocal()
. (I45d24)
Version 1.3.0-alpha02
10 février 2021
Publication d'androidx.activity:activity:1.3.0-alpha02
, d'androidx.activity:activity-compose:1.3.0-alpha02
et d'androidx.activity:activity-ktx:1.3.0-alpha02
. Liste des commits de la version 1.3.0-alpha02.
Correction de bugs
- Correction d'un problème dans Activity Compose
1.3.0-alpha01
qui entraînait une exceptionNoSuchMethodError: No static method setContent
lors de l'utilisation de Compose1.0.0-alpha12
. Tous les utilisateurs de Compose doivent dépendre de la version1.3.0-alpha02
ou ultérieure. (b/179911234)
Modifications apportées à l'API
- L'API
BackHandler
peut être utilisée pour permettre à un composable d'intercepter le bouton "Retour" du système. (I58ed5, b/172154006)
Version 1.3.0-alpha01
10 février 2021
Publication d'androidx.activity:activity:1.3.0-alpha01
, d'androidx.activity:activity-compose:1.3.0-alpha01
et d'androidx.activity:activity-ktx:1.3.0-alpha01
. Liste des commits de la version 1.3.0-alpha01.
Nouvelles fonctionnalités
- Le nouvel artefact
activity-compose
fournit des assistants spécifiques à Jetpack Compose pour des APIandroidx.activity
spécifiques.ComponentActivity.setContent
a été déplacé deandroidx.compose.ui.platform.setContent
versandroidx.activity.compose.setContent
. (Icf416)
Problèmes connus
- L'utilisation d'Activity Compose
1.3.0-alpha01
et des bibliothèques qui en dépendent, telles queandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12
, entraînera une exceptionNoSuchMethodError: No static method setContent
. (b/179911234)
Version 1.2.4
Version 1.2.4
21 juillet 2021
Publication d'androidx.activity:activity:1.2.4
et d'androidx.activity:activity-ktx:1.2.4
. Liste des commits de la version 1.2.4.
Correction de bugs
- À partir de Activity
1.3.0-rc02
: les rappels "ActivityResultRegistry" sont maintenant correctement enregistrés et restaurés. Les rappels ne sont donc pas dupliqués dans le "savedState". (I97816, b/191893160)
Version 1.2.3
Version 1.2.3
5 mai 2021
Publication d'androidx.activity:activity:1.2.3
et d'androidx.activity:activity-ktx:1.2.3
. Liste des commits de la version 1.2.3.
Correction de bugs
- L'utilisation de l'extension de méthode
launch()
avec unActivityResultContract
personnalisé ayant une entréeUnit
n'entraînera plus deNullPointerException
. (I76282, b/183837954) - Correction d'une erreur de lint faux positif vous indiquant d'utiliser Fragment
1.3.0
lors de l'exécution d'un instantané, d'une version alpha, bêta ou finale d'une nouvelle version de Fragment. (f4a57e, b/184847092)
Version 1.2.2
Version 1.2.2
24 mars 2021
Publication d'androidx.activity:activity:1.2.2
et d'androidx.activity:activity-ktx:1.2.2
. Liste des commits de la version 1.2.2.
Correction de bugs
- Correction d'un problème lié à la vérification lint
InvalidFragmentVersionForActivityResult
provoquant un faux positif lors de l'utilisation de Fragment 1.3.1 ou version ultérieure. (I54da1, b/182388985) ComponentActivity
évite désormais uneClassNotFoundException
lors du lancement d'uneIntent
à partir d'unActivityResultContract
précédemment considéré comme un élément supplémentaire dans une autreIntent
. (Ieff05, b/182906230)
Mises à jour des dépendances
- Activity dépend désormais de Lifecycle
2.3.1
.
Version 1.2.1
Version 1.2.1
10 mars 2021
Publication d'androidx.activity:activity:1.2.1
et d'androidx.activity:activity-ktx:1.2.1
. Liste des commits de la version 1.2.1
Correction de bugs
RequestMultiplePermissions
renvoient désormais toujours les résultats pour toutes les autorisations demandées, et non plus seulement pour celles qui n'ont pas été précédemment accordées. (I50bc3, b/180884668)ActivityResultRegistry
vous permet désormais de vous assurer que les demandeslaunch()
en cours renvoient leurs résultats même si vousunregister()
, puisregister()
à nouveau avec la même clé. (I9ef34, b/181267562)
Version 1.2.0
Version 1.2.0
10 février 2021
Publication d'androidx.activity:activity:1.2.0
et d'androidx.activity:activity-ktx:1.2.0
. Liste des commits de la version 1.2.0
Principales modifications depuis la version 1.1.0
- API Activity Result :
ComponentActivity
fournit désormais unActivityResultRegistry
qui vous permet de gérer les fluxstartActivityForResult()
+onActivityResult()
etrequestPermissions()
+onRequestPermissionsResult()
sans remplacer les méthodes de votre Activity ou Fragment. En outre, il fournit un type de sécurité renforcée viaActivityResultContract
et des hooks pour tester ces flux. Consultez la section Obtenir un résultat depuis Activity mise à jour.
ContextAware
:ComponentActivity
implémente désormaisContextAware
, ce qui vous permet d'ajouter une ou plusieurs instances deOnContextAvailableListener
qui recevront un rappel avant la baseActivity.onCreate()
.- Une extension Kotlin
withContextAvailable()
de suspension vous permet d'exécuter un bloc sans suspension lorsque le contexte devient disponible et de renvoyer un résultat. - Cette API est utilisée par
FragmentActivity
dans Fragment 1.3.0 pour restaurer l'état deFragmentManager
. Tous les écouteurs ajoutés aux sous-classes deFragmentActivity
s'exécutent après cet écouteur. - Cette API est utilisée par
AppCompatActivity
dans AppCompat 1.3.0-alpha02 ou version ultérieure. Tous les écouteurs ajoutés aux sous-classes deAppCompatActivity
s'exécutent après cet écouteur.
- Une extension Kotlin
Compatibilité de
ViewTree
:ComponentActivity
est désormais compatible avec les APIViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
etViewTreeSavedStateRegistryOwner
ajoutées à Lifecycle2.3.0
et SavedState1.1.0
de sorte qu'il renvoie Activity en tant queLifecycleOwner
,ViewModelStoreOwner
etSavedStateRegistryOwner
pour chaque View directement ajoutée àComponentActivity
.
- reportFullyDrawn() backport : la méthode
Activity
dereportFullyDrawn()
a été rétroportée dansComponentActivity
pour fonctionner à tous les niveaux d'API. Elle a permis de corriger un plantage de l'API 19 et d'ajouter un traçage de cette méthode pour tous les niveaux d'API.
Version 1.2.0-rc01
16 décembre 2020
Publication d'androidx.activity:activity:1.2.0-rc01
et d'androidx.activity:activity-ktx:1.2.0-rc01
. Liste des commits de la version 1.2.0-rc01.
Correction de bugs
- Le
ActivityResultRegistry
restaure désormais toujours l'état exact enregistré. (Idd56b) - Ajout d'un traçage à
ComponentActivity.reportFullyDrawn
. (Ic7632)
Contribution externe
ComponentActivity
remplace désormaisreportFullyDrawn()
, ce qui lui permet d'être appelé à tous les niveaux d'API et de corriger un plantage lors de l'appel de cette méthode sans les autorisations système appropriées sur les appareils utilisant l'API 19. Nous remercions Simon Schiller. (b/163239764, #103)
Version 1.2.0-beta02
2 décembre 2020
Publication d'androidx.activity:activity:1.2.0-beta02
et d'androidx.activity:activity-ktx:1.2.0-beta02
. Liste des commits de la version 1.2.0-beta02.
Correction de bugs
- Correction d'un problème dans lequel l'API Activity Result n'attendait pas que Lifecycle soit
STARTED
avant d'afficher les résultats lors de l'enregistrement avec unLifecycle
. (I109ea)
Contribution externe
- Mise à jour de la documentation sur
launch()
pour indiquer explicitement qu'elle peut générer uneActivityNotFoundException
. Nous remercions Michał Zieliński. (aosp/1493580)
Version 1.2.0-beta01
1er octobre 2020
Publication d'androidx.activity:activity:1.2.0-beta01
et d'androidx.activity:activity-ktx:1.2.0-beta01
. Liste des commits de la version 1.2.0-beta01
Correction de bugs
Le
ActivityResultRegistry
génère désormais des entiers de manière aléatoire jusqu'à ce qu'il en trouve un qui n'est pas assigné àregister()
comme code de requête, ce qui permet d'éviter un éventuel dépassement des entiers causé par l'incrémentation des codes de requête. (b/168779518)Les observateurs de
Lifecycle
sont correctement supprimés lors de l'appel deunregister()
sur unActivityResultLauncher
. (b/165608393)
Nouveaux comportements
- Le
ActivityResultRegistry
génère maintenant uneIllegalStateException
lors d'une tentative d'appel deregister()
avec unLifecycleOwner
dont leLifecycle
a déjà atteintSTARTED
. (b/165435866)
Documentation mise à jour
- La documentation de
ContextAware
contient un lien versLifecycleOwner
pour mettre en évidence que les rappels deLifecycle
conviennent parfaitement pour les événements de création et de destruction. (aosp/1414152)
Version 1.2.0-alpha08
19 août 2020
Publication d'androidx.activity:activity:1.2.0-alpha08
et d'androidx.activity:activity-ktx:1.2.0-alpha08
. Liste des commits de la version 1.2.0-alpha08.
Nouvelles fonctionnalités
ComponentActivity
implémente maintenantContextAware
, ce qui vous permet d'ajouter une ou plusieurs instances deOnContextAvailableListener
qui recevront un rappel avant la baseActivity.onCreate()
. (b/161390636)- Une extension Kotlin
withContextAvailable()
de suspension vous permet d'exécuter un bloc sans suspension lorsque le contexte devient disponible et de renvoyer un résultat. (I8290c) - Cette API est utilisée par
FragmentActivity
dans Fragment 1.3.0-alpha08 pour restaurer l'état deFragmentManager
. Tous les écouteurs ajoutés aux sous-classes deFragmentActivity
s'exécutent après cet écouteur. (I513da) - Cette API est utilisée par
AppCompatActivity
dans AppCompat 1.3.0-alpha02. Tous les écouteurs ajoutés aux sous-classes deAppCompatActivity
s'exécutent après cet écouteur. (I513da)
- Une extension Kotlin
Correction de bugs
- Correction d'un problème lié à la vérification lint
ActivityResultFragmentVersionDetector
entraînant un dysfonctionnement lors de l'utilisation de Lint 27.1.0 ou version ultérieure. (b/162155191)
Version 1.2.0-alpha07
22 juillet 2020
Publication d'androidx.activity:activity:1.2.0-alpha07
et d'androidx.activity:activity-ktx:1.2.0-alpha07
. Liste des commits de la version 1.2.0-alpha07.
Nouvelles fonctionnalités
- Ajout d'une vérification lint
InvalidFragmentVersionForActivityResult
qui vérifie que vous utilisez Fragment1.3.0-alpha07
lorsque vous utilisez l'API Activity Result, ce qui permet d'éviter les plantages de l'environnement d'exécution dus à des problèmes de "code de requête non valide" et le dysfonctionnement des demandes d'autorisation en raison de l'utilisation d'anciennes versions de Fragment. (b/152554847)
Contribution externe
- Correction d'une
ArrayIndexOutOfBoundsException
lors de l'analyse des résultats du contrat Activity Result deRequestPermission
. (I8f9e3, b/161057605)
Version 1.2.0-alpha06
10 juin 2020
Publication d'androidx.activity:activity:1.2.0-alpha06
et d'androidx.activity:activity-ktx:1.2.0-alpha06
. Liste des commits de la version 1.2.0-alpha06.
Nouvelles fonctionnalités
- Vous pouvez maintenant déstructurer la classe
ActivityResult
en Kotlin pour accéder directement àrequestCode
etintent
. (b/157212935) ActivityResultLauncher
vous permet maintenant d'obtenir leActivityResultContract
qui a été utilisé pour enregistrer le lanceur d'applications. (b/156875743)
Modifications apportées à l'API
- Modification destructive : Remplacement du nom de la méthode
invoke()
paronLaunch()
dansActivityResultRegistry
. (b/157496491) - Le contrat
OpenMultipleDocuments
renvoie désormais une liste vide au lieu denull
au rappel enregistré si aucun résultat n'est renvoyé. (b/157348014)
Version 1.2.0-alpha05
20 mai 2020
Publication d'androidx.activity:activity:1.2.0-alpha05
et d'androidx.activity:activity-ktx:1.2.0-alpha05
. Liste des commits de la version 1.2.0-alpha05
Nouvelles fonctionnalités
- Ajout de la prise en charge de
ViewTreeViewModelStoreOwner
à partir de Lifecycle2.3.0-alpha03
et deViewTreeSavedStateRegistryOwner
à partir de SavedState1.1.0-alpha01
lorsque vous utilisez uneView
dans uneComponentActivity
. (aosp/1297993, aosp/1300264)
Modifications apportées à l'API
- Le contrat
TakePicture
renvoie désormais uneboolean
indiquant la réussite de l'opération plutôt qu'unBitmap
miniature, car cela n'était que très rarement compatible avec les applications d'appareil photo lors de l'écriture de l'image dans leUri
fourni. (b/154302879) - Suppression des extensions
invoke()
dansActivityResultLauncher
. Elles ont été explicitement remplacées par l'utilisation delaunch()
pour mieux indiquer qu'il s'agit d'opérations asynchrones. Les extensions de Kotlin pourlaunch
ont été ajoutées au packageandroidx.activity.result
pourActivityResultLauncher<Void>
etActivityResultLauncher<Unit>
, éliminant ainsi la nécessité de transmettre respectivementnull
ouUnit
, ce qui reproduit le comportement des extensionsinvoke()
précédentes. (aosp/1304674, aosp/1304675) - Les méthodes
IntentSenderRequest.Builder
poursetFlagsMask()
etsetFlagsValues()
ont été combinées en une seule méthodesetFlags()
. (aosp/1302111)
Correction de bugs
- Correction d'un problème, lors de l'enregistrement d'un
ActivityResultCallback
avec unLifecycleOwner
, qui entraînait le déclenchement du rappel avant que l'état n'atteigneSTARTED
. (aosp/1309744)
Nouveaux comportements
- Le
ActivityResultRegistry
génère désormais des codes de requête commençant par0xFFFF
et non plus par0
, ce qui évite les chevauchements lorsque vous utilisezstartActivityForResult()
ourequestPermissions()
dans une activité. (aosp/1302324)
Version 1.2.0-alpha04
29 avril 2020
Publication d'androidx.activity:activity:1.2.0-alpha04
et d'androidx.activity:activity-ktx:1.2.0-alpha04
. Liste des commits de la version 1.2.0-alpha04
Nouvelles fonctionnalités
- Ajout d'un contrat pouvant appeler "startIntentSenderForResult" pour les API ActivityResult. (b/153007517)
Modifications apportées à l'API
- La méthode
prepareCall()
a été renomméeregisterForActivityResult()
, à la fois dansComponentActivity
et dans Fragment1.3.0-alpha04
. (aosp/1278717) - Les contrats
GetContents
,OpenDocuments
etRequestPermissions
ont été renommésGetMultipleContents
,OpenMultipleDocuments
etRequestMultiplePermissions
, respectivement. (aosp/1280161) ComponentActivity
implémente maintenant l'interfaceActivityResultRegisteryOwner
. (aosp/1290888)- Abandon des API
startActivityForResult()
/onActivityResult()
etonRequestPermissionsResult()
dansComponentActivity
. Veuillez utiliser les API Activity Result. (b/154751887)
Correction de bugs
- Lorsque vous utilisez les contrats
GetMultipleContents
etOpenMultipleDocuments
et que vous sélectionnez un seul élément, il est désormais correctement renvoyé à votre rappel. (b/152941153)
Version 1.2.0-alpha03
1er avril 2020
Publication d'androidx.activity:activity:1.2.0-alpha03
et d'androidx.activity:activity-ktx:1.2.0-alpha03
. Liste des commits de la version 1.2.0-alpha03.
Nouvelles fonctionnalités
- Ajout des contrats
TakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
etCreateDocument
à l'ensemble des contrats prédéfinis contrats fournis parActivityResultContracts
. (aosp/1262482, aosp/1266916, aosp/1268960) - Les API Activity Result permettent désormais de lancer une activité pour le résultat avec un
ActivityOptionsCompat
facultatif. (b/151860054)
Modifications apportées à l'API
- Le contrat
TakePicture
prend désormais en charge une entréeUri
pour l'emplacement de stockage de l'image. Le contrat précédent qui ne nécessite aucune entrée a été renomméTakePicturePreview
. (aosp/1262482) - La méthode
registerActivityResultCallback()
dansActivityResultRegistry
a été renomméeregister()
. (aosp/1267621) - La méthode
dispose()
dansActivityResultLauncher
a été renomméeunregister()
. LeunregisterResultCallback()
dansActivityResultRegistry
a été supprimé. (aosp/1267621) - La méthode
createIntent()
deActivityResultContact
prend désormais en charge unContext
en plus de l'entrée pour permettre la création d'intents explicites. (aosp/1238800) - Un
ActivityResultContract
peut désormais ignorergetSynchronousResult()
pour obtenir un résultat sans appeler destartActivityForResult
. Les contratsRequestPermission
etRequestPermissions
l'utilise pour transmettre correctement l'état "accordé" si les autorisations demandées sont déjà accordées. (b/151110799) - Le contrat
Dial
précédemment disponible a été supprimé, carIntent
n'est pas censé être utilisé avecstartActivityForResult()
. (aosp/1266916) - De nombreuses API Activity Result qui ne sont pas destinées à être étendues sont désormais
final
. Cela inclutgetActivityResultRegistry()
, les méthodesprepareCall()
, toutes les méthodes deActivityResultRegistry
à l'exception deinvoke()
et un certain nombre de contrats par défaut qui ne sont pas compatibles avec les éléments supplémentaires facultatifs. (b/152439361)
Correction de bugs
- Correction d'une
NullPointerException
dansActivityResultRegistry
lors de la tentative de transmission des résultats à un rappel qui n'a pas encore été enregistré à nouveau après une modification de configuration.ActivityResultRegistry
conserve désormais ces résultats en attente et les transmet lorsque le rappel est à nouveau enregistré. (b/152137004)
Version 1.2.0-alpha02
18 mars 2020
Publication d'androidx.activity:activity:1.2.0-alpha02
et d'androidx.activity:activity-ktx:1.2.0-alpha02
. Liste des commits de la version 1.2.0-alpha02.
Nouvelles fonctionnalités
- ActivityResultRegistry :
ComponentActivity
fournit désormais unActivityResultRegistry
qui vous permet de gérer les fluxstartActivityForResult()
+onActivityResult()
etrequestPermissions()
+onRequestPermissionsResult()
sans remplacer les méthodes de votre Activity ou Fragment. En outre, il fournit un type de sécurité renforcée viaActivityResultContract
et des hooks pour tester ces flux. Consultez la section Obtenir un résultat depuis Activity mise à jour. (b/125158199)
Version 1.2.0-alpha01
4 mars 2020
Publication d'androidx.activity:activity:1.2.0-alpha01
et d'androidx.activity:activity-ktx:1.2.0-alpha01
. Liste des commits de la version 1.2.0-alpha01
Nouvelles fonctionnalités
- Ajout de la prise en charge de l'API
ViewTreeLifecycleOwner.get(View)
ajoutée à Lifecycle2.3.0-alpha01
, qui permet de renvoyer Activity en tant queLifecycleOwner
pour chaque View directement ajoutée à Activity. (aosp/1182955)
Correction de bugs
- Correction d'une régression introduite dans Activity
1.1.0
lors de son exécution sur des versions précédentes de la plate-forme dans laquelleonBackPressed()
entraînait uneIllegalStateException
en raison d'un bug dansandroid.app.FragmentManager
. (b/146290338)
Version 1.1.0
Version 1.1.0
22 janvier 2020
Publication d'androidx.activity:activity:1.1.0
. Liste des commits de la version 1.1.0.
Changements importants depuis la version 1.0.0
- Intégration de Lifecycle ViewModel SavedState :
SavedStateViewModelFactory
est désormais la fabrique par défaut utilisée lorsque vous utilisezby viewModels()
, le constructeurViewModelProvider
ouViewModelProviders.of()
avec uneComponentActivity
ou ses sous-classes.
Version 1.1.0-rc03
4 décembre 2019
Publication d'androidx.activity:activity:1.1.0-rc03
et d'androidx.activity:activity-ktx:1.1.0-rc03
. Liste des commits de la version 1.1.0-rc03
Modifications de la dépendance
- Activity dépend désormais de Lifecycle
2.2.0-rc03
et de Lifecycle ViewModel SavedState1.0.0-rc03
.
Version 1.1.0-rc02
7 novembre 2019
Publication d'androidx.activity:activity:1.1.0-rc02
et d'androidx.activity:activity-ktx:1.1.0-rc02
. Liste des commits de la version 1.1.0-rc02
Modifications de la dépendance
- Activity dépend désormais de Lifecycle
2.2.0-rc02
.
Version 1.1.0-rc01
23 octobre 2019
Publication d'androidx.activity:activity:1.1.0-rc01
et d'androidx.activity:activity-ktx:1.1.0-rc01
sans aucune modification par rapport à la version 1.1.0-beta01
. Liste des commits de la version 1.1.0-rc01
Version 1.1.0-beta01
9 octobre 2019
Publication d'androidx.activity:activity:1.1.0-beta01
et d'androidx.activity:activity-ktx:1.1.0-beta01
. Liste des commits de la version 1.1.0-beta01.
Modifications de la dépendance
- Activity dépend désormais de la version SavedState 1.0.0 stable.
Version 1.1.0-alpha03
5 septembre 2019
Publication d'androidx.activity:activity:1.1.0-alpha03
et d'androidx.activity:activity-ktx:1.1.0-alpha03
. Les commits inclus dans cette version sont disponibles sur cette page.
Nouvelles fonctionnalités
- Activity dépend désormais de la version Core 1.1.0 stable.
Correction de bugs
- Activity dépend désormais de Lifecycle
2.2.0-alpha04
.
Version 1.1.0-alpha02
7 août 2019
Publication d'androidx.activity:activity:1.1.0-alpha02
et d'androidx.activity:activity-ktx:1.1.0-alpha02
. Les commits inclus dans cette version sont disponibles sur cette page.
Nouvelles fonctionnalités
SavedStateViewModelFactory
est désormais la fabrique par défaut utilisée lorsque vous utilisezby viewModels()
, le constructeurViewModelProvider
ouViewModelProviders.of()
avec uneComponentActivity
. (b/135716331)
Version 1.1.0-alpha01
2 juillet 2019
Publication d'androidx.activity:activity:1.1.0-alpha01
et d'androidx.activity:activity-ktx:1.1.0-alpha01
. Les commits inclus dans cette version sont disponibles sur cette page.
Nouvelles fonctionnalités
activity
dépend désormais de Lifecycle2.2.0-alpha02
. (aosp/1007817)activity-ktx
a ajouté une dépendance àlifecycle-runtime-ktx
. Vous n'avez plus besoin de l'ajouter explicitement à vos dépendances lorsque vous utilisezactivity-ktx
ou des bibliothèques qui dépendent deactivity-ktx
(commefragment-ktx
). (aosp/987162)
Version 1.0.0
Version 1.0.0
5 septembre 2019
Publication d'androidx.activity:activity:1.0.0
et d'androidx.activity:activity-ktx:1.0.0
. Les commits inclus dans cette version sont disponibles sur cette page.
Principales fonctionnalités de la version 1.0.0
- ComponentActivity :
ComponentActivity
sert de nouvelle classe de base pourFragmentActivity
dans Fragment1.1.0
et, par extension,AppCompatActivity
dans AppCompat1.1.0
. - activity-ktx : le module
activity-ktx
comprend une extension de propriété Kotlinby viewModels
permettant d'accéder à ViewModels. Ce module est automatiquement inclus lorsque vous incluezfragment-ktx
dans Fragment1.1.0
. - OnBackPressedDispatcher : comme alternative composable au remplacement de
onBackPressed()
, vous pouvez désormais enregistrer unOnBackPressedCallback
depuis n'importe quelLifecycleOwner
(un fragment, par exemple) pour intercepter les événements du bouton "Retour" du système. Un lambda ayant la version de récepteuraddCallback
a été ajouté àactivity-ktx
. Pour en savoir plus, consultez la documentation Fournir une navigation vers l'arrière personnalisée. - Abandon de onRetainCustomNonConfigurationInstance : les API
onRetainCustomNonConfigurationInstance()
etgetLastCustomNonConfigurationInstance()
associées ont été abandonnées. Il est vivement recommandé d'utiliser ViewModels pour stocker des états de non-configuration, car ils offrent une solution composable adaptée à toutViewModelStoreOwner
qui clarifie la propriété des objets conservés et fournit un rappelonCleared()
, afin de nettoyer les ressources lorsque l'activité est finalement détruite.
Version 1.0.0-rc01
2 juillet 2019
Publication d'androidx.activity:activity:1.0.0-rc01
et d'androidx.activity:activity-ktx:1.0.0-rc01
sans aucune modification par rapport à la version 1.0.0-beta01
. Les commits inclus dans cette version sont disponibles sur cette page.
Version 1.0.0-beta01
5 juin 2019
Publication d'androidx.activity::activity:1.0.0-beta01
et d'androidx.activity:activity-ktx:1.0.0-beta01
sans aucune modification par rapport à la version 1.0.0-alpha08
. Les commits inclus dans cette version sont disponibles sur cette page.
Version 1.0.0-alpha08
7 mai 2019
Publication d'androidx.activity:activity:1.0.0-alpha08
et d'androidx.activity:activity-ktx:1.0.0-alpha08
. Les commits inclus dans cette version sont disponibles sur cette page.
Modifications apportées à l'API
- Modification destructive : Les méthodes
addOnBackPressedCallback
etremoveOnBackPressedCallback
précédemment abandonnées dansComponentActivity
ont été supprimées. aosp/953857 - Les méthodes
setEnabled()
etisEnabled()
deOnBackPressedCallback
sont maintenant finales. b/131416833 - La méthode
remove()
deOnBackPressedCallback
est maintenant finale. aosp/952720 OnBackPressedDispatcher
dispose désormais de constructeurs publics, ce qui vous permet de créer vos propres instances pour les tests, etc. aosp/953431onBackPressed()
pourComponentActivity
est maintenant explicitement marqué comme@MainThread
. aosp/952721
Correction de bugs
- Correction d'une
ConcurrentModificationException
lors de l'appel deremove()
depuis la méthodehandleOnBackPressed()
d'unOnBackPressedCalback
ajouté avec unLifecycleOwner
. b/131765095
Version 1.0.0-alpha07
25 avril 2019
Publication d'androidx.activity:activity:1.0.0-alpha07
et d'androidx.activity:activity-ktx:1.0.0-alpha07
. Les commits inclus dans cette version sont disponibles sur cette page.
Modifications apportées à l'API
Cette version apporte des modifications importantes à la gestion de onBackPressed()
. Pour en savoir plus, consultez la documentation mise à jour sur les retours personnalisés.
- Les méthodes pour
OnBackPressedCallback
etOnBackPressedDispatcher
ont été marquées comme@MainThread
. (aosp/943813) - La méthode
handleOnBackPressed()
ne renvoie plus de valeurboolean
. En revanche,OnBackPressedCallback
est désormais une classe abstraite qui peut être activée ou désactivée, ce n'est que lorsque la nouvelle méthodeisEnabled()
renvoie la valeur "true" quehandleOnBackPressed()
sera appelé, où vous devrez gérer le bouton "Retour". (aosp/944518) - Les méthodes
addCallback
deOnBackPressedDispatcher
ne renvoient plus d'instanceCancellable
.OnBackPressedCallback
contient désormais une méthoderemove()
qui remplit cette fonctionnalité, ce qui vous permet d'appelerremove()
pendanthandleOnBackPressed()
. (aosp/944519) (aosp/946316) activity-ktx
contient désormais un rappel limité au récepteur pouraddCallback
qui accepte un lambda implémentanthandleOnBackPressed()
et ayant accès àisEnabled
etremove()
. (aosp/944520)
Version 1.0.0-alpha06
3 avril 2019
Publication d'androidx.activity:activity:1.0.0-alpha06
et d'androidx.activity:activity-ktx:1.0.0-alpha06
. Les commits inclus dans cette version sont disponibles sur cette page.
Modifications apportées à l'API
- "ComponentActivity" contient désormais un deuxième constructeur utilisant un
@LayoutRes int
, qui remplace le comportement précédent d'annotation de votre classe "AppCompatActivity" par@ContentView
. Cette approche fonctionne dans les modules d'application et de bibliothèque. (b/128352521) - Les API associées à
OnBackPressedCallback
dans "ComponentActivity" ont été remplacées par le nouveauOnBackPressedDispatcher
, que vous pouvez récupérer viagetOnBackPressedDispatcher()
. (aosp/922523) - Les méthodes permettant d'ajouter un nouveau
OnBackPressedCallback
auOnBackPressedDispatcher
renvoient désormais un objetCancellable
, ce qui permet de supprimer le rappel sans avoir besoin d'une référence explicite auOnBackPressedDispatcher
. (aosp/922523) - Désormais, l'ajout d'un
OnBackPressedCallback
associé à unLifecycleOwner
entraîne l'ajout et la suppression de ceOnBackPressedCallback
au moment du démarrage et de l'arrêt de Lifecycle, respectivement. (aosp/922523)
Version 1.0.0-alpha05
13 mars 2019
Publication d'androidx.activity:activity:1.0.0-alpha05
et d'androidx.activity:activity-ktx:1.0.0-alpha05
. La liste complète des commits inclus dans cette version est disponible sur cette page.
Nouvelles fonctionnalités
- Les recherches d'annotations de
@ContentView
sont désormais mises en cache. (b/123709449)
Version 1.0.0-alpha04
30 janvier 2019
Publication de androidx.activity:activity 1.0.0-alpha04
et androidx.activity:activity-ktx 1.0.0-alpha04
.
Nouvelles fonctionnalités
- Ajout de la prise en charge de l'annotation de classe
@ContentView
, qui vous permet d'indiquer le fichier XML de mise en page à augmenter à la place desetContentView()
. (aosp/837619)
Modifications apportées à l'API
- Ajout d'une remarque indiquant que
getViewModelStore()
ne doit pas être remplacé et sera final dans une prochaine version. Veuillez envoyer une demande de fonctionnalité si vous remplacez actuellement cette méthode. (aosp/837619)
Correction de bugs
- Le module
activity
dépend désormais de la version 2.1.0-alpha02 de ViewModel pour correspondre à la dépendance du moduleactivity-ktx
.
Version 1.0.0-alpha03
17 décembre 2018
Publication d'androidx.activity 1.0.0-alpha03
.
Nouvelles fonctionnalités
- "ComponentActivity" implémente désormais
BundleSavedStateRegistryOwner
et dépend de la nouvelle bibliothèque SavedState. [aosp/815133] - "ComponentActivity" contourne maintenant un bug du framework Android, qui entraînerait la fuite de la dernière vue sélectionnée par "InputMethodManager". [b/37122102]
Version 1.0.0-alpha02
3 décembre 2018
Modifications apportées à l'API
- Ajout d'une remarque indiquant que
getLifecycle()
ne doit pas être remplacé et serafinal
dans une prochaine version. Veuillez envoyer une demande de fonctionnalité si vous remplacez actuellement cette méthode. (aosp/815834)
Version 1.0.0-alpha01
5 novembre 2018
androidx.activity 1.0.0-alpha01
comprend ComponentActivity
, une nouvelle classe de base des FragmentActivity
et AppCompatActivity
existants.
Nouvelles fonctionnalités
- Vous pouvez maintenant enregistrer un
OnBackPressedCallback
viaaddOnBackPressedCallback
pour recevoir des rappelsonBackPressed()
sans avoir à remplacer la méthode dans votre activité. - Ajout d'un nouveau délégué de propriété Kotlin
by viewModels()
pour la récupération desViewModel
à partir d'unComponentActivity
. - Les événements d'entrée en attente (tels que les clics) sont maintenant annulés dans
onStop()
.
Modifications apportées à l'API
- L'implémentation de
LifecycleOwner
et deViewModelStoreOwner
a été déplacée deFragmentActivity
versComponentActivity
. onRetainCustomNonConfigurationInstance
est maintenant obsolète. Utilisez unViewModel
pour stocker les objets qui doivent survivre aux modifications de configuration.