Android 16 में, डेवलपर के लिए बेहतरीन नई सुविधाएं और एपीआई जोड़े गए हैं. इन सुविधाओं के बारे में खास जानकारी देने के लिए, यहां दिए गए सेक्शन बनाए गए हैं. इनसे आपको मिलते-जुलते एपीआई का इस्तेमाल शुरू करने में मदद मिलेगी.
नए, बदले गए, और हटाए गए एपीआई की पूरी सूची के लिए, एपीआई के बीच अंतर की रिपोर्ट पढ़ें. नए एपीआई के बारे में ज़्यादा जानने के लिए, Android एपीआई का रेफ़रंस देखें — नए एपीआई को हाइलाइट किया गया है, ताकि उन्हें आसानी से देखा जा सके.आपको उन जगहों की भी समीक्षा करनी चाहिए जहां प्लैटफ़ॉर्म में हुए बदलावों का आपके ऐप्लिकेशन पर असर पड़ सकता है. ज़्यादा जानकारी के लिए, ये पेज देखें:
- Android 16 को टारगेट करने पर, ऐप्लिकेशन के काम करने के तरीके में होने वाले बदलाव
- ऐसे बदलाव जो
targetSdkVersion
के बावजूद, सभी ऐप्लिकेशन पर असर डालते हैं.
मुख्य फ़ंक्शन
Android में नए एपीआई शामिल हैं, जो Android सिस्टम की मुख्य सुविधाओं को बेहतर बनाते हैं.
साल 2025 में Android के दो एपीआई रिलीज़ किए जाएंगे
- यह झलक, Android के अगले मेजर वर्शन के लिए है. इसे 2025 की दूसरी तिमाही में लॉन्च किया जाएगा. यह रिलीज़, एपीआई की पिछली सभी रिलीज़ से मिलती-जुलती है. इसमें, व्यवहार में ऐसे बदलाव किए जा सकते हैं जो अक्सर targetSdkVersion से जुड़े होते हैं.
- हम मेजर रिलीज़ को एक तिमाही पहले रिलीज़ करने जा रहे हैं. पिछले सालों में, यह रिलीज़ तीसरी तिमाही में होती थी, लेकिन अब इसे दूसरी तिमाही में रिलीज़ किया जाएगा. ऐसा इसलिए किया जा रहा है, ताकि हमारे पूरे नेटवर्क में डिवाइस लॉन्च करने के शेड्यूल के साथ बेहतर तरीके से अलाइन किया जा सके. इससे ज़्यादा डिवाइसों पर Android का मेजर वर्शन जल्दी रिलीज़ किया जा सकेगा. साल की दूसरी तिमाही में, Android के नए वर्शन की रिलीज़ होने वाली है. इसलिए, आपको सालाना होने वाली, ऐप्लिकेशन के काम करने की जांच को पिछले सालों की तुलना में कुछ महीने पहले करना होगा. इससे यह पक्का किया जा सकेगा कि आपके ऐप्लिकेशन, नए वर्शन के साथ काम कर रहे हैं.
- हम साल 2025 की चौथी तिमाही में एक और रिलीज़ करने वाले हैं. इसमें नए डेवलपर एपीआई भी शामिल होंगे. साल 2025 में, दूसरी तिमाही में होने वाली मेजर रिलीज़ में ही, व्यवहार से जुड़े ऐसे बदलाव शामिल होंगे जिनका ऐप्लिकेशन पर असर पड़ सकता है.
चौथी तिमाही की मामूली रिलीज़ में, डेवलपर के लिए नए एपीआई के साथ-साथ, सुविधाओं के अपडेट, ऑप्टिमाइज़ेशन, और गड़बड़ियों को ठीक करने की सुविधाएं भी शामिल होंगी. हालांकि, इसमें ऐप्लिकेशन के काम करने के तरीके में कोई बदलाव नहीं किया जाएगा.

