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 familiariser avec les API associées.
Pour obtenir une liste détaillée des nouvelles API, des API modifiées et supprimées, consultez le rapport de différences des API. Pour en savoir plus sur les nouvelles API, consultez la documentation de référence des API Android. Les nouvelles API sont mises en évidence.Vous devez également examiner les domaines dans lesquels les changements de plate-forme peuvent affecter vos applications. 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, quelle que soit la
targetSdkVersion
Fonctionnalité de base
Android inclut de nouvelles API qui étendent les fonctionnalités de base du système Android.
Deux versions de l'API Android en 2025
- This preview is for the next major release of Android with a planned launch in Q2 of 2025. This release is similar to all of our API releases in the past, where we can have planned behavior changes that are often tied to a targetSdkVersion.
- We're planning the major release a quarter earlier (Q2 rather than Q3 in prior years) to better align with the schedule of device launches across our ecosystem, so more devices can get the major release of Android sooner. With the major release coming in Q2, you'll need to do your annual compatibility testing a few months earlier than in previous years to make sure your apps are ready.
- We plan to have another release in Q4 of 2025 which also will include new developer APIs. The Q2 major release will be the only release in 2025 to include planned behavior changes that could affect apps.
In addition to new developer APIs, the Q4 minor release will pick up feature updates, optimizations, and bug fixes; it will not include any app-impacting behavior changes.

We'll continue to have quarterly Android releases. The Q1 and Q3 updates in-between the API releases will provide incremental updates to help ensure continuous quality. We're actively working with our device partners to bring the Q2 release to as many devices as possible.
Using new APIs with major and minor releases
Guarding a code block with a check for API level is done today using
the SDK_INT
constant with
VERSION_CODES
. This will continue
to be supported for major Android releases.
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
The new SDK_INT_FULL
constant can be used for API checks against both major and minor versions with
the new VERSION_CODES_FULL
enumeration.
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
You can also use the
Build.getMinorSdkVersion()
method to get just the minor SDK version.
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
These APIs have not yet been finalized and are subject to change, so please send us feedback if you have any concerns.
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.
Notifications axées sur la progression
Android 16 引入了以进度为中心的通知,可帮助用户顺畅地跟踪用户发起的端到端历程。
Notification.ProgressStyle
是一种新的通知样式,可让您创建以进度为中心的通知。主要用例包括共享车辆、送货和导航。在 Notification.ProgressStyle
类中,您可以使用点和细分来表示用户体验历程中的状态和里程碑。
To learn more, see the Progress-centric notifications documentation page.


