Android 16 представляет множество новых функций и API для разработчиков. В следующих разделах приведено краткое описание этих функций, которое поможет вам начать работу с соответствующими API.
Подробный список новых, измененных и удаленных API см. в отчете об изменениях API . Подробную информацию о новых API см. в справочнике Android API — новые API выделены для большей наглядности.Также следует проанализировать области, где изменения платформы могут повлиять на ваши приложения. Для получения дополнительной информации см. следующие страницы:
- Изменения в поведении, влияющие на приложения при использовании Android 16.
- Изменения в поведении, затрагивающие все приложения независимо от
targetSdkVersion.
Основная функциональность
Android включает в себя новые API, расширяющие основные возможности системы Android.
Два релиза Android API в 2025 году
- 此预览版适用于 Android 的下一个主要版本,计划于 2025 年第 2 季度发布。此版本与我们过去的所有 API 版本类似,我们可以进行计划性的行为更改,这些更改通常与 targetSdkVersion 相关联。
- 我们计划提前一个季度(2021 年第 2 季度,而非之前的第 3 季度)发布主要版本,以便更好地与整个生态系统中的设备发布时间表保持一致,让更多设备能够更早地搭载 Android 主要版本。由于主要版本将于第 2 季度发布,因此您需要比往年提前几个月进行年度兼容性测试,以确保您的应用已做好准备。
- 我们计划在 2025 年第 4 季度再发布一次,届时还将推出新的开发者 API。2025 年只有第二季度的主要版本包含可能影响应用的计划行为变更。
除了新的开发者 API 之外,第 4 季度次要版本还将包含功能更新、优化和 bug 修复;其中不会包含任何会影响应用的行为变更。
我们将继续每季度发布 Android 版本。在 API 版本之间,第 1 季度和第 3 季度的更新将提供增量更新,以帮助确保持续提供高质量的服务。我们正积极与设备合作伙伴合作,将 Q2 版本推广到尽可能多的设备。
在主要版本和次要版本中使用新 API
目前,使用 SDK_INT 常量与 VERSION_CODES 结合使用,即可通过检查 API 级别来保护代码块。我们将继续支持主要 Android 版本。
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
新的 SDK_INT_FULL 常量可用于针对主要版本和次要版本进行 API 检查,并使用新的 VERSION_CODES_FULL 枚举。
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
您还可以使用 Build.getMinorSdkVersion() 方法仅获取 SDK 次要版本。
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
这些 API 尚未最终确定,可能会发生变化,因此如果您有任何疑虑,请向我们发送反馈。
Пользовательский опыт и пользовательский интерфейс системы
Android 16 предоставляет разработчикам приложений и пользователям больше контроля и гибкости в настройке своих устройств в соответствии с их потребностями.
Уведомления, отслеживающие ход выполнения
Android 16 引入了以进度为中心的通知,可帮助用户顺畅地跟踪用户发起的端到端历程。
Notification.ProgressStyle 是一种新的通知样式,可让您创建以进度为中心的通知。主要用例包括共享车辆、送货和导航。在 Notification.ProgressStyle 类中,您可以使用点和细分来表示用户体验历程中的状态和里程碑。
如需了解详情,请参阅以进度为中心的通知文档页面。