हम हर तीन महीने में Android वर्शन रिलीज़ करते रहेंगे. एपीआई रिलीज़ के बीच में, Q1 और Q3 के अपडेट से क्वालिटी को बेहतर बनाने में मदद मिलेगी. हम डिवाइस पार्टनर के साथ मिलकर, Q2 रिलीज़ को ज़्यादा से ज़्यादा डिवाइसों पर उपलब्ध कराने के लिए काम कर रहे हैं.
मुख्य और मामूली रिलीज़ के साथ नए एपीआई का इस्तेमाल करना
एपीआई लेवल की जांच करके, कोड ब्लॉक को सुरक्षित रखने के लिए, अब SDK_INT
कॉन्स्टेंट के साथ VERSION_CODES
का इस्तेमाल किया जाता है. यह सुविधा, Android के मुख्य वर्शन के लिए काम करती रहेगी.
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
नए SDK_INT_FULL
कंसटेंट का इस्तेमाल, एपीआई की जांच के लिए किया जा सकता है. यह जांच, नए VERSION_CODES_FULL
एन्यूमरेशन की मदद से, मेजर और माइनर, दोनों वर्शन के लिए की जा सकती है.
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
SDK टूल का सिर्फ़ मामूली वर्शन पाने के लिए, Build.getMinorSdkVersion()
के तरीके का भी इस्तेमाल किया जा सकता है.
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
इन एपीआई को अभी तक फ़ाइनल नहीं किया गया है और इनमें बदलाव हो सकते हैं. इसलिए, अगर आपको कोई समस्या है, तो कृपया हमें सुझाव/राय दें या शिकायत करें.
उपयोगकर्ता अनुभव और सिस्टम यूज़र इंटरफ़ेस (यूआई)
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 में हैप्टिक एपीआई जोड़े गए हैं. इनकी मदद से, ऐप्लिकेशन किसी हैप्टिक इफ़ेक्ट के ऐम्प्ल्यट्यूड और फ़्रीक्वेंसी कर्व तय कर सकते हैं. साथ ही, डिवाइस की क्षमताओं के बीच के अंतर को भी हटा सकते हैं.
डेवलपर की प्रोडक्टिविटी और टूल
आपकी प्रॉडक्टिविटी बढ़ाने के लिए, हम Android Studio, Jetpack Compose, और Android Jetpack लाइब्रेरी जैसे टूल पर काम करते हैं. हालांकि, हम हमेशा प्लैटफ़ॉर्म में ऐसे तरीके ढूंढते रहते हैं जिनसे आपको अपने लक्ष्य को हासिल करने में मदद मिल सके.
लाइव वॉलपेपर के लिए कॉन्टेंट मैनेज करना
Android 16 में, लाइव वॉलपेपर फ़्रेमवर्क को एक नया कॉन्टेंट एपीआई मिल रहा है. इससे, उपयोगकर्ता के हिसाब से बदलने वाले डाइनैमिक वॉलपेपर से जुड़ी समस्याओं को हल किया जा सकेगा. फ़िलहाल, उपयोगकर्ता से मिले कॉन्टेंट को शामिल करने वाले लाइव वॉलपेपर के लिए, सेवा के हिसाब से कॉन्टेंट लागू करने की जटिल प्रक्रिया अपनानी पड़ती है. Android 16 में,
WallpaperDescription
और
WallpaperInstance
को शामिल किया गया है. WallpaperDescription की मदद से, एक ही सेवा के लाइव वॉलपेपर के अलग-अलग इंस्टेंस की पहचान की जा सकती है. उदाहरण के लिए, होम स्क्रीन और लॉक स्क्रीन, दोनों पर इस्तेमाल किए जा सकने वाले वॉलपेपर में, दोनों जगहों पर अलग-अलग कॉन्टेंट हो सकता है. वॉलपेपर पिकर और
WallpaperManager
, इस मेटाडेटा का इस्तेमाल करके उपयोगकर्ताओं को बेहतर तरीके से वॉलपेपर दिखाते हैं. इससे, आपको अलग-अलग और पसंद के मुताबिक लाइव वॉलपेपर बनाने में मदद मिलती है.
परफ़ॉर्मेंस और बैटरी
Android 16 में ऐसे एपीआई शामिल किए गए हैं जिनकी मदद से, आपके ऐप्लिकेशन के बारे में अहम जानकारी इकट्ठा की जा सकती है.
सिस्टम से ट्रिगर की गई प्रोफ़ाइलिंग
ProfilingManager
को Android 15 में जोड़ा गया था. इससे ऐप्लिकेशन, फ़ील्ड में मौजूद सार्वजनिक डिवाइसों पर Perfetto का इस्तेमाल करके, प्रोफ़ाइलिंग डेटा इकट्ठा करने का अनुरोध कर सकते हैं.
हालांकि, यह प्रोफ़ाइलिंग ऐप्लिकेशन से शुरू की जानी चाहिए. इसलिए, ऐप्लिकेशन के लिए स्टार्टअप या ANR जैसे अहम फ़्लो को कैप्चर करना मुश्किल या असंभव होगा.
इसकी मदद करने के लिए, Android 16 में ProfilingManager
के लिए, सिस्टम से ट्रिगर की जाने वाली प्रोफ़ाइलिंग की सुविधा जोड़ी गई है. ऐप्लिकेशन, कुछ ट्रिगर के लिए ट्रेस पाने में दिलचस्पी रजिस्टर कर सकते हैं. जैसे, कोल्ड स्टार्ट reportFullyDrawn
या ANR. इसके बाद, सिस्टम ऐप्लिकेशन की ओर से ट्रेस शुरू और बंद करता है. ट्रैक पूरा होने के बाद, नतीजे ऐप्लिकेशन की डेटा डायरेक्ट्री में डिलीवर किए जाते हैं.
ApplicationStartInfo में कॉम्पोनेंट शुरू करना
ApplicationStartInfo
को Android 15 में जोड़ा गया था. इससे ऐप्लिकेशन को प्रोसेस शुरू होने की वजहें, शुरू होने का टाइप, शुरू होने का समय, थ्रॉटलिंग, और गड़बड़ी की जानकारी देने वाला अन्य काम का डेटा देखने की सुविधा मिलती है. Android 16 में getStartComponent()
को जोड़ा गया है, ताकि यह पता लगाया जा सके कि ऐप्लिकेशन को किस तरह के कॉम्पोनेंट ने ट्रिगर किया. इससे, ऐप्लिकेशन के स्टार्टअप फ़्लो को ऑप्टिमाइज़ करने में मदद मिल सकती है.
नौकरी के बारे में बेहतर तरीके से जानकारी पाना
The JobScheduler#getPendingJobReason()
API returns a reason why a job
might be pending. However, a job might be pending for multiple reasons.
In Android 16, we are introducing a new API
JobScheduler#getPendingJobReasons(int jobId)
, which returns multiple
reasons why a job is pending, due to both explicit constraints set by the
developer and implicit constraints set by the system.
We're also introducing
JobScheduler#getPendingJobReasonsHistory(int jobId)
, which returns a list
of the most recent constraint changes.
We recommend using the API to help you debug why your jobs may not be executing, especially if you're seeing reduced success rates of certain tasks or have bugs around latency of certain job completion. For example, updating widgets in the background failed to occur or prefetch job failed to be called prior to app start.
This can also better help you understand if certain jobs are not completing due to system defined constraints versus explicitly set constraints.
अडैप्टिव रीफ़्रेश रेट
Android 15 में, अडैप्टिव रिफ़्रेश रेट (एआरआर) की सुविधा जोड़ी गई है. इसकी मदद से, डिसप्ले रिफ़्रेश रेट को डिवाइस के हिसाब से अडजस्ट किया जा सकता है. इसके लिए, अलग-अलग VSync चरण का इस्तेमाल करके, कॉन्टेंट के फ़्रेम रेट के हिसाब से डिसप्ले रिफ़्रेश रेट को अडजस्ट किया जाता है. इससे बिजली की खपत कम होती है. साथ ही, मोड स्विच करने की ज़रूरत भी नहीं पड़ती.
Android 16 में hasArrSupport()
और
getSuggestedFrameRate(int)
को शामिल किया गया है. साथ ही, getSupportedRefreshRates()
को वापस लाया गया है, ताकि आपके ऐप्लिकेशन आसानी से ARR का फ़ायदा ले सकें. RecyclerView
1.4, फ़्लिंग या स्मूद स्क्रोल से सेटल होने पर, अंदरूनी तौर पर ARR के साथ काम करता है. हम ज़्यादा Jetpack लाइब्रेरी में ARR की सुविधा जोड़ने के लिए काम कर रहे हैं. फ़्रेम रेट के बारे में इस लेख में, ऐसे कई एपीआई के बारे में बताया गया है जिनका इस्तेमाल करके फ़्रेम रेट सेट किया जा सकता है. इससे आपका ऐप्लिकेशन सीधे तौर पर ARR का इस्तेमाल कर सकता है.
ADPF में Headroom API
SystemHealthManager
में getCpuHeadroom
और getGpuHeadroom
एपीआई को शामिल किया गया है. इन एपीआई को गेम और ज़्यादा संसाधनों वाले ऐप्लिकेशन के लिए उपलब्ध सीपीयू और जीपीयू संसाधनों का अनुमान देने के लिए डिज़ाइन किया गया है. इन तरीकों से यह पता लगाया जा सकता है कि आपका ऐप्लिकेशन या गेम, सिस्टम की परफ़ॉर्मेंस को कैसे बेहतर बना सकता है. खास तौर पर, जब इनका इस्तेमाल Android डाइनैमिक परफ़ॉर्मेंस फ़्रेमवर्क (ADPF) के अन्य एपीआई के साथ किया जाता है, जो थर्मल ट्रिलिंग का पता लगाते हैं.
जिन डिवाइसों पर यह सुविधा काम करती है उन पर CpuHeadroomParams
और
GpuHeadroomParams
का इस्तेमाल करके, हेडरूम का हिसाब लगाने के लिए इस्तेमाल की जाने वाली समयावधि को पसंद के मुताबिक बनाया जा सकता है. साथ ही, संसाधन की औसत या कम से कम उपलब्धता में से किसी एक को चुना जा सकता है. इससे, सीपीयू या जीपीयू के संसाधनों के इस्तेमाल को कम करने में मदद मिल सकती है. इससे, उपयोगकर्ताओं को बेहतर अनुभव मिलता है और बैटरी लाइफ़ भी बेहतर होती है.
सुलभता
Android 16 में, सुलभता से जुड़े नए एपीआई और सुविधाएं जोड़ी गई हैं. इनकी मदद से, हर उपयोगकर्ता के लिए अपना ऐप्लिकेशन उपलब्ध कराया जा सकता है.
सुलभता से जुड़े बेहतर एपीआई
Android 16 adds additional APIs to enhance UI semantics that help improve consistency for users that rely on accessibility services, such as TalkBack.
Duration added to TtsSpan
Android 16 extends TtsSpan
with a TYPE_DURATION
,
consisting of ARG_HOURS
, ARG_MINUTES
,
and ARG_SECONDS
. This lets you directly annotate time
duration, ensuring accurate and consistent text-to-speech output with services
like TalkBack.
Support elements with multiple labels
Android currently allows UI elements to derive their accessibility label from
another, and now offers the ability for multiple labels to be associated, a
common scenario in web content. By introducing a list-based API within
AccessibilityNodeInfo
, Android can directly support these
multi-label relationships. As part of this change, we've deprecated
AccessibilityNodeInfo#setLabeledBy
and
#getLabeledBy
in favor of
#addLabeledBy
, #removeLabeledBy
, and
#getLabeledByList
.
Improved support for expandable elements
Android 16 adds accessibility APIs that allow you to convey the expanded or
collapsed state of interactive elements, such as menus and expandable lists. By
setting the expanded state using setExpandedState
and
dispatching TYPE_WINDOW_CONTENT_CHANGED AccessibilityEvents
with a CONTENT_CHANGE_TYPE_EXPANDED
content change type,
you can ensure that screen readers like TalkBack announce
state changes, providing a more intuitive and inclusive user experience.
Indeterminate ProgressBars
Android 16 adds RANGE_TYPE_INDETERMINATE
, giving a way for
you to expose RangeInfo
for both determinate and
indeterminate ProgressBar
widgets, allowing services like
TalkBack to more consistently provide feedback for progress
indicators.
Tri-state CheckBox
The new AccessibilityNodeInfo
getChecked
and setChecked(int)
methods in Android 16 now support a "partially checked" state in addition to
"checked" and "unchecked." This replaces the deprecated boolean
isChecked
and setChecked(boolean)
.
Supplemental descriptions
When an accessibility service describes a ViewGroup
, it
combines content labels from its child views. If you provide a
contentDescription
for the ViewGroup
, accessibility services assume you are
also overriding the description of non-focusable child views. This can be
problematic if you want to label things like a drop-down (for example, "Font
Family") while preserving the current selection for accessibility (for example,
"Roboto"). Android 16 adds setSupplementalDescription
so
you can provide text that provides information about a ViewGroup
without
overriding information from its children.
Required form fields
Android 16 adds setFieldRequired
to
AccessibilityNodeInfo
so apps can tell an accessibility
service that input to a form field is required. This is an important scenario
for users filling out many types of forms, even things as simple as a required
terms and conditions checkbox, helping users to consistently identify and
quickly navigate between required fields.
LEA कान की मशीनों के साथ वॉइस कॉल के लिए, फ़ोन को माइक्रोफ़ोन इनपुट के तौर पर इस्तेमाल करना
Android 16 新增了一项功能,让 LE Audio 助听器用户能够在助听器的内置麦克风和手机上的麦克风之间切换,以进行语音通话。在嘈杂的环境或助听器麦克风可能无法正常工作的其他情况下,这会很有帮助。
LEA कान की मशीनों के लिए, आस-पास की आवाज़ के हिसाब से वॉल्यूम कंट्रोल करने की सुविधा
Android 16 में, LE Audio की सुविधा वाली कान की मशीन के उपयोगकर्ताओं के लिए, आस-पास की आवाज़ की आवाज़ कम या ज़्यादा करने की सुविधा जोड़ी गई है. यह आवाज़, कान की मशीन के माइक्रोफ़ोन से रिकॉर्ड की जाती है. यह सुविधा, उन स्थितियों में मददगार हो सकती है जहां बैकग्राउंड का शोर बहुत ज़्यादा या बहुत कम हो.
कैमरा
Android 16 में, प्रोफ़ेशनल कैमरे इस्तेमाल करने वाले लोगों के लिए बेहतर सुविधाएं जोड़ी गई हैं. इनमें, कलर टेंपरेचर और टिनट में सटीक बदलाव करने के साथ-साथ, हाइब्रिड ऑटो एक्सपोज़र की सुविधा भी शामिल है. नाइट मोड के नए इंडिकेटर की मदद से, आपके ऐप्लिकेशन को यह पता चलता है कि नाइट मोड वाले कैमरे सेशन पर कब स्विच करना है और कब उससे वापस आना है. Intent
के नए ऐक्शन की मदद से, मोशन फ़ोटो आसानी से कैप्चर की जा सकती हैं. साथ ही, हम HEIC एन्कोडिंग और ISO 21496-1 ड्राफ़्ट स्टैंडर्ड के नए पैरामीटर की मदद से, अल्ट्रा एचडीआर इमेज को बेहतर बना रहे हैं.
हाइब्रिड ऑटो एक्सपोज़र
Android 16 में, Camera2 में नए हाइब्रिड ऑटो-एक्सपोज़र मोड जोड़े गए हैं. इनकी मदद से, एक्सपोज़र के कुछ खास पहलुओं को मैन्युअल तरीके से कंट्रोल किया जा सकता है. बाकी काम, ऑटो-एक्सपोज़र (एई) एल्गोरिदम करता है. ISO + AE और एक्सपोज़र टाइम + AE को कंट्रोल किया जा सकता है. इससे, मौजूदा तरीके की तुलना में ज़्यादा सुविधा मिलती है. मौजूदा तरीके में, आपके पास या तो पूरी तरह से मैन्युअल कंट्रोल होता है या पूरी तरह से ऑटो-एक्सपोज़र पर निर्भर रहना पड़ता है.
public void setISOPriority() {
...
int[] availablePriorityModes =
mStaticInfo.getCharacteristics().get(CameraCharacteristics.
COLOR_AE_AVAILABLE_PRIORITY_MODES);
...
// 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);
reqBuilder.set(CaptureRequest.SENSOR_SENSITIVITY,
TEST_SENSITIVITY_VALUE);
CaptureRequest request = reqBuilder.build();
...
}
कलर टेंपरेचर और टिनट में सटीक बदलाव करना
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();
...
}
नीचे दिए गए उदाहरणों से पता चलता है कि अलग-अलग रंग के तापमान और रंग में बदलाव करने के बाद, फ़ोटो कैसी दिखेगी:





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

