Android 16 introduce nuove fantastiche funzionalità e API per gli sviluppatori. Le seguenti sezioni riepilogano queste funzionalità per aiutarti a iniziare a utilizzare le API correlate.
Per un elenco dettagliato delle API nuove, modificate e rimosse, leggi il report API diff. Per informazioni dettagliate sulle nuove API, visita la documentazione di riferimento delle API Android. Le nuove API sono evidenziate per una maggiore visibilità.Devi anche esaminare le aree in cui le modifiche alla piattaforma potrebbero influire sulle tue app. Per maggiori informazioni, consulta le seguenti pagine:
- Modifiche al comportamento che interessano le app quando hanno come target Android 16
- Modifiche al comportamento che interessano tutte le app indipendentemente da
targetSdkVersion.
Funzionalità di base
Android include nuove API che espandono le funzionalità di base del sistema Android.
Due release dell'API Android nel 2025
- Questa anteprima riguarda la prossima release principale di Android, il cui lancio è previsto per il secondo trimestre del 2025. Questa release è simile a tutte le release dell'API precedenti, in cui possiamo avere modifiche pianificate del comportamento spesso legate a una versione SDK target.
- Abbiamo in programma di rilasciare la release principale un trimestre prima (secondo trimestre anziché terzo trimestre come negli anni precedenti) per allinearci meglio alla pianificazione dei lanci dei dispositivi nel nostro ecosistema, in modo che un maggior numero di dispositivi possa ricevere prima la release principale di Android. Con la release principale in arrivo nel secondo trimestre, dovrai eseguire i test di compatibilità annuali qualche mese prima rispetto agli anni precedenti per assicurarti che le tue app siano pronte.
- Prevediamo di rilasciare un'altra versione nel quarto trimestre del 2025, che includerà anche nuove API per gli sviluppatori. La release principale del secondo trimestre sarà l'unica release del 2025 a includere modifiche pianificate del comportamento che potrebbero influire sulle app.
Oltre alle nuove API per gli sviluppatori, la release minore del quarto trimestre includerà aggiornamenti delle funzionalità, ottimizzazioni e correzioni di bug. Non includerà modifiche del comportamento che influiscono sulle app.
Continueremo a rilasciare Android trimestralmente. Gli aggiornamenti del primo e del terzo trimestre tra le release dell'API forniranno aggiornamenti incrementali per garantire una qualità continua. Stiamo collaborando attivamente con i nostri partner per dispositivi per rendere disponibile la release del secondo trimestre sul maggior numero possibile di dispositivi.
Utilizzare le nuove API con release principali e secondarie
Attualmente, la protezione di un blocco di codice con un controllo del livello API viene eseguita utilizzando la costante SDK_INT con VERSION_CODES. Continuerà
a essere supportato per le release principali di Android.
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
La nuova costante SDK_INT_FULL
può essere utilizzata per i controlli dell'API sia con le versioni principali sia con quelle secondarie con
la nuova enumerazione VERSION_CODES_FULL.
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
Puoi anche utilizzare il metodo
Build.getMinorSdkVersion()
per ottenere solo la versione minore dell'SDK.
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
Queste API non sono ancora state finalizzate e sono soggette a modifiche, pertanto inviaci un feedback in caso di dubbi.
Esperienza utente e UI di sistema
Android 16 offre a sviluppatori di app e utenti maggiore controllo e flessibilità per configurare il dispositivo in base alle proprie esigenze.
Notifiche incentrate sui progressi
Android 16 introduces progress-centric notifications to help users seamlessly track user-initiated, start-to-end journeys.
Notification.ProgressStyle is a new notification
style that lets you create progress-centric notifications. Key use cases include
rideshare, delivery, and navigation. Within the Notification.ProgressStyle
class, you can denote states and milestones in a user journey using
points and segments.
Per scoprire di più, consulta la pagina di documentazione relativa alle notifiche incentrate sul progresso.
Aggiornamenti di Indietro predittivo
Android 16 aggiunge nuove API per aiutarti ad attivare le animazioni di sistema per il gesto Indietro predittivo nella navigazione con i gesti, ad esempio l'animazione di ritorno alla schermata Home. La registrazione di onBackInvokedCallback con il nuovo PRIORITY_SYSTEM_NAVIGATION_OBSERVER consente alla tua app di ricevere la normale chiamata onBackInvoked ogni volta che il sistema gestisce una navigazione a ritroso senza influire sul normale flusso di navigazione a ritroso.
Android 16 aggiunge inoltre finishAndRemoveTaskCallback() e moveTaskToBackCallback. Registrando questi callback con OnBackInvokedDispatcher, il sistema può attivare comportamenti specifici e riprodurre le animazioni anticipate corrispondenti quando viene richiamato il gesto Indietro.
Tecnologia aptica più ricca
自诞生之日起,Android 就提供了对触感反馈致动器的控制。
Android 11 添加了对更复杂的触感反馈效果的支持,更高级的致动器可以通过设备定义的语义基元 VibrationEffect.Compositions 支持这些效果。
Android 16 添加了触感反馈 API,让应用能够定义触感反馈效果的振幅和频率曲线,同时抽象出设备功能之间的差异。
Produttività e strumenti per gli sviluppatori
Sebbene la maggior parte del nostro lavoro per migliorare la tua produttività si concentri su strumenti come Android Studio, Jetpack Compose e le librerie Android Jetpack, cerchiamo sempre modi nella piattaforma per aiutarti a realizzare la tua visione.
Gestione dei contenuti per gli sfondi animati
在 Android 16 中,动态壁纸框架将获得一个新的 content API,以应对由用户驱动的动态壁纸带来的挑战。目前,包含用户提供的内容的实时壁纸需要复杂的服务专用实现。Android 16 引入了 WallpaperDescription 和 WallpaperInstance。借助 WallpaperDescription,您可以识别同一服务中的动态壁纸的不同实例。例如,如果某张壁纸同时在主屏幕和锁定屏幕上显示,则这两种情况下显示的内容可能各不相同。壁纸选择器和 WallpaperManager 会使用此元数据更好地向用户呈现壁纸,从而简化创建多样化个性化动态壁纸体验的过程。
Prestazioni e batteria
Android 16 introduce API che aiutano a raccogliere informazioni sulle tue app.
Profilazione attivata dal sistema
ProfilingManager è stato
aggiunto in Android 15, consentendo alle app di
richiedere la raccolta dei dati di profilazione utilizzando Perfetto su dispositivi pubblici sul campo.
Tuttavia, poiché questa profilazione deve essere avviata dall'app, i flussi critici come le startup o gli ANR sarebbero difficili o impossibili da acquisire per le app.
Per aiutarti, Android 16 introduce il profiling attivato dal sistema in ProfilingManager. Le app possono registrare l'interesse a ricevere tracce per determinati attivatori, come l'avvio a freddo reportFullyDrawn o gli ANR, dopodiché il sistema avvia e interrompe una traccia per conto dell'app. Al termine della traccia, i risultati vengono inviati alla directory dei dati dell'app.
Avvia componente in ApplicationStartInfo
ApplicationStartInfo 在 Android 15 中添加,可让应用查看进程启动原因、启动类型、启动时间、节流和其他实用诊断数据。Android 16 添加了 getStartComponent(),用于区分触发启动的组件类型,这有助于优化应用的启动流程。
Migliore introspezione dei job
L'API JobScheduler#getPendingJobReason() restituisce il motivo per cui un job potrebbe essere in attesa. Tuttavia, un job potrebbe essere in attesa per più motivi.
In Android 16, stiamo introducendo una nuova API
JobScheduler#getPendingJobReasons(int jobId), che restituisce più
motivi per cui un job è in attesa, sia a causa di vincoli espliciti impostati dall' sviluppatore sia di vincoli impliciti impostati dal sistema.
Stiamo anche introducendo
JobScheduler#getPendingJobReasonsHistory(int jobId), che restituisce un elenco
delle modifiche ai vincoli più recenti.
Ti consigliamo di utilizzare l'API per aiutarti a eseguire il debug del motivo per cui i job potrebbero non essere eseguiti, soprattutto se riscontri tassi di successo ridotti di determinate attività o hai bug relativi alla latenza del completamento di determinati job. Ad esempio, l'aggiornamento dei widget in background non è andato a buon fine o non è stato possibile chiamare il job di pre-caricamento prima dell'avvio dell'app.
In questo modo puoi anche capire meglio se determinati job non vengono completati a causa di vincoli definiti dal sistema rispetto a vincoli impostati esplicitamente.
Frequenza di aggiornamento adattiva
La frequenza di aggiornamento adattiva (ARR), introdotta in Android 15, consente alla frequenza di aggiornamento del display sull'hardware supportato di adattarsi alla frequenza fotogrammi dei contenuti utilizzando passaggi VSync discreti. In questo modo si riduce il consumo energetico ed elimina la necessità di cambiare modalità, il che potrebbe causare problemi di aggiornamento.
Android 16 introduce hasArrSupport() e
getSuggestedFrameRate(int), ripristinando
getSupportedRefreshRates() per consentire alle tue app di usufruire più facilmente della funzionalità ARR. RecyclerView 1.4 supporta internamente l'ARR quando si stabilizza dopo un movimento brusco o scorrimento fluido e stiamo continuando il nostro lavoro per aggiungere il supporto dell'ARR a più librerie Jetpack. Questo articolo sulla frequenza fotogrammi illustra molte delle API che puoi utilizzare per impostare la frequenza fotogrammi in modo che la tua app possa utilizzare direttamente l'ARR.
API Headroom in ADPF
SystemHealthManager 引入了 getCpuHeadroom 和 getGpuHeadroom API,旨在为游戏和资源密集型应用提供可用 CPU 和 GPU 资源的估算值。通过这些方法,您可以评估应用或游戏如何以最佳方式改善系统运行状况,尤其是在与用于检测热节流的其他 Android 动态性能框架 (ADPF) API 搭配使用时。
在受支持的设备上使用 CpuHeadroomParams 和 GpuHeadroomParams,您可以自定义用于计算余量的时间范围,并在平均资源可用性或最低资源可用性之间进行选择。这有助于您相应地减少 CPU 或 GPU 资源用量,从而提升用户体验并延长电池续航时间。
Accessibilità
Android 16 aggiunge nuove API e funzionalità di accessibilità che possono aiutarti a rendere la tua app disponibile per tutti gli utenti.
API di accessibilità migliorate
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,以便应用可以告知无障碍服务需要输入表单字段。对于填写各种类型表单的用户而言,这是一个重要的场景,即使是简单的必填条款及条件复选框,也能帮助用户始终如一地识别必填字段并在必填字段之间快速导航。
Smartphone come input del microfono per le chiamate vocali con apparecchi acustici LEA
Android 16 consente agli utenti di apparecchi acustici LE Audio di passare tra i microfoni integrati sugli apparecchi acustici e il microfono sullo smartphone per le chiamate vocali. Questa opzione può essere utile in ambienti rumorosi o in altre situazioni in cui i microfoni dell'apparecchio acustico potrebbero non funzionare bene.
Controlli del volume ambientale per apparecchi acustici LEA
Android 16 新增了一项功能,可让 LE Audio 助听器用户调节助听器麦克风接收的环境声音的音量。在背景噪音过大或过小的情况下,这可能会很有用。
Fotocamera
Android 16 migliora il supporto per gli utenti di fotocamere professionali, consentendo l'esposizione automatica ibrida insieme a regolazioni precise di tinta e temperatura di colore. Un nuovo
indicatore della modalità notturna aiuta l'app a sapere quando passare a una sessione della fotocamera in modalità notturna e viceversa. Le nuove azioni Intent semplificano l'acquisizione di foto in movimento
e continuiamo a migliorare le immagini Ultra HDR con il supporto della codifica HEIC
e di nuovi parametri dello standard ISO 21496-1.
Esposizione automatica ibrida
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) ...
}
Regolazioni precise di tinta e temperatura di colore
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) ...
}
以下示例展示了应用不同色温和色调调整后的照片效果:
Rilevamento della scena in modalità notturna della fotocamera
Per aiutare la tua app a sapere quando passare da e a una sessione della fotocamera in modalità Notturna, Android 16 aggiunge EXTENSION_NIGHT_MODE_INDICATOR. Se supportato, è disponibile in CaptureResult in Camera2.
Si tratta dell'API che abbiamo brevemente menzionato come disponibile a breve nel post del blog In che modo Instagram ha consentito agli utenti di scattare foto straordinarie in condizioni di scarsa illuminazione. Il post è una guida pratica su come implementare la modalità notturna insieme a un caso di studio che collega le foto in modalità notturna in-app di qualità superiore a un aumento del numero di foto condivise dalla fotocamera in-app.
Azioni intent di acquisizione di foto in movimento
Android 16 添加了标准 intent 操作 ACTION_MOTION_PHOTO_CAPTURE 和 ACTION_MOTION_PHOTO_CAPTURE_SECURE,用于请求相机应用拍摄动态照片并将其返回。
您必须传递额外的 EXTRA_OUTPUT 来控制将图片写入的位置,或者通过 Intent.setClipData(ClipData) 传递 Uri。如果您未设置 ClipData,系统会在调用 Context.startActivity(Intent) 时将其复制到该位置。
Miglioramenti delle immagini UltraHDR
Android 16 继续致力于通过 UltraHDR 图片提供出色的图片质量。它添加了对 HEIC 文件格式的 UltraHDR 图片的支持。这些图片将获得 ImageFormat 类型 HEIC_ULTRAHDR,并包含类似于现有 UltraHDR JPEG 格式的嵌入式增益图。我们还在努力为 UltraHDR 添加 AVIF 支持,敬请期待。
此外,Android 16 在 UltraHDR 中实现了 ISO 21496-1 草稿标准中的其他参数,包括能够获取和设置应应用增益图算法的色彩空间,以及支持使用 SDR 增益图的 HDR 编码基础图片。
Grafica
Android 16 include i più recenti miglioramenti grafici, come gli effetti grafici personalizzati con AGSL.
Effetti grafici personalizzati con AGSL
Android 16 添加了 RuntimeColorFilter 和 RuntimeXfermode,让您可以创作阈值、Sepia 和 Hue Saturation 等复杂效果,并将其应用于绘制调用。从 Android 13 开始,您可以使用 AGSL 创建扩展 Shader 的自定义 RuntimeShader。新 API 反映了这一点,添加了由 AGSL 驱动的 RuntimeColorFilter(用于扩展 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
}
Connettività
Android 16 aggiorna la piattaforma per consentire alla tua app di accedere agli ultimi progressi nelle tecnologie di comunicazione e wireless.
Rilevamento con sicurezza avanzata
Android 16 在搭载 Wi-Fi 6 的 802.11az 的受支持设备上为 Wi-Fi 位置信息添加了对强大的安全功能的支持,让应用能够将该协议的更高精确性、更高可伸缩性和动态调度与安全增强功能(包括基于 AES-256 的加密和防范中间人攻击)相结合。这样,在近距离使用情形(例如解锁笔记本电脑或车门)时,便可更安全地使用该功能。802.11az 与 Wi-Fi 6 标准集成,可利用其基础架构和功能实现更广泛的采用和更轻松的部署。
API di determinazione generica del raggio d'azione
Android 16 包含新的 RangingManager,它提供了在受支持的硬件上确定本地设备与远程设备之间的距离和角度的方法。RangingManager 支持使用各种测距技术,例如 BLE 信道声音探测、基于 BLE RSSI 的测距、超宽带和 Wi-Fi 往返时间。
Presenza del dispositivo di gestione dispositivi companion
Android 16 中引入了用于绑定配套应用服务的新 API。当 BLE 在范围内且蓝牙处于连接状态时,系统会绑定服务;当 BLE 不在范围内或蓝牙处于断开连接状态时,系统会解除绑定服务。应用将根据各种 DevicePresenceEvent 收到新的 'onDevicePresenceEvent()' 回调。如需了解详情,请参阅 'startObservingDevicePresence(ObservingDevicePresenceRequest)'。
Contenuti multimediali
Android 16 include una serie di funzionalità che migliorano l'esperienza multimediale.
Miglioramenti al selettore di foto
Il selettore di foto offre agli utenti un modo integrato e sicuro per concedere alla tua app l'accesso a immagini e video selezionati dallo spazio di archiviazione locale e sul cloud, anziché all'intera raccolta multimediale. Utilizzando una combinazione di componenti di sistema modulari tramite gli aggiornamenti di sistema di Google e Google Play Services, è supportato fino a Android 4.4 (livello API 19). L'integrazione richiede solo alcune righe di codice con la libreria Android Jetpack associata.
Android 16 include i seguenti miglioramenti al selettore di foto:
- Selettore di foto incorporato: nuove API che consentono alle app di incorporare il selettore di foto nella gerarchia delle visualizzazioni. In questo modo, l'utente può percepirla come una parte più integrata dell'app, sfruttando al contempo l'isolamento dei processi che consente agli utenti di selezionare i contenuti multimediali senza che l'app debba richiedere autorizzazioni eccessivamente ampie. Per massimizzare la compatibilità tra le versioni della piattaforma e semplificare l'integrazione, ti consigliamo di utilizzare la futura libreria Android Jetpack se vuoi integrare il selettore di foto incorporato.
- Ricerca sul cloud nel selettore di foto: nuove API che consentono la ricerca dal fornitore di contenuti multimediali sul cloud per il selettore di foto di Android. La funzionalità di ricerca nel selettore di foto sarà disponibile a breve.
Video professionale avanzato
Android 16 引入了对高级专业视频 (APV) 编解码器的支持,该编解码器专为专业级高品质视频录制和后期制作而设计。
APV 编解码器标准具有以下特点:
- 感知上无损的视频画质(接近原始视频画质)
- 复杂度低且吞吐量高的仅帧内编码(无像素域预测),以更好地支持编辑工作流
- 支持高比特率范围(最高几十 Gbps),适用于 2K、4K 和 8K 分辨率内容,由轻量级熵编码方案实现
- 帧平铺,用于沉浸式内容和启用并行编码和解码
- 支持各种色度采样格式和位深
- 支持多次解码和重新编码,且不会严重降低视觉质量
- 支持多视图视频和辅助视频,例如深度、Alpha 和预览
- 支持 HDR10/10+ 和用户定义的元数据
OpenAPV 项目提供了 APV 的参考实现。Android 16 将实现对 APV 422-10 配置文件的支持,该配置文件提供 YUV 422 色彩采样以及 10 位编码,并且目标比特率最高可达 2 Gbps。
Privacy
Android 16 include una serie di funzionalità che aiutano gli sviluppatori di app a proteggere la privacy degli utenti.
Aggiornamenti di Connessione Salute
Health Connect 添加了 ACTIVITY_INTENSITY,这是一种根据世界卫生组织关于中等强度和剧烈强度活动的指南定义的数据类型。每个记录都需要提供开始时间、结束时间以及活动强度(中等或剧烈)。
Health Connect 还包含支持医疗记录的更新版 API。这样一来,应用便可在征得用户明确同意的情况下,读取和写入 FHIR 格式的医疗记录。
Privacy Sandbox su 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.
Sicurezza
Android 16 include funzionalità che ti aiutano a migliorare la sicurezza della tua app e a proteggere i dati dell'app.
API per la condivisione delle chiavi
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.
Fattori di forma dei dispositivi
Android 16 offre alle tue app il supporto per sfruttare al meglio i fattori di forma di Android.
Framework standardizzato per la qualità audio e video delle TV
The new MediaQuality
package in Android 16 exposes
a set of standardized APIs for access to audio and picture profiles and
hardware-related settings. This allows streaming apps to query profiles and
apply them to media dynamically:
- Movies mastered with a wider dynamic range require greater color accuracy to see subtle details in shadows and adjust to ambient light, so a profile that prefers color accuracy over brightness may be appropriate.
- Live sporting events are often mastered with a narrow dynamic range, but are often watched in daylight, so a profile that preferences brightness over color accuracy can give better results.
- Fully interactive content wants minimal processing to reduce latency, and wants higher frame rates, which is why many TV's ship with a game profile.
The API allows apps to switch between profiles and users to enjoy tuning supported TVs to best suit their content.
Internazionalizzazione
Android 16 aggiunge funzionalità e capacità che completano l'esperienza utente quando un dispositivo viene utilizzato in lingue diverse.
Testo verticale
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
)
}
}
) {}
Personalizzazione del sistema di misurazione
用户现在可以在“设置”中的地区偏好设置中自定义测量系统。用户偏好设置包含在语言区域代码中,因此您可以在 ACTION_LOCALE_CHANGED 上注册 BroadcastReceiver,以便在地区偏好设置发生更改时处理语言区域配置更改。
使用格式设置程序有助于提供符合当地体验的服务。例如,对于将手机设置为英语(丹麦)或将手机设置为英语(美国)并将公制作为首选测量系统的用户,“0.5 in”的英语(美国)对应于“12,7 mm”。
如需找到这些设置,请打开“设置”应用,然后依次前往系统 > 语言和地区。