Mises à jour de la prévisualisation du Retour
Android 16 adds new APIs to help you enable predictive back system animations in
gesture navigation such as the back-to-home animation. Registering the
onBackInvokedCallback
with the new
PRIORITY_SYSTEM_NAVIGATION_OBSERVER
allows your app to
receive the regular onBackInvoked
call whenever the
system handles a back navigation without impacting the normal back navigation
flow.
Android 16 additionally adds the
finishAndRemoveTaskCallback()
and
moveTaskToBackCallback
. By registering these callbacks
with the OnBackInvokedDispatcher
, the system can trigger
specific behaviors and play corresponding ahead-of-time animations when the back
gesture is invoked.
Technologies haptiques plus riches
自诞生之日起,Android 就提供了对触感反馈致动器的控制。
Android 11 添加了对更复杂的触感反馈效果的支持,更高级的致动器可以通过设备定义的语义基元 VibrationEffect.Compositions
支持这些效果。
Android 16 添加了触感反馈 API,让应用能够定义触感反馈效果的振幅和频率曲线,同时抽象出设备功能之间的差异。
Productivité et outils pour les développeurs
Bien que la plupart de nos efforts pour améliorer votre productivité soient axés sur des outils tels qu'Android Studio, Jetpack Compose et les bibliothèques Android Jetpack, nous cherchons toujours des moyens de vous aider à concrétiser votre vision sur la plate-forme.
Gestion du contenu pour les fonds d'écran animés
Dans Android 16, le framework de fond d'écran animé bénéficie d'une nouvelle API de contenu pour relever les défis des fonds d'écran dynamiques gérés par l'utilisateur. Actuellement, les fonds d'écran animés intégrant du contenu fourni par l'utilisateur nécessitent des implémentations complexes, spécifiques au service. Android 16 introduit WallpaperDescription
et WallpaperInstance
. WallpaperDescription vous permet d'identifier des instances distinctes d'un fond d'écran animé à partir du même service. Par exemple, un fond d'écran qui apparaît à la fois sur l'écran d'accueil et sur l'écran de verrouillage peut comporter un contenu unique dans les deux cas. Le sélecteur de fond d'écran et WallpaperManager
utilisent ces métadonnées pour mieux présenter les fonds d'écran aux utilisateurs, ce qui vous permet de créer des expériences de fond d'écran animé diversifiées et personnalisées plus facilement.
Performances et batterie
Android 16 introduit des API qui vous aident à recueillir 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.
Composant de démarrage 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 tâches
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.
API de marge dans ADPF
SystemHealthManager
introduit les API getCpuHeadroom
et getGpuHeadroom
, conçues pour fournir aux jeux et aux applications gourmandes en ressources des estimations des ressources de processeur et de GPU disponibles. Ces méthodes vous permettent d'évaluer comment votre application ou votre jeu peut améliorer au mieux l'état du système, en particulier lorsqu'elles sont utilisées avec d'autres API Android Dynamic Performance Framework (ADPF) qui détectent le throttling thermique.
En utilisant CpuHeadroomParams
et GpuHeadroomParams
sur les appareils compatibles, vous pouvez personnaliser la période utilisée pour calculer la marge de manœuvre et choisir entre une disponibilité moyenne ou minimale des ressources. Cela peut vous aider à réduire l'utilisation des ressources du processeur ou du GPU en conséquence, ce qui améliore l'expérience utilisateur et l'autonomie de la batterie.
Accessibilité
Android 16 ajoute de nouvelles API et fonctionnalités d'accessibilité qui peuvent vous aider à rendre votre application accessible à tous les utilisateurs.
API d'accessibilité améliorées
Android 16 添加了其他 API 来增强界面语义,这有助于为依赖于无障碍服务(例如 TalkBack)的用户提高一致性。
为文字添加轮廓,以最大限度地提高文字对比度
视力较低的用户对对比度的敏感度通常较低,因此很难将对象与背景区分开来。为了帮助这些用户,Android 16 引入了轮廓文本,取代了高对比度文本,后者会在文本周围绘制较大的对比度区域,以大大提高可辨性。
Android 16 包含新的 AccessibilityManager
API,可让您的应用检查或注册监听器,以查看此模式是否已启用。这主要适用于 Compose 等界面工具包,以提供类似的视觉体验。如果您维护界面工具包库,或者您的应用执行绕过 android.text.Layout
类的自定义文本渲染,则可以使用此方法来了解何时启用轮廓文本。