Android 16 में, हमने अल्ट्रा एचडीआर इमेज की मदद से बेहतरीन क्वालिटी वाली इमेज उपलब्ध कराने की सुविधा को जारी रखा है. इससे, HEIC फ़ाइल फ़ॉर्मैट में UltraHDR इमेज के लिए सहायता मिलती है. इन इमेज को ImageFormat
टाइप HEIC_ULTRAHDR
मिलेगा. साथ ही, इनमें मौजूदा UltraHDR JPEG फ़ॉर्मैट जैसा एम्बेड किया गया गेनमैप होगा. हम UltraHDR के लिए भी AVIF फ़ॉर्मैट की सुविधा उपलब्ध कराने पर काम कर रहे हैं. इसलिए, हमारे साथ बने रहें.
इसके अलावा, Android 16 में ISO 21496-1 ड्राफ़्ट स्टैंडर्ड के आधार पर, अल्ट्रा एचडीआर में कुछ और पैरामीटर लागू किए गए हैं. इनमें, गेनमैप के हिसाब से कलरस्पेस को सेट करने और उसे पाने की सुविधा शामिल है. साथ ही, एसडीआर गेनमैप के साथ एचडीआर में एन्कोड की गई बेस इमेज के लिए भी यह सुविधा काम करती है.
ग्राफ़िक्स
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 में, वाई-फ़ाई 6 के 802.11az वाले डिवाइसों पर, वाई-फ़ाई लोकेशन की सुविधा में बेहतर सुरक्षा सुविधाएं जोड़ी गई हैं. इससे ऐप्लिकेशन, प्रोटोकॉल की ज़्यादा सटीक जानकारी, ज़्यादा स्केलेबलिटी, और डाइनैमिक शेड्यूलिंग के साथ-साथ बेहतर सुरक्षा का फ़ायदा ले सकते हैं. इन सुविधाओं में, AES-256 पर आधारित एन्क्रिप्शन और MITM हमलों से सुरक्षा शामिल है. इससे, इसे लैपटॉप या वाहन के दरवाज़े को अनलॉक करने जैसे कामों के लिए, ज़्यादा सुरक्षित तरीके से इस्तेमाल किया जा सकता है. 802.11az को वाई-फ़ाई 6 स्टैंडर्ड के साथ इंटिग्रेट किया गया है. इससे, इसे आसानी से डिप्लॉय किया जा सकता है और ज़्यादा से ज़्यादा लोग इसका इस्तेमाल कर सकते हैं.
सामान्य रेंजिंग एपीआई
Android 16 में नया RangingManager
शामिल है. इससे, लोकल डिवाइस और रिमोट डिवाइस के बीच की दूरी और कोण का पता लगाने के लिए, काम करने वाले हार्डवेयर पर तरीके मिलते हैं. RangingManager
, रेंजिंग की कई टेक्नोलॉजी का इस्तेमाल करता है. जैसे, बीएलई चैनल साउंडिंग, बीएलई आरएसएसआई पर आधारित रेंजिंग, अल्ट्रा वाइडबैंड, और वाई-फ़ाई राउंड ट्रिप टाइम.
मीडिया
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 में ऐडवांस प्रोफ़ेशनल वीडियो (एपीवी) कोडेक के लिए सहायता उपलब्ध है. इसे प्रोफ़ेशनल लेवल की अच्छी क्वालिटी वाली वीडियो रिकॉर्डिंग और पोस्ट प्रोडक्शन के लिए डिज़ाइन किया गया है.
APV कोडेक स्टैंडर्ड में ये सुविधाएं शामिल हैं:
- वीडियो की क्वालिटी में कोई बदलाव नहीं होता (रॉ वीडियो की क्वालिटी के करीब)
- एडिट करने के वर्कफ़्लो को बेहतर बनाने के लिए, कम कॉम्प्लेक्सिटी और ज़्यादा थ्रूपुट वाला सिर्फ़ इंट्रा-फ़्रेम कोडिंग (बिना पिक्सल डोमेन का अनुमान लगाए)
- 2K, 4K, और 8K रिज़ॉल्यूशन वाले कॉन्टेंट के लिए, कुछ जीबीपीएस तक की हाई बिटरेट रेंज के साथ काम करता है. यह सुविधा, लाइटवाइट एन्ट्रापी कोडिंग स्कीम की मदद से चालू होती है
- बेहतर अनुभव देने वाले कॉन्टेंट के लिए फ़्रेम टाइल करना. साथ ही, पैरलल एन्कोडिंग और डिकोडिंग की सुविधा चालू करना
- अलग-अलग क्रोम सैंपलिंग फ़ॉर्मैट और बिट-डेप्थ के साथ काम करना
- विज़ुअल क्वालिटी में ज़्यादा गिरावट के बिना, कई बार डिकोड करने और फिर से एन्कोड करने की सुविधा
- मल्टीव्यू वीडियो और सहायक वीडियो के साथ काम करना, जैसे कि डेप्थ, ऐल्फ़ा, और झलक
- HDR10/10+ और उपयोगकर्ता के तय किए गए मेटाडेटा के लिए काम करना
OpenAPV प्रोजेक्ट के ज़रिए, एपीवी को लागू करने का रेफ़रंस दिया जाता है. Android 16 में, APV 422-10 प्रोफ़ाइल के लिए सहायता लागू की जाएगी. यह प्रोफ़ाइल, 10-बिट एन्कोडिंग के साथ-साथ YUV 422 कलर सैंपलिंग की सुविधा देती है. साथ ही, 2 जीबीपीएस तक की टारगेट बिटरेट के लिए भी काम करती है.
निजता
Android 16 में कई सुविधाएं शामिल हैं. इनकी मदद से, ऐप्लिकेशन डेवलपर उपयोगकर्ता की निजता को सुरक्षित रख सकते हैं.
Health Connect से जुड़े अपडेट
डेवलपर के लिए उपलब्ध झलक में, Health Connect में ACTIVITY_INTENSITY
डेटा टाइप जोड़ा गया है. यह एक नया डेटा टाइप है, जिसे विश्व स्वास्थ्य संगठन के निर्देशों के मुताबिक, सामान्य और ज़्यादा गतिविधि के आधार पर तय किया गया है. हर रिकॉर्ड के लिए, शुरू होने का समय, खत्म होने का समय, और गतिविधि की तीव्रता सामान्य या ज़्यादा मेहनत वाली होनी चाहिए.
Health Connect में, सेहत के रिकॉर्ड से जुड़े अपडेट किए गए एपीआई भी शामिल हैं. इससे ऐप्लिकेशन, उपयोगकर्ता की साफ़ तौर पर दी गई सहमति के साथ, FHIR फ़ॉर्मैट में मेडिकल रिकॉर्ड पढ़ और लिख सकते हैं. यह एपीआई, रिलीज़ होने से पहले इस्तेमाल करने का ऐक्सेस देने वाले कार्यक्रम में है. अगर आपको इसमें हिस्सा लेना है, तो रिलीज़ होने से पहले ऐप्लिकेशन इस्तेमाल करने की सुविधा देने वाले हमारे प्रोग्राम में शामिल होने के लिए साइन अप करें.
Android पर Privacy Sandbox
Android 16 में, Android पर Privacy Sandbox का नया वर्शन शामिल है. यह टेक्नोलॉजी बनाने के लिए, हम लगातार काम कर रहे हैं. इससे उपयोगकर्ताओं को यह भरोसा रहेगा कि उनकी निजता सुरक्षित है. Android डेवलपर बीटा प्रोग्राम में Privacy Sandbox के बारे में ज़्यादा जानने के लिए, हमारी वेबसाइट पर जाएं. इससे आपको इस प्रोग्राम को शुरू करने में मदद मिलेगी. SDK टूल के रनटाइम के बारे में जानें. इससे SDK टूल, उस ऐप्लिकेशन से अलग एक खास रनटाइम एनवायरमेंट में काम कर पाते हैं जिसमें उन्हें इस्तेमाल किया जा रहा है. साथ ही, उपयोगकर्ता के डेटा को इकट्ठा करने और शेयर करने के लिए ज़्यादा सुरक्षित तरीके उपलब्ध कराए जाते हैं.
सुरक्षा
Android 16 में ऐसी सुविधाएं शामिल हैं जिनसे आपको अपने ऐप्लिकेशन की सुरक्षा को बेहतर बनाने और अपने ऐप्लिकेशन के डेटा को सुरक्षित रखने में मदद मिलती है.
पासकोड शेयर करने वाला एपीआई
Android 16 में ऐसे एपीआई जोड़े गए हैं जिनकी मदद से, Android Keystore की कुंजियों का ऐक्सेस दूसरे ऐप्लिकेशन के साथ शेयर किया जा सकता है. नई KeyStoreManager
क्लास, ऐप्लिकेशन uid के हिसाब से, पासकोड का ऐक्सेस देने और वापस लेने की सुविधा देती है. साथ ही, इसमें ऐप्लिकेशन के लिए, शेयर की गई पासकोड को ऐक्सेस करने वाला एपीआई भी शामिल है.
डिवाइस के नाप या आकार
Android 16, आपके ऐप्लिकेशन को Android के फ़ॉर्मैट फ़ैक्टर का ज़्यादा से ज़्यादा फ़ायदा पाने में मदद करता है.
टीवी के लिए, पिक्चर और ऑडियो क्वालिटी का स्टैंडर्ड फ़्रेमवर्क
Android 16 में मौजूद नए MediaQuality
पैकेज में, ऑडियो और पिक्चर प्रोफ़ाइलों के साथ-साथ, हार्डवेयर से जुड़ी सेटिंग को ऐक्सेस करने के लिए, स्टैंडर्ड वाले एपीआई का एक सेट उपलब्ध कराया गया है. इससे स्ट्रीमिंग ऐप्लिकेशन, प्रोफ़ाइलों के बारे में क्वेरी कर सकते हैं और उन्हें मीडिया पर डाइनैमिक तौर पर लागू कर सकते हैं:
- ज़्यादा डाइनैमिक रेंज वाली फ़िल्मों को बेहतर तरीके से देखने के लिए, रंगों की सटीक जानकारी ज़रूरी होती है. इससे, गहरे हिस्सों में मौजूद बारीकियों को देखा जा सकता है और आस-पास की रोशनी के हिसाब से फ़िल्म को अडजस्ट किया जा सकता है. इसलिए, ऐसी प्रोफ़ाइल चुनना बेहतर होता है जो चमक के बजाय रंगों की सटीक जानकारी को प्राथमिकता देती हो.
- खेल-कूद के लाइव इवेंट को अक्सर कम डाइनैमिक रेंज में मास्टर्ड किया जाता है. हालांकि, इन्हें अक्सर दिन के उजाले में देखा जाता है. इसलिए, रंग की सटीक जानकारी के बजाय चमक को प्राथमिकता देने वाली प्रोफ़ाइल से बेहतर नतीजे मिल सकते हैं.
- पूरी तरह से इंटरैक्टिव कॉन्टेंट के लिए, इंतज़ार का समय कम करने के लिए कम से कम प्रोसेसिंग की ज़रूरत होती है. साथ ही, ज़्यादा फ़्रेम रेट की ज़रूरत होती है. इसलिए, कई टीवी में गेम प्रोफ़ाइल होती है.
इस एपीआई की मदद से, ऐप्लिकेशन एक से दूसरी प्रोफ़ाइल पर स्विच कर सकते हैं. साथ ही, उपयोगकर्ता अपने कॉन्टेंट के हिसाब से, टीवी पर चैनल बदल सकते हैं.
इंटरनैशनलाइज़ेशन
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 पर जाएं.