Android 16 offre aux développeurs de nouvelles fonctionnalités et API de qualité. Les sections suivantes résument ces fonctionnalités pour vous aider à vous lancer avec les API associées.
Vous devez également examiner les éléments de vos applications pouvant être affectés par les modifications de la plate-forme. Pour en savoir plus, consultez les pages suivantes:
- Changements de comportement affectant les applications lorsqu'elles ciblent Android 16
- Changements de comportement affectant toutes les applications, quel que soit le
targetSdkVersion
Fonctionnalité de base
Android inclut de nouvelles API qui étendent les fonctionnalités de base du système Android.
Deux versions d'API Android en 2025
- Cette version Preview concerne la prochaine version majeure d'Android, dont le lancement est prévu pour le deuxième trimestre 2025. Cette version est semblable à toutes nos versions d'API précédentes, où nous pouvons planifier des modifications de comportement souvent liées à une version cible de SDK.
- Nous prévoyons de publier la version majeure un trimestre plus tôt (au deuxième trimestre plutôt qu'au troisième trimestre les années précédentes) afin de mieux nous aligner sur le calendrier de lancement des appareils dans notre écosystème. Ainsi, plus d'appareils pourront bénéficier de la version majeure d'Android plus tôt. La version majeure étant prévue pour le deuxième trimestre, vous devrez effectuer vos tests de compatibilité annuels quelques mois plus tôt que les années précédentes pour vous assurer que vos applications sont prêtes.
- Nous prévoyons de publier une nouvelle version au quatrième trimestre 2025, qui inclura également de nouvelles API pour les développeurs. La version majeure du deuxième trimestre sera la seule version de 2025 à inclure des modifications de comportement planifiées pouvant affecter les applications.
En plus des nouvelles API pour les développeurs, la version mineure du quatrième trimestre comprendra des mises à jour de fonctionnalités, des optimisations et des corrections de bugs. Elle n'inclura aucune modification de comportement affectant les applications.
Nous continuerons à publier des versions Android trimestrielles. Les mises à jour du premier et du troisième trimestre entre les versions de l'API fourniront des mises à jour incrémentielles pour garantir une qualité continue. Nous collaborons activement avec nos partenaires pour proposer la version du second trimestre sur autant d'appareils que possible.
Utiliser les nouvelles API avec les versions majeures et mineures
La protection d'un bloc de code avec une vérification du niveau d'API se fait aujourd'hui à l'aide de la constante SDK_INT
avec VERSION_CODES
. Cette fonctionnalité restera compatible avec les principales versions d'Android.
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
La nouvelle constante SDK_INT_FULL
peut être utilisée pour les vérifications d'API sur les versions majeures et mineures avec la nouvelle énumération VERSION_CODES_FULL
.
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
Vous pouvez également utiliser la méthode Build.getMinorSdkVersion()
pour obtenir uniquement la version mineure du SDK.
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
Ces API n'ont pas encore été finalisées et sont susceptibles d'être modifiées. N'hésitez donc pas à nous envoyer vos commentaires si vous avez des questions.
Expérience utilisateur et interface utilisateur du système
Android 16 offre aux développeurs d'applications et aux utilisateurs plus de contrôle et de flexibilité pour configurer leur appareil en fonction de leurs besoins.
Mises à jour de la prévisualisation du Retour
Android 16 ajoute de nouvelles API pour vous aider à activer les animations système de prévisualisation du Retour dans la navigation par gestes, comme l'animation de retour à l'écran d'accueil. Enregistrer onBackInvokedCallback
avec le nouveau PRIORITY_SYSTEM_NAVIGATION_OBSERVER
permet à votre application de recevoir l'appel onBackInvoked
standard chaque fois que le système gère une navigation arrière sans affecter le flux de navigation arrière normal.
Android 16 ajoute également finishAndRemoveTaskCallback()
et moveTaskToBackCallback
. En enregistrant ces rappels avec OnBackInvokedDispatcher
, le système peut déclencher des comportements spécifiques et lire les animations correspondantes à l'avance lorsque le geste Retour est appelé.
Retour haptique plus riche
Android expose le contrôle de l'actionneur haptique depuis sa création.
Android 11 a ajouté la prise en charge d'effets haptiques plus complexes que les actionneurs plus avancés peuvent prendre en charge via VibrationEffect.Compositions
de primitives sémantiques définies par l'appareil.
Android 16 ajoute des API haptiques qui permettent aux applications de définir les courbes d'amplitude et de fréquence d'un effet haptique tout en éliminant les différences entre les fonctionnalités de l'appareil.
Performances et batterie
Android 16 introduit des API qui permettent de collecter des insights sur vos applications.
Profilage déclenché par le système
ProfilingManager
a été ajouté dans Android 15, ce qui permet aux applications de demander la collecte de données de profilage à l'aide de Perfetto sur les appareils publics sur le terrain.
Toutefois, comme ce profilage doit être lancé à partir de l'application, les flux critiques tels que les démarrages ou les erreurs ANR seraient difficiles ou impossibles à capturer par les applications.
Pour y remédier, Android 16 introduit le profilage déclenché par le système dans ProfilingManager
. Les applications peuvent s'inscrire pour recevoir des traces pour certains déclencheurs tels que le démarrage à froid reportFullyDrawn
ou les erreurs ANR. Le système démarre et arrête ensuite une trace au nom de l'application. Une fois la traçabilité terminée, les résultats sont envoyés au répertoire de données de l'application.
Démarrer le composant dans ApplicationStartInfo
ApplicationStartInfo
a été ajouté dans Android 15, ce qui permet à une application de voir les raisons du démarrage du processus, le type de démarrage, les heures de démarrage, le débit limité et d'autres données de diagnostic utiles. Android 16 ajoute getStartComponent()
pour distinguer le type de composant qui a déclenché le démarrage, ce qui peut être utile pour optimiser le flux de démarrage de votre application.
Meilleure introspection des offres d'emploi
L'API JobScheduler#getPendingJobReason()
renvoie la raison pour laquelle une tâche peut être en attente. Cependant, une tâche peut être en attente pour plusieurs raisons.
Dans Android 16, nous introduisons une nouvelle API JobScheduler#getPendingJobReasons(int jobId)
, qui renvoie plusieurs raisons pour lesquelles une tâche est en attente, en raison de contraintes explicites définies par le développeur et de contraintes implicites définies par le système.
Nous lançons également JobScheduler#getPendingJobReasonsHistory(int jobId)
, qui renvoie une liste des modifications de contraintes les plus récentes.
Nous vous recommandons d'utiliser l'API pour vous aider à déboguer les raisons pour lesquelles vos tâches ne s'exécutent pas, en particulier si vous constatez une baisse des taux de réussite de certaines tâches ou des bugs liés à la latence de certaines tâches. Par exemple, la mise à jour des widgets en arrière-plan n'a pas été effectuée ou la tâche de préchargement n'a pas pu être appelée avant le démarrage de l'application.
Cela peut également vous aider à mieux comprendre si certaines tâches ne sont pas effectuées en raison de contraintes définies par le système plutôt que de contraintes définies explicitement.
Fréquence d'actualisation adaptative
La fréquence d'actualisation adaptative (ARR, Adaptive Refresh Rate), introduite dans Android 15, permet à la fréquence d'actualisation de l'écran sur le matériel compatible de s'adapter à la fréquence d'images du contenu à l'aide d'étapes VSync distinctes. Cela réduit la consommation d'énergie tout en éliminant le besoin de changer de mode, ce qui peut entraîner des à-coups.
Android 16 introduit hasArrSupport()
et getSuggestedFrameRate(int)
, tout en rétablissant getSupportedRefreshRates()
pour permettre à vos applications de profiter plus facilement de l'ARR. RecyclerView 1.4 est compatible en interne avec l'ARR lorsqu'il s'installe à partir d'un balayage ou d'un défilement fluide. Nous continuons de travailler pour ajouter la compatibilité avec l'ARR à d'autres bibliothèques Jetpack. Cet article sur la fréquence d'images couvre de nombreuses API que vous pouvez utiliser pour définir la fréquence d'images afin que votre application puisse utiliser directement ARR.
Connectivité
Android 16 met à jour la plate-forme pour donner à votre application accès aux dernières avancées en matière de communication et de technologies sans fil.
Détermination de la position avec sécurité renforcée
Android 16 prend en charge les fonctionnalités de sécurité robustes dans la localisation Wi-Fi sur les appareils compatibles avec la norme 802.11az du Wi-Fi 6, ce qui permet aux applications de combiner la précision, l'évolutivité et la planification dynamique accrues du protocole avec des améliorations de sécurité, y compris le chiffrement basé sur AES-256 et la protection contre les attaques MITM. Cela permet de l'utiliser plus en toute sécurité dans les cas d'utilisation de proximité, comme le déverrouillage d'un ordinateur portable ou d'une porte de véhicule. La norme 802.11az est intégrée à la norme Wi-Fi 6, qui exploite son infrastructure et ses fonctionnalités pour une adoption plus large et un déploiement plus facile.
Contenus multimédias
Android 16 inclut diverses fonctionnalités qui améliorent l'expérience multimédia.
Améliorations apportées au sélecteur de photos
Le sélecteur de photos permet aux utilisateurs d'autoriser votre application à accéder de manière sécurisée et intégrée à des images et vidéos sélectionnées à partir de l'espace de stockage local et cloud, plutôt qu'à l'ensemble de leur bibliothèque multimédia. Grâce à une combinaison de composants système modulaires via les mises à jour du système Google et des services Google Play, il est compatible avec Android 4.4 (niveau d'API 19). L'intégration ne nécessite que quelques lignes de code avec la bibliothèque Android Jetpack associée.
Android 16 inclut les améliorations suivantes apportées au sélecteur de photos:
- Sélecteur de photos intégré: nouvelles API qui permettent aux applications d'intégrer le sélecteur de photos à leur hiérarchie de vues. Cela permet de donner l'impression qu'il s'agit d'une partie plus intégrée de l'application, tout en exploitant l'isolation de processus qui permet aux utilisateurs de sélectionner des contenus multimédias sans que l'application ait besoin d'autorisations trop larges. Pour maximiser la compatibilité entre les versions de la plate-forme et simplifier votre intégration, vous devez utiliser la future bibliothèque Android Jetpack si vous souhaitez intégrer le sélecteur de photos intégré.
- Recherche dans le sélecteur de photos dans le cloud : nouvelles API qui permettent de rechercher des éléments à partir du fournisseur de contenu multimédia dans le cloud pour le sélecteur de photos Android. La fonctionnalité de recherche dans le sélecteur de photos sera bientôt disponible.
Confidentialité
Android 16 inclut diverses fonctionnalités qui aident les développeurs d'applications à protéger la confidentialité des utilisateurs.
Mises à jour de Santé Connect
Santé Connect dans la version Preview développeur ajoute ACTIVITY_INTENSITY
, un nouveau type de données défini conformément aux recommandations de l'Organisation mondiale de la Santé concernant l'activité modérée et intense. Chaque enregistrement nécessite l'heure de début, l'heure de fin et l'intensité de l'activité (modérée ou intense).
Santé Connect contient également des API mises à jour compatibles avec les dossiers médicaux. Cela permet aux applications de lire et d'écrire des dossiers médicaux au format FHIR avec le consentement explicite de l'utilisateur. Cette API est disponible dans un programme en accès anticipé. Si vous souhaitez participer, inscrivez-vous à notre programme en accès anticipé.
Privacy Sandbox sur Android
Android 16 intègre la dernière version de la Privacy Sandbox sur Android, qui fait partie de nos efforts continus visant à développer des technologies dans lesquelles les utilisateurs savent que leur confidentialité est protégée. Pour en savoir plus sur le programme bêta de la Privacy Sandbox sur Android pour les développeurs, consultez notre site Web. Découvrez le SDK Runtime, qui permet aux SDK de s'exécuter dans un environnement d'exécution dédié distinct de l'application qu'ils diffusent, offrant des protections plus strictes concernant la collecte et le partage des données utilisateur.