Прогнозируемые обновления задней панели
Android 16 添加了新 API,可帮助您在手势导航中启用预测性返回系统动画,例如“返回主屏幕”动画。通过使用新的 PRIORITY_SYSTEM_NAVIGATION_OBSERVER 注册 onBackInvokedCallback,您的应用可以在系统处理返回导航时接收常规的 onBackInvoked 调用,而不会影响正常的返回导航流程。
Android 16 还添加了 finishAndRemoveTaskCallback() 和 moveTaskToBackCallback。通过向 OnBackInvokedDispatcher 注册这些回调,系统可以在调用返回手势时触发特定行为并播放相应的提前动画。
Более насыщенные тактильные ощущения
Android предоставляет контроль над тактильным приводом с момента его создания.
В Android 11 добавлена поддержка более сложных тактильных эффектов, которые могут поддерживать более продвинутые приводы с помощью VibrationEffect.Compositions семантических примитивов, определяемых устройством.
В Android 16 добавлены тактильные API , которые позволяют приложениям определять кривые амплитуды и частоты тактильного эффекта, абстрагируя при этом различия между возможностями устройств.
Инструменты и средства повышения производительности разработчиков
Хотя большая часть нашей работы по повышению вашей производительности сосредоточена на таких инструментах, как Android Studio , Jetpack Compose и библиотеки Android Jetpack , мы всегда ищем способы в рамках платформы помочь вам реализовать ваши замыслы.
Обработка контента для живых обоев
在 Android 16 中,动态壁纸框架将获得一个新的 content API,以应对由用户驱动的动态壁纸带来的挑战。目前,包含用户提供的内容的实时壁纸需要复杂的服务专用实现。Android 16 引入了 WallpaperDescription 和 WallpaperInstance。借助 WallpaperDescription,您可以识别同一服务中的动态壁纸的不同实例。例如,如果某张壁纸同时在主屏幕和锁定屏幕上显示,则这两种情况下显示的内容可能各不相同。壁纸选择器和 WallpaperManager 会使用此元数据更好地向用户呈现壁纸,从而简化创建多样化个性化动态壁纸体验的过程。
Производительность и батарея
В Android 16 представлены API, которые помогают собирать информацию о ваших приложениях.
Профилирование, запускаемое системой
ProfilingManager was
added in Android 15, giving apps the ability to
request profiling data collection using Perfetto on public devices in the field.
However, since this profiling must be started from the app, critical flows such
as startups or ANRs would be difficult or impossible for apps to capture.
To help with this, Android 16 introduces system-triggered profiling to
ProfilingManager. Apps can register interest in receiving traces for certain
triggers such as cold start reportFullyDrawn
or ANRs, and then the system starts and stops a trace on the app's behalf. After
the trace completes, the results are delivered to the app's data directory.
Компонент запуска в ApplicationStartInfo
ApplicationStartInfo 在 Android 15 中添加,可让应用查看进程启动原因、启动类型、启动时间、节流和其他实用诊断数据。Android 16 添加了 getStartComponent(),用于区分触发启动的组件类型,这有助于优化应用的启动流程。
Более глубокий самоанализ своей работы
JobScheduler#getPendingJobReason() API 会返回作业可能处于待处理状态的原因。不过,作业处于待处理状态的原因可能有多种。
在 Android 16 中,我们引入了一个新 API JobScheduler#getPendingJobReasons(int jobId),该 API 会返回作业处于待处理状态的多种原因,包括开发者设置的显式约束条件和系统设置的隐式约束条件。
我们还引入了 JobScheduler#getPendingJobReasonsHistory(int jobId),用于返回最新约束条件更改的列表。
我们建议您使用该 API 来调试作业可能无法执行的原因,尤其是在您发现某些任务的成功率降低或某些作业完成延迟存在 bug 时。例如,未能在后台更新微件,或在应用启动之前未能调用预加载作业。
这还有助于您更好地了解某些作业是否因系统定义的约束条件而无法完成,而不是因明确设置的约束条件而无法完成。
Адаптивная частота обновления
Adaptive refresh rate (ARR), introduced in Android 15, enables the display refresh rate on supported hardware to adapt to the content frame rate using discrete VSync steps. This reduces power consumption while eliminating the need for potentially jank-inducing mode-switching.
Android 16 introduces hasArrSupport() and
getSuggestedFrameRate(int) while restoring
getSupportedRefreshRates() to make it easier for your apps to take
advantage of ARR. RecyclerView
1.4 internally supports ARR when it is settling from a fling or
smooth scroll, and we're continuing our work to add ARR
support into more Jetpack libraries. This frame rate article covers
many of the APIs you can use to set the frame rate so that your app can directly
use ARR.
API-интерфейсы для измерения запаса высоты в ADPF
SystemHealthManager представляет API-интерфейсы getCpuHeadroom и getGpuHeadroom , предназначенные для предоставления играм и ресурсоемким приложениям оценок доступных ресурсов ЦП и графического процессора. Эти методы позволяют вам оценить, как ваше приложение или игра могут наилучшим образом улучшить работоспособность системы, особенно при использовании в сочетании с другими API-интерфейсами Android Dynamic Performance Framework (ADPF), которые обнаруживают температурное регулирование .
Используя CpuHeadroomParams и GpuHeadroomParams на поддерживаемых устройствах, вы можете настроить временной интервал, используемый для расчета запаса, и выбрать среднюю или минимальную доступность ресурсов. Это может помочь вам соответственно сократить использование ресурсов ЦП или графического процессора, что приведет к улучшению пользовательского опыта и увеличению времени автономной работы.
Доступность
В Android 16 добавлены новые API и функции для обеспечения доступности, которые помогут вам сделать ваше приложение доступным для каждого пользователя.
Улучшены API для обеспечения доступности.
В Android 16 добавлены дополнительные API для улучшения семантики пользовательского интерфейса, которые помогают улучшить согласованность для пользователей, которые полагаются на службы специальных возможностей, такие как TalkBack .
Контурный текст для максимальной контрастности текста
У пользователей со слабым зрением часто снижена контрастная чувствительность, что затрудняет различение объектов на фоне. Чтобы помочь этим пользователям, в Android 16 вводится контурный текст, заменяющий высококонтрастный текст, который рисует вокруг текста более крупную контрастную область, что значительно улучшает читаемость.
Android 16 содержит новые API-интерфейсы AccessibilityManager , позволяющие вашим приложениям проверять или регистрировать прослушиватель, чтобы узнать, включен ли этот режим. В первую очередь это касается наборов UI Toolkit, таких как Compose, которые предлагают аналогичный визуальный опыт. Если вы поддерживаете библиотеку UI Toolkit или ваше приложение выполняет настраиваемую отрисовку текста в обход класса android.text.Layout , вы можете использовать это, чтобы узнать, включен ли контурный текст.