向 TtsSpan 添加了时长
Android 16 使用 TYPE_DURATION
扩展了 TtsSpan
,其中包含 ARG_HOURS
、ARG_MINUTES
和 ARG_SECONDS
。这样,您就可以直接为时长添加注释,确保通过 TalkBack 等服务获得准确且一致的文本转语音输出。
支持具有多个标签的元素
Android 目前允许界面元素从其他元素派生其无障碍功能标签,现在还支持关联多个标签,这是 Web 内容中常见的情况。通过在 AccessibilityNodeInfo
中引入基于列表的 API,Android 可以直接支持这些多标签关系。在进行这项更改的过程中,我们已弃用 AccessibilityNodeInfo#setLabeledBy
和 #getLabeledBy
,改用 #addLabeledBy
、#removeLabeledBy
和 #getLabeledByList
。
改进了对可展开元素的支持
Android 16 添加了无障碍功能 API,可让您传达互动元素(例如菜单和展开式列表)的展开或收起状态。通过使用 setExpandedState
设置展开状态,并使用 CONTENT_CHANGE_TYPE_EXPANDED
内容更改类型调度 TYPE_WINDOW_CONTENT_CHANGED AccessibilityEvents,您可以确保 TalkBack 等屏幕阅读器会读出状态更改,从而提供更直观、更包容的用户体验。
不确定进度条
Android 16 添加了 RANGE_TYPE_INDETERMINATE
,让您可以为确定性和不确定性 ProgressBar
微件公开 RangeInfo
,从而让 TalkBack 等服务能够更一致地为进度指示器提供反馈。
三态复选框
Android 16 中的新 AccessibilityNodeInfo
getChecked
和 setChecked(int)
方法现在除了“已选中”和“未选中”之外,还支持“部分选中”状态。此字段取代了已废弃的布尔值 isChecked
和 setChecked(boolean)
。
补充说明
如果无障碍服务提供关于 ViewGroup
的说明,则会将来自其子视图的内容标签合并在一起。如果您为 ViewGroup
提供 contentDescription
,无障碍服务会假定您还要覆盖不可聚焦的子视图的说明。如果您想为下拉菜单等内容添加标签(例如“字体系列”),同时保留当前的无障碍功能选择(例如“Roboto”),这可能会造成问题。Android 16 添加了 setSupplementalDescription
,以便您提供用于提供 ViewGroup
相关信息的文本,而不会覆盖其子项中的信息。
必填表单字段
Android 16 向 AccessibilityNodeInfo
添加了 setFieldRequired
,以便应用可以告知无障碍服务需要输入表单字段。对于填写各种类型表单的用户而言,这是一个重要的场景,即使是简单的必填条款及条件复选框,也能帮助用户始终如一地识别必填字段并在必填字段之间快速导航。
Utiliser le téléphone comme entrée micro pour les appels vocaux avec des appareils auditifs LEA
Android 16 新增了一项功能,让 LE Audio 助听器用户能够在助听器的内置麦克风和手机上的麦克风之间切换,以进行语音通话。在嘈杂的环境或助听器麦克风可能无法正常工作的其他情况下,这会很有帮助。
Contrôle du volume ambiant pour les appareils auditifs LEA
Android 16 adds the capability for users of LE Audio hearing aids to adjust the volume of ambient sound that is picked up by the hearing aid's microphones. This can be helpful in situations where background noise is too loud or too quiet.
Appareil photo
Android 16 améliore la prise en charge des utilisateurs de caméras professionnelles, en permettant l'exposition automatique hybride ainsi que des ajustements précis de la température et de la teinte des couleurs. Un nouvel indicateur de mode nuit aide votre application à savoir quand passer à une session de caméra en mode nuit et quand en sortir. Les nouvelles actions Intent
permettent de capturer plus facilement des photos animées. Nous continuons également d'améliorer les images Ultra HDR en ajoutant la prise en charge de l'encodage HEIC et de nouveaux paramètres issus de la version préliminaire de la norme ISO 21496-1.
Exposition automatique hybride
Android 16 ajoute de nouveaux modes d'exposition automatique hybrides à Camera2, ce qui vous permet de contrôler manuellement certains aspects de l'exposition tout en laissant l'algorithme d'exposition automatique (AE) gérer le reste. Vous pouvez contrôler ISO + AE et durée d'exposition + AE, ce qui offre une plus grande flexibilité par rapport à l'approche actuelle, où vous avez un contrôle manuel complet ou vous vous appuyez entièrement sur l'exposition automatique.
fun setISOPriority() {
// ... (Your existing code before the snippet) ...
val availablePriorityModes = mStaticInfo.characteristics.get(
CameraCharacteristics.CONTROL_AE_AVAILABLE_PRIORITY_MODES
)
// ... (Your existing code between the snippets) ...
// Turn on AE mode to set priority mode
reqBuilder.set(
CaptureRequest.CONTROL_AE_MODE,
CameraMetadata.CONTROL_AE_MODE_ON
)
reqBuilder.set(
CaptureRequest.CONTROL_AE_PRIORITY_MODE,
CameraMetadata.CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY
)
reqBuilder.set(
CaptureRequest.SENSOR_SENSITIVITY,
TEST_SENSITIVITY_VALUE
)
val request: CaptureRequest = reqBuilder.build()
// ... (Your existing code after the snippet) ...
}
Ajustements précis de la température et de la teinte des couleurs
Android 16 permet d'ajuster la température et la teinte des couleurs de l'appareil photo pour mieux prendre en charge les applications d'enregistrement vidéo professionnelles. Dans les versions précédentes d'Android, vous pouviez contrôler les paramètres de balance des blancs via CONTROL_AWB_MODE
, qui contient des options limitées à une liste prédéfinie, comme Incandescent (Incandescente), Cloudy (Nuageux) et Twilight (Crépuscule). COLOR_CORRECTION_MODE_CCT
permet d'utiliser COLOR_CORRECTION_COLOR_TEMPERATURE
et COLOR_CORRECTION_COLOR_TINT
pour ajuster précisément la balance des blancs en fonction de la température de couleur corrélée.
fun setCCT() {
// ... (Your existing code before this point) ...
val colorTemperatureRange: Range<Int> =
mStaticInfo.characteristics[CameraCharacteristics.COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE]
// Set to manual mode to enable CCT mode
reqBuilder[CaptureRequest.CONTROL_AWB_MODE] = CameraMetadata.CONTROL_AWB_MODE_OFF
reqBuilder[CaptureRequest.COLOR_CORRECTION_MODE] = CameraMetadata.COLOR_CORRECTION_MODE_CCT
reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TEMPERATURE] = 5000
reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TINT] = 30
val request: CaptureRequest = reqBuilder.build()
// ... (Your existing code after this point) ...
}
Les exemples suivants montrent à quoi ressemble une photo après avoir appliqué différents ajustements de température et de teinte de couleur:





Détection de scène en mode Nuit de l'appareil photo
To help your app know when to switch to and from a night mode camera session,
Android 16 adds EXTENSION_NIGHT_MODE_INDICATOR
. If
supported, it's available in the CaptureResult
within
Camera2.
This is the API we briefly mentioned as coming soon in the How Instagram enabled users to take stunning low light photos blog post. That post is a practical guide on how to implement night mode together with a case study that links higher-quality in-app night mode photos with an increase in the number of photos shared from the in-app camera.
Actions d'intent de capture de photos animées
Android 16 ajoute des actions d'intent standards (ACTION_MOTION_PHOTO_CAPTURE
et ACTION_MOTION_PHOTO_CAPTURE_SECURE
), qui demandent à l'application Appareil photo de prendre une photo Mouvement et de la renvoyer.
Vous devez transmettre un EXTRA_OUTPUT
supplémentaire pour contrôler l'emplacement où l'image sera écrite, ou un Uri
via Intent.setClipData(ClipData)
. Si vous ne définissez pas de ClipData
, il sera copié automatiquement lorsque vous appelez Context.startActivity(Intent)
.
Améliorations apportées aux images Ultra HDR

Android 16 poursuit notre travail visant à offrir une qualité d'image éblouissante avec les images UltraHDR. Il est compatible avec les images UltraHDR au format de fichier HEIC. Ces images recevront le type ImageFormat
HEIC_ULTRAHDR
et contiendront une carte de gain intégrée semblable au format JPEG UltraHDR existant. Nous travaillons également sur la prise en charge d'AVIF pour UltraHDR. Tenez-vous informé.
De plus, Android 16 implémente des paramètres supplémentaires dans UltraHDR à partir de la version préliminaire de la norme ISO 21496-1, y compris la possibilité d'obtenir et de définir l'espace colorimétrique dans lequel les calculs de la carte de gain doivent être appliqués, ainsi que la prise en charge des images de base encodées en HDR avec des cartes de gain SDR.
Graphiques
Android 16 inclut les dernières améliorations graphiques, comme les effets graphiques personnalisés avec AGSL.
Effets graphiques personnalisés avec AGSL
Android 16 ajoute RuntimeColorFilter
et RuntimeXfermode
, ce qui vous permet de créer des effets complexes tels que le seuil, le sépia et la saturation de la teinte, et de les appliquer aux appels de dessin. Depuis Android 13, vous pouvez utiliser AGSL pour créer des RuntimeShaders personnalisés qui étendent Shader
. La nouvelle API reflète cela, en ajoutant un RuntimeColorFilter
compatible avec AGSL qui étend ColorFilter
et un effet Xfermode
qui vous permet d'implémenter un compositing et un mélange personnalisés basés sur AGSL entre les pixels source et de destination.
private val thresholdEffectString = """
uniform half threshold;
half4 main(half4 c) {
half luminosity = dot(c.rgb, half3(0.2126, 0.7152, 0.0722));
half bw = step(threshold, luminosity);
return bw.xxx1 * c.a;
}"""
fun setCustomColorFilter(paint: Paint) {
val filter = RuntimeColorFilter(thresholdEffectString)
filter.setFloatUniform(0.5);
paint.colorFilter = filter
}
Connectivité
Android 16 met à jour la plate-forme pour permettre à votre application d'accéder aux dernières avancées en matière de technologies de communication et sans fil.
Mesure de distance 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.
API de mesure génériques
Android 16 includes the new RangingManager
, which provides
ways to determine the distance and angle on supported hardware between the local
device and a remote device. RangingManager
supports the usage of a variety of
ranging technologies such as BLE channel sounding, BLE RSSI-based ranging, Ultra
Wideband, and Wi-Fi round trip time.
Présence d'appareils dans le gestionnaire d'appareils associés
Dans Android 16, de nouvelles API sont introduites pour lier votre service d'application compagnon. Le service est lié lorsque le BLE est à portée et que le Bluetooth est connecté, et il est dissocié lorsque le BLE est hors de portée ou que le Bluetooth est déconnecté. L'application reçoit un nouveau rappel 'onDevicePresenceEvent()' en fonction de différents DevicePresenceEvent
.
Pour en savoir plus, consultez startObservingDevicePresence(ObservingDevicePresenceRequest).
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
照片选择器为用户提供了一种安全的内置授权方式,让用户可以向应用授予对本地存储空间和云端存储空间中所选图片和视频的访问权限,而不是对整个媒体库的访问权限。通过 Google 系统更新和 Google Play 服务组合使用模块化系统组件,该工具向后支持到 Android 4.4(API 级别 19)。只需几行代码即可与相关的 Android Jetpack 库集成。
Android 16 对照片选择器进行了以下改进:
- 嵌入式照片选择器:新 API,可让应用将照片选择器嵌入其视图层次结构中。这样,它就感觉像是应用中更为集成的一部分,同时仍可利用进程隔离功能,让用户能够选择媒体,而无需应用拥有过于宽泛的权限。为了最大限度地提高跨平台版本的兼容性并简化集成,如果您想集成嵌入式照片选择器,则需要使用即将推出的 Android Jetpack 库。
- 照片选择器中的云搜索:新的 API 可让 Android 照片选择器从云端媒体提供商中进行搜索。照片选择器中的搜索功能即将推出。
Vidéo Advanced Professional
Android 16 est compatible avec le codec Advanced Professional Video (APV), conçu pour l'enregistrement et la post-production vidéo de haute qualité de niveau professionnel.
La norme de codec APV présente les caractéristiques suivantes:
- Qualité vidéo sans perte perceptible (proche de la qualité vidéo brute)
- Codage intra-frame uniquement à faible complexité et à débit élevé (sans prédiction de domaine de pixels) pour mieux prendre en charge les workflows de montage
- Compatibilité avec une plage de débit binaire élevée allant jusqu'à quelques Gbit/s pour les contenus en résolution 2K, 4K et 8K, grâce à un schéma de codage d'entropie léger
- Mosaïque de frames pour le contenu immersif et pour activer l'encodage et le décodage parallèles
- Compatibilité avec différents formats et profondeurs de bits d'échantillonnage chroma
- Prise en charge du décodage et du réencodage multiples sans dégradation importante de la qualité visuelle
- Prise en charge de la vidéo multivue et des vidéos auxiliaires telles que la profondeur, l'alpha et l'aperçu
- Compatibilité avec HDR10/10+ et métadonnées définies par l'utilisateur
Une implémentation de référence de l'APV est fournie via le projet OpenAPV. Android 16 implémentera la prise en charge du profil APV 422-10, qui fournit un échantillonnage de couleur YUV 422 avec un encodage 10 bits et des débits cibles pouvant atteindre 2 Gbit/s.
Confidentialité
Android 16 inclut diverses fonctionnalités qui aident les développeurs d'applications à protéger la confidentialité des utilisateurs.
Nouveautés de Santé Connect
Health Connect adds ACTIVITY_INTENSITY
, a data type defined according to World
Health Organization guidelines around moderate and vigorous activity. Each
record requires the start time, the end time, and whether the activity intensity
is moderate or vigorous.
Health Connect also contains updated APIs supporting medical records. This allows apps to read and write medical records in FHIR format with explicit user consent.
Privacy Sandbox sur Android
Android 16 incorporates the latest version of the Privacy Sandbox on Android, part of our ongoing work to develop technologies where users know their privacy is protected. Our website has more about the Privacy Sandbox on Android developer beta program to help you get started. Check out the SDK Runtime which allows SDKs to run in a dedicated runtime environment separate from the app they are serving, providing stronger safeguards around user data collection and sharing.
Sécurité
Android 16 inclut des fonctionnalités qui vous aident à renforcer la sécurité de votre application et à protéger ses données.
API de partage de clés
Android 16 adds APIs that support sharing access to
Android Keystore keys with other apps. The new
KeyStoreManager
class supports
granting and revoking access to keys
by app uid, and includes an API for apps to access shared
keys.
Facteurs de forme des appareils
Android 16 permet à vos applications d'exploiter tout le potentiel des facteurs de forme d'Android.
Cadre standardisé de qualité d'image et audio pour les téléviseurs
Le nouveau package MediaQuality
d'Android 16 expose un ensemble d'API standardisées pour accéder aux profils audio et image, ainsi qu'aux paramètres liés au matériel. Cela permet aux applications de streaming d'interroger les profils et de les appliquer aux contenus multimédias de manière dynamique:
- Les films masterisés avec une plage dynamique plus large nécessitent une plus grande précision des couleurs pour voir les détails subtils dans les ombres et s'adapter à la lumière ambiante. Un profil qui privilégie la précision des couleurs à la luminosité peut donc être approprié.
- Les événements sportifs en direct sont souvent masterisés avec une plage dynamique étroite, mais sont souvent regardés en plein jour. Un profil qui privilégie la luminosité à la précision des couleurs peut donc donner de meilleurs résultats.
- Les contenus entièrement interactifs nécessitent un traitement minimal pour réduire la latence et une fréquence d'images plus élevée. C'est pourquoi de nombreux téléviseurs sont livrés avec un profil de jeu.
L'API permet aux applications de basculer entre les profils et aux utilisateurs de régler les téléviseurs compatibles pour qu'ils correspondent au mieux à leur contenu.
Internationalisation
Android 16 ajoute des fonctionnalités qui complètent l'expérience utilisateur lorsqu'un appareil est utilisé dans différentes langues.
Texte vertical
Android 16 ajoute une compatibilité de bas niveau pour l'affichage et la mesure du texte verticalement afin de fournir une compatibilité d'écriture verticale de base aux développeurs de bibliothèques. Cette fonctionnalité est particulièrement utile pour les langues comme le japonais, qui utilisent couramment des systèmes d'écriture verticale. Un nouvel indicateur, VERTICAL_TEXT_FLAG
, a été ajouté à la classe Paint
. Lorsque cet indicateur est défini à l'aide de Paint.setFlags
, les API de mesure du texte de Paint indiquent les avances verticales au lieu des avances horizontales, et Canvas
dessine le texte verticalement.
val text = "「春は、曙。」"
Box(
Modifier.padding(innerPadding).background(Color.White).fillMaxSize().drawWithContent {
drawIntoCanvas { canvas ->
val paint = Paint().apply { textSize = 64.sp.toPx() }
// Draw text vertically
paint.flags = paint.flags or VERTICAL_TEXT_FLAG
val height = paint.measureText(text)
canvas.nativeCanvas.drawText(
text,
0,
text.length,
size.width / 2,
(size.height - height) / 2,
paint
)
}
}
) {}
Personnalisation du système de mesure
Les utilisateurs peuvent désormais personnaliser leur système de mesure dans les préférences régionales dans les paramètres. La préférence de l'utilisateur est incluse dans le code de paramètres régionaux. Vous pouvez donc enregistrer un BroadcastReceiver
sur ACTION_LOCALE_CHANGED
pour gérer les modifications de configuration des paramètres régionaux lorsque les préférences régionales changent.
L'utilisation de formateurs peut vous aider à adapter l'expérience locale. Par exemple, "0,5 pouce" en anglais (États-Unis) correspond à "12,7 mm" pour un utilisateur qui a défini son téléphone sur l'anglais (Danemark) ou qui utilise son téléphone en anglais (États-Unis) avec le système métrique comme système de mesure préféré.
Pour accéder à ces paramètres, ouvrez l'application Paramètres et accédez à System >Languages & region (Système > Langues et région).