Android 16 में, डेवलपर के लिए बेहतरीन नई सुविधाएं और एपीआई जोड़े गए हैं. इन सुविधाओं के बारे में खास जानकारी देने के लिए, यहां दिए गए सेक्शन बनाए गए हैं. इनसे आपको मिलते-जुलते एपीआई का इस्तेमाल शुरू करने में मदद मिलेगी.
नए, बदले गए, और हटाए गए एपीआई की पूरी सूची के लिए, एपीआई के बीच अंतर की रिपोर्ट पढ़ें. नए एपीआई के बारे में ज़्यादा जानने के लिए, Android एपीआई का रेफ़रंस देखें — नए एपीआई को हाइलाइट किया गया है, ताकि उन्हें आसानी से देखा जा सके.आपको उन जगहों की भी समीक्षा करनी चाहिए जहां प्लैटफ़ॉर्म में हुए बदलावों का आपके ऐप्लिकेशन पर असर पड़ सकता है. ज़्यादा जानकारी के लिए, ये पेज देखें:
- Android 16 को टारगेट करने पर, ऐप्लिकेशन के काम करने के तरीके में होने वाले बदलाव
- ऐसे बदलाव जो
targetSdkVersion
के बावजूद, सभी ऐप्लिकेशन पर असर डालते हैं.
मुख्य फ़ंक्शन
Android में नए एपीआई शामिल हैं, जो Android सिस्टम की मुख्य सुविधाओं को बेहतर बनाते हैं.
साल 2025 में Android के दो एपीआई रिलीज़ किए जाएंगे
- 此预览版适用于 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 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.
बेहतर हैप्टिक
自诞生之日起,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 में ऐसे एपीआई शामिल किए गए हैं जिनकी मदद से, आपके ऐप्लिकेशन के बारे में अहम जानकारी इकट्ठा की जा सकती है.
सिस्टम से ट्रिगर की गई प्रोफ़ाइलिंग
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 时。例如,未能在后台更新微件,或在应用启动之前未能调用预加载作业。
这还有助于您更好地了解某些作业是否因系统定义的约束条件而无法完成,而不是因明确设置的约束条件而无法完成。
अडैप्टिव रीफ़्रेश रेट
Android 15 中引入的自适应刷新率 (ARR) 可让受支持硬件上的显示屏刷新率使用离散的 VSync 步长来适应内容帧速率。这不仅降低了功耗,还无需进行可能导致卡顿的模式切换。
Android 16 引入了 hasArrSupport()
和 getSuggestedFrameRate(int)
,同时恢复了 getSupportedRefreshRates()
,以便您的应用更轻松地利用 ARR。RecyclerView 1.4 在从快速滑动或平滑滚动中稳定下来时会在内部支持 ARR,我们将继续努力,将 ARR 支持添加到更多 Jetpack 库中。这篇帧速率文章介绍了许多可用于设置帧速率的 API,以便您的应用可以直接使用 ARR。
ADPF में Headroom API
The SystemHealthManager
introduces the
getCpuHeadroom
and
getGpuHeadroom
APIs, designed to provide games and
resource-intensive apps with estimates of available CPU and GPU resources. These
methods offer a way for you to gauge how your app or game can best improve
system health, particularly when used in conjunction with other Android Dynamic
Performance Framework (ADPF) APIs that detect thermal
throttling.
By using CpuHeadroomParams
and
GpuHeadroomParams
on supported devices, you can
customize the time window used to compute the headroom and select between
average or minimum resource availability. This can help you reduce your CPU or
GPU resource usage accordingly, leading to better user experiences and improved
battery life.
सुलभता
Android 16 में, सुलभता से जुड़े नए एपीआई और सुविधाएं जोड़ी गई हैं. इनकी मदद से, हर उपयोगकर्ता के लिए अपना ऐप्लिकेशन उपलब्ध कराया जा सकता है.
सुलभता से जुड़े बेहतर एपीआई
Android 16 में यूज़र इंटरफ़ेस (यूआई) के सेमेटिक्स को बेहतर बनाने के लिए, अतिरिक्त एपीआई जोड़े गए हैं. इससे TalkBack जैसी सुलभता सेवाओं पर निर्भर उपयोगकर्ताओं के लिए, यूज़र इंटरफ़ेस को एक जैसा रखने में मदद मिलती है.
TtsSpan में अवधि जोड़ी गई
Android 16 में TtsSpan
को TYPE_DURATION
के साथ जोड़ा गया है. इसमें ARG_HOURS
, ARG_MINUTES
, और ARG_SECONDS
शामिल हैं. इससे, वीडियो के दिखने का कुल समय सीधे तौर पर एनोटेट किया जा सकता है. इससे, TalkBack जैसी सेवाओं की मदद से, टेक्स्ट को बोली में बदलने की सुविधा के सटीक और एक जैसे नतीजे मिलते हैं.
एक से ज़्यादा लेबल वाले एलिमेंट के साथ काम करना
फ़िलहाल, Android में यूज़र इंटरफ़ेस (यूआई) एलिमेंट को एक-दूसरे से, सुलभता लेबल पाने की अनुमति है. साथ ही, अब एक से ज़्यादा लेबल जोड़े जा सकते हैं. यह वेब कॉन्टेंट में आम तौर पर होता है. AccessibilityNodeInfo
में सूची पर आधारित एपीआई को शामिल करके, Android सीधे तौर पर इन कई लेबल वाले संबंधों का इस्तेमाल कर सकता है. इस बदलाव के तहत, हमने AccessibilityNodeInfo#setLabeledBy
और #getLabeledBy
को बंद कर दिया है. अब इनकी जगह #addLabeledBy
, #removeLabeledBy
, और #getLabeledByList
का इस्तेमाल किया जाएगा.
बड़ा किए जा सकने वाले एलिमेंट के लिए बेहतर सहायता
Android 16 में, सुलभता एपीआई जोड़े गए हैं. इनकी मदद से, इंटरैक्टिव एलिमेंट की स्थिति को बड़ा या छोटा किया जा सकता है. जैसे, मेन्यू और बड़ा की जा सकने वाली सूचियां. 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
के बारे में जानकारी देने वाला टेक्स्ट दे सकें. ऐसा करने पर, ViewGroup
के बच्चों की जानकारी बदली नहीं जाएगी.
फ़ॉर्म के ज़रूरी फ़ील्ड
Android 16 में, AccessibilityNodeInfo
में setFieldRequired
जोड़ा गया है, ताकि ऐप्लिकेशन किसी सुलभता सेवा को बता सकें कि फ़ॉर्म फ़ील्ड में इनपुट करना ज़रूरी है. यह कई तरह के फ़ॉर्म भरने वाले उपयोगकर्ताओं के लिए एक अहम स्थिति है. यहां तक कि ज़रूरी शर्तों वाले चेकबॉक्स जैसी आसान चीज़ों के लिए भी यह ज़रूरी है. इससे उपयोगकर्ताओं को ज़रूरी फ़ील्ड की पहचान करने और उनमें तेज़ी से नेविगेट करने में मदद मिलती है.
LEA कान की मशीनों के साथ वॉइस कॉल के लिए, फ़ोन को माइक्रोफ़ोन इनपुट के तौर पर इस्तेमाल करना
Android 16 新增了一项功能,让 LE Audio 助听器用户能够在助听器的内置麦克风和手机上的麦克风之间切换,以进行语音通话。在嘈杂的环境或助听器麦克风可能无法正常工作的其他情况下,这会很有帮助。
LEA कान की मशीनों के लिए, आस-पास की आवाज़ के हिसाब से वॉल्यूम कंट्रोल करने की सुविधा
Android 16 新增了一项功能,可让 LE Audio 助听器用户调节助听器麦克风接收的环境声音的音量。在背景噪音过大或过小的情况下,这可能会很有用。
कैमरा
Android 16 में, प्रोफ़ेशनल कैमरे इस्तेमाल करने वाले लोगों के लिए बेहतर सुविधाएं जोड़ी गई हैं. इनमें, कलर टेंपरेचर और टिनट में सटीक बदलाव करने के साथ-साथ, हाइब्रिड ऑटो एक्सपोज़र की सुविधा भी शामिल है. नाइट मोड के नए इंडिकेटर की मदद से, आपके ऐप्लिकेशन को यह पता चलता है कि नाइट मोड वाले कैमरे सेशन पर कब स्विच करना है और कब उससे वापस आना है. Intent
के नए ऐक्शन की मदद से, मोशन फ़ोटो आसानी से कैप्चर की जा सकती हैं. साथ ही, हम HEIC एन्कोडिंग और ISO 21496-1 ड्राफ़्ट स्टैंडर्ड के नए पैरामीटर की मदद से, अल्ट्रा एचडीआर इमेज को बेहतर बना रहे हैं.
हाइब्रिड ऑटो एक्सपोज़र
Android 16 adds new hybrid auto-exposure modes to Camera2, allowing you to manually control specific aspects of exposure while letting the auto-exposure (AE) algorithm handle the rest. You can control ISO + AE, and exposure time + AE, providing greater flexibility compared to the current approach where you either have full manual control or rely entirely on auto-exposure.
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
根据相关色温精确调整白平衡。
public void setCCT() {
...
Range<Integer> colorTemperatureRange =
mStaticInfo.getCharacteristics().get(CameraCharacteristics.
COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE);
// Set to manual mode to enable CCT mode
reqBuilder.set(CaptureRequest.CONTROL_AWB_MODE, CameraMetadata.CONTROL_AWB_MODE_OFF);
reqBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE,
CameraMetadata.COLOR_CORRECTION_MODE_CCT);
reqBuilder.set(CaptureRequest.COLOR_CORRECTION_COLOR_TEMPERATURE, 5000);
reqBuilder.set(CaptureRequest.COLOR_CORRECTION_COLOR_TINT, 30);
CaptureRequest request = reqBuilder.build();
...
}
以下示例展示了应用不同色温和色调调整后的照片效果:





कैमरे के नाइट मोड में सीन की पहचान करने की सुविधा
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.
मोशन फ़ोटो कैप्चर करने के लिए इंटेंट ऐक्शन
Android 16 添加了标准 intent 操作 ACTION_MOTION_PHOTO_CAPTURE
和 ACTION_MOTION_PHOTO_CAPTURE_SECURE
,用于请求相机应用拍摄动态照片并将其返回。
您必须传递额外的 EXTRA_OUTPUT
来控制将图片写入的位置,或者通过 Intent.setClipData(ClipData)
传递 Uri
。如果您未设置 ClipData
,系统会在调用 Context.startActivity(Intent)
时将其复制到该位置。
अल्ट्रा एचडीआर की मदद से इमेज को बेहतर बनाना

Android 16 continues our work to deliver dazzling image quality with UltraHDR
images. It adds support for UltraHDR images in the HEIC file
format. These images will get ImageFormat
type
HEIC_ULTRAHDR
and will contain an embedded gainmap similar
to the existing UltraHDR JPEG format. We're working on AVIF support for UltraHDR
as well, so stay tuned.
In addition, Android 16 implements additional parameters in UltraHDR from the ISO 21496-1 draft standard, including the ability to get and set the colorspace that gainmap math should be applied in, as well as support for HDR encoded base images with SDR gainmaps.
ग्राफ़िक्स
Android 16 में, ग्राफ़िक से जुड़े नए सुधार शामिल हैं. जैसे, AGSL की मदद से कस्टम ग्राफ़िक इफ़ेक्ट.
एजीएसएल की मदद से, पसंद के मुताबिक ग्राफ़िक इफ़ेक्ट
Android 16 adds RuntimeColorFilter
and
RuntimeXfermode
, allowing you to author complex effects like
Threshold, Sepia, and Hue Saturation and apply them to draw calls. Since Android
13, you've been able to use AGSL to create custom
RuntimeShaders that extend Shader
. The new API
mirrors this, adding an AGSL-powered RuntimeColorFilter
that
extends ColorFilter
, and a Xfermode
effect that
lets you implement AGSL-based custom compositing and blending between source and
destination pixels.
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 6 的 802.11az 的受支持设备上为 Wi-Fi 位置信息添加了对强大的安全功能的支持,让应用能够将该协议的更高精确性、更高可伸缩性和动态调度与安全增强功能(包括基于 AES-256 的加密和防范中间人攻击)相结合。这样,在近距离使用情形(例如解锁笔记本电脑或车门)时,便可更安全地使用该功能。802.11az 与 Wi-Fi 6 标准集成,可利用其基础架构和功能实现更广泛的采用和更轻松的部署。
सामान्य रेंजिंग एपीआई
Android 16 包含新的 RangingManager
,它提供了在受支持的硬件上确定本地设备与远程设备之间的距离和角度的方法。RangingManager
支持使用各种测距技术,例如 BLE 信道声音探测、基于 BLE RSSI 的测距、超宽带和 Wi-Fi 往返时间。
मीडिया
Android 16 में कई सुविधाएं शामिल हैं, जिनसे मीडिया का अनुभव बेहतर होता है.
फ़ोटो पिकर में किए गए सुधार
The photo picker provides a safe, built-in way for users to grant your app access to selected images and videos from both local and cloud storage, instead of their entire media library. Using a combination of Modular System Components through Google System Updates and Google Play services, it's supported back to Android 4.4 (API level 19). Integration requires just a few lines of code with the associated Android Jetpack library.
Android 16 includes the following improvements to the photo picker:
- Embedded photo picker: New APIs that enable apps to embed the photo picker into their view hierarchy. This allows it to feel like a more integrated part of the app while still leveraging the process isolation that allows users to select media without the app needing overly broad permissions. To maximize compatibility across platform versions and simplify your integration, you'll want to use the forthcoming Android Jetpack library if you want to integrate the embedded photo picker.
- Cloud search in photo picker: New APIs that enable searching from the cloud media provider for the Android photo picker. Search functionality in the photo picker is coming soon.
बेहतर प्रोफ़ेशनल वीडियो
Android 16 introduces support for the Advanced Professional Video (APV) codec which is designed to be used for professional level high quality video recording and post production.
The APV codec standard has the following features:
- Perceptually lossless video quality (close to raw video quality)
- Low complexity and high throughput intra-frame-only coding (without pixel domain prediction) to better support editing workflows
- Support for high bit-rate range up to a few Gbps for 2K, 4K and 8K resolution content, enabled by a lightweight entropy coding scheme
- Frame tiling for immersive content and for enabling parallel encoding and decoding
- Support for various chroma sampling formats and bit-depths
- Support for multiple decoding and re-encoding without severe visual quality degradation
- Support multi-view video and auxiliary video like depth, alpha, and preview
- Support for HDR10/10+ and user-defined metadata
A reference implementation of APV is provided through the OpenAPV project. Android 16 will implement support for the APV 422-10 Profile that provides YUV 422 color sampling along with 10-bit encoding and for target bitrates of up to 2Gbps.
निजता
Android 16 में कई सुविधाएं शामिल हैं. इनकी मदद से, ऐप्लिकेशन डेवलपर उपयोगकर्ता की निजता को सुरक्षित रख सकते हैं.
Health Connect से जुड़े अपडेट
开发者预览版中的 Health Connect 新增了 ACTIVITY_INTENSITY
,这是一种根据世界卫生组织关于中等强度和剧烈强度活动的指南定义的新数据类型。每个记录都需要提供开始时间、结束时间以及活动强度(中等或剧烈)。
Health Connect 还包含支持健康记录的更新版 API。这样一来,应用便可以在征得用户明确同意的情况下,以 FHIR 格式读取和写入医疗记录。此 API 目前处于抢先体验计划阶段。如果您想参与,请报名参加抢先体验计划。
Android पर Privacy Sandbox
Android 16 中集成了最新版本的 Privacy Sandbox on Android,这是我们持续致力于开发可让用户放心地知道其隐私受到保护的技术的一部分。您可以访问我们的网站,详细了解 Privacy Sandbox on Android 开发者 Beta 版计划,以便顺利上手。不妨了解 SDK 运行时,它可让 SDK 在与其所服务的应用分离的专用运行时环境中运行,从而为用户数据收集和共享提供更强的保护措施。
सुरक्षा
Android 16 में ऐसी सुविधाएं शामिल हैं जिनसे आपको अपने ऐप्लिकेशन की सुरक्षा को बेहतर बनाने और अपने ऐप्लिकेशन के डेटा को सुरक्षित रखने में मदद मिलती है.
पासकोड शेयर करने वाला एपीआई
Android 16 添加了一些 API,这些 API 支持与其他应用共享对 Android Keystore 密钥的访问权限。新的 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
)
}
}
) {}
मेज़रमेंट सिस्टम को पसंद के मुताबिक बनाना
उपयोगकर्ता अब सेटिंग में जाकर, क्षेत्र के हिसाब से अपनी पसंद के मुताबिक मेज़रमेंट सिस्टम चुन सकते हैं. उपयोगकर्ता की प्राथमिकता को स्थानीय भाषा के कोड के हिस्से के तौर पर शामिल किया जाता है. इसलिए, क्षेत्रीय प्राथमिकताएं बदलने पर, स्थानीय भाषा के कॉन्फ़िगरेशन में होने वाले बदलावों को मैनेज करने के लिए, ACTION_LOCALE_CHANGED
पर BroadcastReceiver
रजिस्टर किया जा सकता है.
फ़ॉर्मैटर का इस्तेमाल करके, स्थानीय अनुभव को मैच किया जा सकता है. उदाहरण के लिए, अगर किसी उपयोगकर्ता ने अपने फ़ोन पर अंग्रेज़ी (डेनमार्क) भाषा सेट की है या अंग्रेज़ी (अमेरिका) भाषा में, मेज़रमेंट सिस्टम के तौर पर मेट्रिक सिस्टम का इस्तेमाल किया है,तो उसके लिए अंग्रेज़ी (अमेरिका) में "0.5 इंच" का मतलब "12.7 मिमी" होगा.
ये सेटिंग ढूंढने के लिए, Settings ऐप्लिकेशन खोलें और सिस्टम > language & region पर जाएं.