Длительность добавлена в TtsSpan
Android 16 расширяет TtsSpan с помощью TYPE_DURATION , состоящего из ARG_HOURS , ARG_MINUTES и ARG_SECONDS . Это позволяет напрямую комментировать продолжительность времени, обеспечивая точное и согласованное преобразование текста в речь с помощью таких сервисов, как TalkBack .
Поддержка элементов с несколькими метками
В настоящее время Android позволяет элементам пользовательского интерфейса получать свою метку доступности из другой, а также теперь предлагает возможность связывания нескольких меток, что является распространенным сценарием в веб-контенте. Введя API на основе списков в AccessibilityNodeInfo , Android может напрямую поддерживать эти отношения с несколькими метками. В рамках этого изменения мы отказались от использования AccessibilityNodeInfo#setLabeledBy и #getLabeledBy в пользу #addLabeledBy , #removeLabeledBy и #getLabeledByList .
Улучшенная поддержка расширяемых элементов.
В Android 16 добавлены API специальных возможностей, которые позволяют передавать развернутое или свернутое состояние интерактивных элементов, таких как меню и расширяемые списки. Установив расширенное состояние с помощью setExpandedState и отправив TYPE_WINDOW_CONTENT_CHANGED AccessibilityEvents с типом изменения контента CONTENT_CHANGE_TYPE_EXPANDED , вы можете гарантировать, что программы чтения с экрана, такие как TalkBack , сообщают об изменениях состояния, обеспечивая более интуитивно понятный и инклюзивный пользовательский интерфейс.
Неопределенные индикаторы прогресса
В Android 16 добавлен RANGE_TYPE_INDETERMINATE , что дает вам возможность предоставлять RangeInfo как для определенных, так и для неопределенных виджетов ProgressBar , что позволяет таким сервисам, как TalkBack , более последовательно предоставлять обратную связь для индикаторов прогресса.
Флажок с тремя состояниями
Новые методы AccessibilityNodeInfo getChecked и setChecked(int) в Android 16 теперь поддерживают состояние «частично проверено» в дополнение к состояниям «проверено» и «не проверено». Это заменяет устаревшие логические значения isChecked и setChecked(boolean) .
Дополнительные описания
Когда служба доступности описывает ViewGroup , она объединяет метки контента из своих дочерних представлений. Если вы предоставляете contentDescription для ViewGroup , службы специальных возможностей предполагают, что вы также переопределяете описание нефокусируемых дочерних представлений. Это может быть проблематично, если вы хотите пометить элементы как раскрывающийся список (например, «Семейство шрифтов»), сохраняя при этом текущий выбор для доступности (например, «Робото»). В Android 16 добавлен setSupplementalDescription , чтобы вы могли предоставлять текст, предоставляющий информацию о ViewGroup , не переопределяя информацию от ее дочерних элементов.
Обязательные поля формы
В Android 16 добавлен setFieldRequired в AccessibilityNodeInfo , чтобы приложения могли сообщать службе специальных возможностей, что требуется ввести данные в поле формы. Это важный сценарий для пользователей, заполняющих многие типы форм, даже такие простые, как флажок «Обязательные положения и условия», помогающий пользователям последовательно идентифицировать и быстро перемещаться между необходимыми полями.
Использование телефона в качестве микрофона для голосовых вызовов при использовании слуховых аппаратов LEA.
В Android 16 пользователям слуховых аппаратов LE Audio добавлена возможность переключаться между встроенными микрофонами слуховых аппаратов и микрофоном телефона для голосовых вызовов. Это может быть полезно в шумной обстановке или в других ситуациях, когда микрофоны слухового аппарата могут работать некорректно.
Регуляторы окружающего звука для слуховых аппаратов 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.
Камера
Android 16 расширяет поддержку профессиональных пользователей камер, позволяя использовать гибридную автоматическую экспозицию, а также точно настраивать цветовую температуру и оттенок. Новый индикатор ночного режима помогает приложению определять, когда следует переключаться между ночным и ночным режимами съемки. Новые действия Intent упрощают съемку движущихся изображений, и мы продолжаем улучшать изображения UltraHDR, добавляя поддержку кодирования HEIC и новых параметров из проекта стандарта ISO 21496-1.
Гибридная автоэкспозиция
В Android 16 в Camera2 добавлены новые гибридные режимы автоэкспозиции, позволяющие вручную контролировать определенные аспекты экспозиции, а алгоритм автоэкспозиции (AE) позаботится обо всем остальном. Вы можете управлять ISO + AE и временем экспозиции + AE , что обеспечивает большую гибкость по сравнению с текущим подходом, при котором вы либо имеете полное ручное управление, либо полностью полагаетесь на автоматическую экспозицию.
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) ...
}
Точная настройка цветовой температуры и оттенка.
Android 16 增加了对相机的精细色温和色调调整的支持,以更好地支持专业视频录制应用。在较低版本的 Android 中,您可以通过 CONTROL_AWB_MODE 控制白平衡设置,其中包含仅限于预设列表的选项,例如白炽灯、多云和黄昏。COLOR_CORRECTION_MODE_CCT 可让您使用 COLOR_CORRECTION_COLOR_TEMPERATURE 和 COLOR_CORRECTION_COLOR_TINT 根据相关色温精确调整白平衡。
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) ...
}
以下示例展示了应用不同色温和色调调整后的照片效果:
Обнаружение сцены в ночном режиме камеры
为了帮助应用了解何时切换到夜间模式相机会话以及何时从夜间模式相机会话切换出,Android 16 添加了 EXTENSION_NIGHT_MODE_INDICATOR。如果受支持,则可在 Camera2 内的 CaptureResult 中使用。
这是我们在Instagram 如何让用户拍出令人惊艳的低光照片博文中提到的即将推出的 API。该博文提供了有关如何实现夜间模式的实用指南,并附有一份案例研究,该案例研究将应用内夜间模式照片质量的提升与通过应用内相机分享的照片数量的增加联系起来。
Действия, направленные на захват движущихся фотографий
В Android 16 добавлены стандартные действия Intent — ACTION_MOTION_PHOTO_CAPTURE и ACTION_MOTION_PHOTO_CAPTURE_SECURE , которые запрашивают у приложения камеры захват движущейся фотографии и возврат ее.
Вы должны либо передать дополнительный EXTRA_OUTPUT , чтобы контролировать, куда будет записано изображение, либо Uri через Intent.setClipData(ClipData) . Если вы не установили ClipData , он будет скопирован туда при вызове Context.startActivity(Intent) .
Улучшение изображения UltraHDR

Android 16 продолжает нашу работу по обеспечению потрясающего качества изображения с помощью UltraHDR. Он добавляет поддержку изображений UltraHDR в формате файлов HEIC. Эти изображения получат тип ImageFormat HEIC_ULTRAHDR и будут содержать встроенную карту усиления, аналогичную существующему формату UltraHDR JPEG. Мы также работаем над поддержкой AVIF для UltraHDR, так что следите за обновлениями.
Кроме того, в Android 16 реализованы дополнительные параметры UltraHDR из проекта стандарта ISO 21496-1 , включая возможность получать и устанавливать цветовое пространство, в котором следует применять математические вычисления карты усиления, а также поддержку базовых изображений в кодировке HDR с картами усиления SDR.
Графика
Android 16 включает в себя последние улучшения графики, такие как пользовательские графические эффекты с использованием AGSL.
Пользовательские графические эффекты с помощью AGSL
В Android 16 добавлены RuntimeColorFilter и RuntimeXfermode , позволяющие создавать сложные эффекты, такие как «Порог», «Сепия» и «Насыщенность оттенка», и применять их для рисования вызовов. Начиная с Android 13, вы можете использовать AGSL для создания пользовательских RuntimeShaders , расширяющих Shader . Новый API отражает это, добавляя RuntimeColorFilter на базе AGSL, который расширяет ColorFilter , и эффект Xfermode , который позволяет реализовать настраиваемую компоновку и смешивание на основе AGSL между исходными и целевыми пикселями.
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
}
Подключение
Обновление Android 16 предоставляет вашему приложению доступ к новейшим достижениям в области коммуникационных и беспроводных технологий.
Расширение зоны действия с повышенной безопасностью
В Android 16 добавлена поддержка надежных функций безопасности при определении местоположения Wi-Fi на поддерживаемых устройствах с Wi-Fi 6 802.11az, что позволяет приложениям сочетать более высокую точность, большую масштабируемость и динамическое планирование протокола с улучшениями безопасности, включая AES-256. шифрование и защита от атак MITM. Это позволяет более безопасно использовать его в случаях, когда устройство находится вблизи, например, для разблокировки ноутбука или двери автомобиля. 802.11az интегрирован со стандартом Wi-Fi 6, используя его инфраструктуру и возможности для более широкого внедрения и упрощения развертывания.
Универсальные API для определения расстояния
Android 16 включает новый RangingManager , который позволяет определять расстояние и угол на поддерживаемом оборудовании между локальным и удаленным устройством. RangingManager поддерживает использование различных технологий определения дальности, таких как зондирование каналов BLE, ранжирование на основе BLE RSSI, сверхширокополосный диапазон и время прохождения сигнала Wi-Fi в оба конца.
Сопутствующий менеджер устройств: наличие устройства
В Android 16 вводятся новые API для привязки службы вашего сопутствующего приложения. Служба будет привязана, когда BLE находится в зоне действия и Bluetooth подключен, и служба будет отвязана, когда BLE находится вне зоны действия или Bluetooth отключен. Приложение получит новый обратный вызов 'onDevicePresenceEvent()' на основе различных DevicePresenceEvent . Более подробную информацию можно найти в 'startObservingDevicePresence(ObservingDevicePresenceRequest)' .
СМИ
Android 16 включает в себя множество функций, улучшающих работу с мультимедиа.
Улучшения в инструменте выбора фотографий.
照片选择器为用户提供了一种安全的内置授权方式,让用户可以向应用授予对本地存储空间和云端存储空间中所选图片和视频的访问权限,而不是对整个媒体库的访问权限。通过 Google 系统更新和 Google Play 服务组合使用模块化系统组件,该工具向后支持到 Android 4.4(API 级别 19)。只需几行代码即可与相关的 Android Jetpack 库集成。
Android 16 对照片选择器进行了以下改进:
- 嵌入式照片选择器:新 API,可让应用将照片选择器嵌入其视图层次结构中。这样,它就感觉像是应用中更为集成的一部分,同时仍可利用进程隔离功能,让用户能够选择媒体,而无需应用拥有过于宽泛的权限。为了最大限度地提高跨平台版本的兼容性并简化集成,如果您想集成嵌入式照片选择器,则需要使用即将推出的 Android Jetpack 库。
- 照片选择器中的云搜索:新的 API 可让 Android 照片选择器从云端媒体提供商中进行搜索。照片选择器中的搜索功能即将推出。
Продвинутое профессиональное видео
Android 16 引入了对高级专业视频 (APV) 编解码器的支持,该编解码器专为专业级高品质视频录制和后期制作而设计。
APV 编解码器标准具有以下特点:
- 感知上无损的视频画质(接近原始视频画质)
- 复杂度低且吞吐量高的仅帧内编码(无像素域预测),以更好地支持编辑工作流
- 支持高比特率范围(最高几十 Gbps),适用于 2K、4K 和 8K 分辨率内容,由轻量级熵编码方案实现
- 帧平铺,用于沉浸式内容和启用并行编码和解码
- 支持各种色度采样格式和位深
- 支持多次解码和重新编码,且不会严重降低视觉质量
- 支持多视图视频和辅助视频,例如深度、Alpha 和预览
- 支持 HDR10/10+ 和用户定义的元数据
OpenAPV 项目提供了 APV 的参考实现。Android 16 将实现对 APV 422-10 配置文件的支持,该配置文件提供 YUV 422 色彩采样以及 10 位编码,并且目标比特率最高可达 2 Gbps。
Конфиденциальность
Android 16 включает в себя множество функций, которые помогают разработчикам приложений защищать конфиденциальность пользователей.
Обновления Health Connect
Health Connect добавляет ACTIVITY_INTENSITY — тип данных, определенный в соответствии с рекомендациями Всемирной организации здравоохранения относительно умеренной и интенсивной активности. Для каждой записи требуется время начала, время окончания и то, является ли интенсивность активности умеренной или интенсивной.
Health Connect также содержит обновленные API, поддерживающие медицинские записи . Это позволяет приложениям читать и записывать медицинские записи в формате FHIR с явного согласия пользователя.
«Песочница конфиденциальности» на Android
Android 16 включает в себя последнюю версию Privacy Sandbox для Android , что является частью нашей постоянной работы по разработке технологий, позволяющих пользователям знать, что их конфиденциальность защищена. На нашем веб-сайте вы найдете дополнительную информацию о бета-программе Privacy Sandbox для разработчиков Android, которая поможет вам начать работу. Ознакомьтесь со средой выполнения SDK , которая позволяет SDK запускаться в выделенной среде выполнения отдельно от приложения, которое они обслуживают, обеспечивая более надежную защиту при сборе и обмене пользовательскими данными.
Безопасность
Android 16 включает в себя функции, которые помогут вам повысить безопасность вашего приложения и защитить его данные.
API для обмена ключами
В Android 16 добавлены API, которые поддерживают общий доступ к ключам хранилища ключей Android с другими приложениями. Новый класс KeyStoreManager поддерживает предоставление и отзыв доступа к ключам с помощью uid приложения и включает API для доступа приложений к общим ключам.
форм-факторы устройств
Android 16 обеспечивает вашим приложениям поддержку, позволяющую максимально эффективно использовать возможности форм-факторов Android.
Стандартизированная система оценки качества изображения и звука для телевизоров.
Android 16 中的新 MediaQuality 软件包公开了一组标准化 API,用于访问音频和图片配置文件以及与硬件相关的设置。这样,在线播放应用就可以查询配置文件并将其动态应用于媒体:
- 使用更大动态范围进行母版制作的电影需要更高的色彩准确度,才能看清阴影中的细微细节并根据环境光线进行调整,因此,最好使用色彩准确度优先于亮度的配置文件。
- 体育赛事直播通常采用较窄的动态范围进行母版制作,但通常是在白天观看,因此偏向亮度而非色彩准确度的配置文件可以获得更好的效果。
- 完全交互式内容需要尽可能减少处理以缩短延迟时间,并且需要更高的帧速率,因此许多电视都附带游戏配置文件。
借助此 API,应用可以在个人资料之间切换,用户可以享受调整支持的电视,以便尽可能适合其内容。
Интернационализация
Android 16 добавляет функции и возможности, которые улучшают пользовательский опыт при использовании устройства на разных языках.
Вертикальный текст
Android 16 添加了对垂直渲染和测量文本的低级支持,以便为库开发者提供基本的垂直书写支持。这对于日语等通常使用竖向书写系统的语言特别有用。Paint 类中添加了一个新标志 VERTICAL_TEXT_FLAG。使用 Paint.setFlags 设置此标志后,Paint 的文本测量 API 将报告垂直进度,而不是水平进度,并且 Canvas 将垂直绘制文本。
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
)
}
}
) {}
Настройка измерительной системы
Теперь пользователи могут настроить свою систему измерения в региональных настройках в настройках. Предпочтения пользователя включены как часть кода локали, поэтому вы можете зарегистрировать BroadcastReceiver в ACTION_LOCALE_CHANGED для обработки изменений конфигурации локали при изменении региональных предпочтений.
Использование форматтеров может помочь адаптироваться к местным условиям. Например, «0,5 дюйма» на английском языке (США) равно «12,7 мм» для пользователя, который настроил свой телефон на английский язык (Дания) или использует свой телефон на английском языке (США) с метрической системой в качестве предпочтительной системы измерения.
Чтобы найти эти настройки, откройте приложение «Настройки» и выберите «Система» > «Языки и регион» .