Android 16-এ ডেভেলপারদের জন্য দারুণ নতুন ফিচার ও API নিয়ে আসা হয়েছে। নিম্নলিখিত বিভাগগুলি এই ফিচারগুলির সারসংক্ষেপ করে যাতে আপনি সম্পর্কিত API ব্যবহার শুরু করতে পারেন।
নতুন, পরিবর্তিত এবং সরানো API-এর বিস্তারিত তালিকার জন্য, API diff রিপোর্ট পড়ুন। নতুন API সম্পর্কে বিস্তারিত জানতে Android API রেফারেন্স দেখুন — নতুন API হাইলাইট করা হয়েছে যাতে সহজেই দেখা যায়।এছাড়াও, প্ল্যাটফর্মে করা পরিবর্তন আপনার অ্যাপকে প্রভাবিত করতে পারে এমন ক্ষেত্রগুলি আপনার পর্যালোচনা করা উচিত। আরও তথ্যের জন্য, নিম্নলিখিত পৃষ্ঠাগুলি দেখুন:
- Android 16-কে টার্গেট করার সময় অ্যাপকে প্রভাবিত করে এমন আচরণগত পরিবর্তন
- আচরণগত পরিবর্তন যা
targetSdkVersionনির্বিশেষে সব অ্যাপকে প্রভাবিত করে।
মূল কার্যকারিতা
Android-এ নতুন API অন্তর্ভুক্ত করা হয়েছে যা Android সিস্টেমের মূল কার্যকারিতা আরও বাড়িয়ে দেয়।
২০২৫-এ দুটি Android API রিলিজ করা হবে
- 此预览版适用于 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 尚未最终确定,可能会发生变化,因此如果您有任何疑虑,请向我们发送反馈。
ব্যবহারকারীর অভিজ্ঞতা ও সিস্টেম UI
Android 16 অ্যাপ ডেভেলপার ও ব্যবহারকারীদের তাদের প্রয়োজন অনুযায়ী ডিভাইস কনফিগার করার জন্য আরও বেশি কন্ট্রোল ও ফ্লেক্সিবিলিটি দেয়।
প্রোগ্রেস-কেন্দ্রিক বিজ্ঞপ্তি
Android 16 引入了以进度为中心的通知,可帮助用户顺畅地跟踪用户发起的端到端历程。
Notification.ProgressStyle 是一种新的通知样式,可让您创建以进度为中心的通知。主要用例包括共享车辆、送货和导航。在 Notification.ProgressStyle 类中,您可以使用点和细分来表示用户体验历程中的状态和里程碑。
To learn more, see the Progress-centric notifications documentation page.


আগের ধাপে ফিরে যাওয়া সংক্রান্ত পূর্বাভাসের আপডেট
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.
আরও রিচ হ্যাপটিক
অ্যান্ড্রয়েড তার শুরু থেকেই হ্যাপটিক অ্যাকুয়েটরের উপর নিয়ন্ত্রণ প্রকাশ করেছে।
অ্যান্ড্রয়েড 11 আরও জটিল হ্যাপটিক প্রভাবগুলির জন্য সমর্থন যোগ করেছে যা আরও উন্নত অ্যাকুয়েটর VibrationEffect.Compositions মাধ্যমে সমর্থন করতে পারে৷ ডিভাইস-সংজ্ঞায়িত শব্দার্থিক আদিম উপাদানগুলির রচনা৷
অ্যান্ড্রয়েড 16 হ্যাপটিক এপিআই যুক্ত করে যা অ্যাপগুলিকে হ্যাপটিক প্রভাবের প্রশস্ততা এবং ফ্রিকোয়েন্সি বক্ররেখা নির্ধারণ করতে দেয় এবং ডিভাইসের ক্ষমতার মধ্যে পার্থক্যগুলিকে বিমূর্ত করে।
ডেভেলপার প্রোডাক্টিভিটি ও টুল
আপনার প্রোডাক্টিভিটি উন্নত করার জন্য আমাদের বেশিরভাগ কাজই 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-এ যোগ করা হয়েছিল , একটি অ্যাপকে প্রক্রিয়া শুরু, শুরুর ধরন, শুরুর সময়, থ্রোটলিং এবং অন্যান্য দরকারী ডায়গনিস্টিক ডেটার কারণগুলি দেখতে দেয়৷ অ্যান্ড্রয়েড 16 যোগ করে getStartComponent() কোন কম্পোনেন্ট টাইপ স্টার্টটিকে ট্রিগার করেছে তা আলাদা করতে, যা আপনার অ্যাপের স্টার্টআপ ফ্লো অপ্টিমাইজ করার জন্য সহায়ক হতে পারে।
চাকরির আরও ভালো ইন্ট্রোস্পেকশন
JobScheduler#getPendingJobReason() API একটি কাজ মুলতুবি থাকার কারণ প্রদান করে। যাইহোক, একাধিক কারণে একটি কাজ মুলতুবি থাকতে পারে।
অ্যান্ড্রয়েড 16-এ, আমরা একটি নতুন API JobScheduler#getPendingJobReasons(int jobId) প্রবর্তন করছি, যা ডেভেলপারের দ্বারা সেট করা সুস্পষ্ট সীমাবদ্ধতা এবং সিস্টেম দ্বারা সেট করা অন্তর্নিহিত সীমাবদ্ধতার কারণে একটি কাজ মুলতুবি থাকার একাধিক কারণ প্রদান করে।
আমরা JobScheduler#getPendingJobReasonsHistory(int jobId) প্রবর্তন করছি, যা সাম্প্রতিক সীমাবদ্ধতার পরিবর্তনের একটি তালিকা প্রদান করে।
আপনার কাজগুলি কেন কার্যকর হচ্ছে না তা ডিবাগ করতে সাহায্য করার জন্য আমরা API ব্যবহার করার পরামর্শ দিই, বিশেষ করে যদি আপনি কিছু নির্দিষ্ট কাজের সাফল্যের হার দেখেন বা নির্দিষ্ট কাজ সমাপ্তির বিলম্বে বাগগুলি দেখতে পান। উদাহরণস্বরূপ, ব্যাকগ্রাউন্ডে উইজেট আপডেট করা ব্যর্থ হয়েছে বা প্রিফেচ জব অ্যাপ শুরুর আগে কল করা যায়নি।
এটি আপনাকে আরও ভালভাবে বুঝতে সাহায্য করতে পারে যে নির্দিষ্ট কাজগুলি সিস্টেম সংজ্ঞায়িত সীমাবদ্ধতা বনাম স্পষ্টভাবে সেট করা সীমাবদ্ধতার কারণে সম্পূর্ণ হচ্ছে না।
অ্যাডাপ্টিভ রিফ্রেশ রেট
Android 15 中引入的自适应刷新率 (ARR) 可让受支持硬件上的显示屏刷新率使用离散的 VSync 步长来适应内容帧速率。这不仅降低了功耗,还无需进行可能导致卡顿的模式切换。
Android 16 引入了 hasArrSupport() 和 getSuggestedFrameRate(int),同时恢复了 getSupportedRefreshRates(),以便您的应用更轻松地利用 ARR。RecyclerView 1.4 在从快速滑动或平滑滚动中稳定下来时会在内部支持 ARR,我们将继续努力,将 ARR 支持添加到更多 Jetpack 库中。这篇帧速率文章介绍了许多可用于设置帧速率的 API,以便您的应用可以直接使用 ARR。
ADPF-এ হেডরুম API
SystemHealthManager getCpuHeadroom এবং getGpuHeadroom API গুলি প্রবর্তন করে, উপলব্ধ CPU এবং GPU সংস্থানগুলির অনুমান সহ গেমস এবং সংস্থান-নিবিড় অ্যাপগুলি প্রদান করার জন্য ডিজাইন করা হয়েছে৷ এই পদ্ধতিগুলি আপনার অ্যাপ বা গেম কীভাবে সিস্টেমের স্বাস্থ্যের সর্বোত্তম উন্নতি করতে পারে তা পরিমাপ করার একটি উপায় অফার করে, বিশেষ করে যখন অন্যান্য অ্যান্ড্রয়েড ডায়নামিক পারফরম্যান্স ফ্রেমওয়ার্ক (ADPF) APIগুলির সাথে একত্রে ব্যবহার করা হয় যা থার্মাল থ্রটলিং সনাক্ত করে ।
সমর্থিত ডিভাইসগুলিতে CpuHeadroomParams এবং GpuHeadroomParams ব্যবহার করে, আপনি হেডরুম গণনা করতে ব্যবহৃত সময় উইন্ডোটি কাস্টমাইজ করতে পারেন এবং গড় বা ন্যূনতম সংস্থান উপলব্ধতার মধ্যে নির্বাচন করতে পারেন। এটি আপনাকে সেই অনুযায়ী আপনার সিপিইউ বা জিপিইউ রিসোর্স ব্যবহার কমাতে সাহায্য করতে পারে, যা আরও ভাল ব্যবহারকারীর অভিজ্ঞতা এবং উন্নত ব্যাটারি লাইফের দিকে পরিচালিত করে।
অ্যাক্সেসিবিলিটি
Android 16 নতুন অ্যাক্সেসিবিলিটি API ও ফিচার যোগ করে যা আপনার অ্যাপকে প্রত্যেক ব্যবহারকারীর কাছে পৌঁছে দিতে সাহায্য করতে পারে।
উন্নত অ্যাক্সেসিবিলিটি API
Android 16 অতিরিক্ত API যোগ করে UI শব্দার্থবিদ্যাকে উন্নত করতে যা ব্যবহারকারীদের জন্য ধারাবাহিকতা উন্নত করতে সাহায্য করে যারা অ্যাক্সেসিবিলিটি পরিষেবার উপর নির্ভর করে, যেমন TalkBack ।
সর্বাধিক টেক্সট কনট্রাস্টের জন্য রূপরেখা পাঠ্য
কম দৃষ্টিসম্পন্ন ব্যবহারকারীরা প্রায়শই বৈপরীত্য সংবেদনশীলতা হ্রাস করে, যার ফলে তাদের পটভূমি থেকে বস্তুর পার্থক্য করা কঠিন হয়ে পড়ে। এই ব্যবহারকারীদের সাহায্য করার জন্য, Android 16 উচ্চ কনট্রাস্ট টেক্সট প্রতিস্থাপন করে আউটলাইন টেক্সট প্রবর্তন করে, যা পাঠ্যের চারপাশে একটি বৃহত্তর বৈপরীত্য ক্ষেত্র আঁকে যাতে সুস্পষ্টতা উন্নত হয়।
অ্যান্ড্রয়েড 16-এ নতুন AccessibilityManager এপিআই রয়েছে যাতে আপনার অ্যাপ্লিকেশানগুলি এই মোডটি সক্ষম করা আছে কিনা তা দেখতে একজন শ্রোতাকে পরীক্ষা করতে বা নিবন্ধন করতে দেয়৷ এটি প্রাথমিকভাবে UI টুলকিট যেমন রচনার জন্য একই রকম ভিজ্যুয়াল অভিজ্ঞতা দেওয়ার জন্য। আপনি যদি একটি UI টুলকিট লাইব্রেরি বজায় রাখেন বা আপনার অ্যাপটি কাস্টম টেক্সট রেন্ডারিং করে যা android.text.Layout ক্লাসকে বাইপাস করে তাহলে আপনি এটি ব্যবহার করতে পারেন কখন আউটলাইন টেক্সট সক্ষম করা আছে।

TtsSpan-এ সময়কাল যোগ করা হয়েছে
Android 16 ARG_HOURS , ARG_MINUTES , এবং ARG_SECONDS সমন্বিত একটি TYPE_DURATION এর সাথে TtsSpan প্রসারিত করে৷ এটি আপনাকে টকব্যাকের মতো পরিষেবাগুলির সাথে সঠিক এবং সামঞ্জস্যপূর্ণ পাঠ্য-থেকে-স্পিচ আউটপুট নিশ্চিত করে, সময়কালকে সরাসরি টীকা করতে দেয়৷
একাধিক লেবেল সহ সমর্থন উপাদান
অ্যান্ড্রয়েড বর্তমানে UI উপাদানগুলিকে অন্যের থেকে তাদের অ্যাক্সেসিবিলিটি লেবেল প্রাপ্ত করার অনুমতি দেয় এবং এখন একাধিক লেবেল যুক্ত করার ক্ষমতা অফার করে, ওয়েব সামগ্রীতে একটি সাধারণ দৃশ্য। AccessibilityNodeInfo মধ্যে একটি তালিকা-ভিত্তিক API প্রবর্তন করে, Android সরাসরি এই মাল্টি-লেবেল সম্পর্কগুলিকে সমর্থন করতে পারে। এই পরিবর্তনের অংশ হিসাবে, আমরা #addLabeledBy , #removeLabeledBy , এবং #getLabeledByList এর পক্ষে AccessibilityNodeInfo#setLabeledBy এবং # #getLabeledBy কে বাতিল করেছি।
প্রসারণযোগ্য উপাদানগুলির জন্য উন্নত সমর্থন
অ্যান্ড্রয়েড 16 অ্যাক্সেসিবিলিটি API যুক্ত করে যা আপনাকে মেনু এবং প্রসারণযোগ্য তালিকার মতো ইন্টারেক্টিভ উপাদানগুলির প্রসারিত বা ভেঙে পড়া অবস্থা জানাতে দেয়। setExpandedState ব্যবহার করে প্রসারিত অবস্থা সেট করে এবং CONTENT_CHANGE_TYPE_EXPANDED বিষয়বস্তু পরিবর্তনের ধরন সহ TYPE_WINDOW_CONTENT_CHANGED অ্যাক্সেসিবিলিটি ইভেন্টগুলি প্রেরণ করে, আপনি নিশ্চিত করতে পারেন যে টকব্যাকের মতো স্ক্রিন রিডাররা আরও স্বজ্ঞাত এবং অন্তর্ভুক্ত ব্যবহারকারীর অভিজ্ঞতা প্রদান করে রাজ্যের পরিবর্তনগুলি ঘোষণা করে৷
অনিশ্চিত প্রগতি বার
Android 16 RANGE_TYPE_INDETERMINATE যোগ করে, আপনার জন্য নির্ধারিত এবং অনির্দিষ্ট উভয় ProgressBar উইজেটগুলির জন্য RangeInfo প্রকাশ করার একটি উপায় দেয়, যা TalkBack-এর মতো পরিষেবাগুলিকে আরও ধারাবাহিকভাবে অগ্রগতি সূচকগুলির জন্য প্রতিক্রিয়া প্রদান করার অনুমতি দেয়৷
ত্রি-রাষ্ট্রীয় চেকবক্স
Android 16-এ নতুন AccessibilityNodeInfo getChecked এবং setChecked(int) পদ্ধতিগুলি এখন "চেক করা" এবং "আনচেক করা" ছাড়াও একটি "আংশিকভাবে চেক করা" অবস্থা সমর্থন করে। এটি অপ্রচলিত বুলিয়ান isChecked এবং setChecked(boolean) প্রতিস্থাপন করে।
সম্পূরক বর্ণনা
যখন একটি অ্যাক্সেসিবিলিটি পরিষেবা একটি ViewGroup বর্ণনা করে, তখন এটি তার চাইল্ড ভিউ থেকে কন্টেন্ট লেবেলগুলিকে একত্রিত করে৷ আপনি যদি ViewGroup জন্য একটি contentDescription প্রদান করেন, অ্যাক্সেসিবিলিটি পরিষেবাগুলি অনুমান করে যে আপনি অ-ফোকাসযোগ্য চাইল্ড ভিউগুলির বর্ণনাকেও ওভাররাইড করছেন৷ অ্যাক্সেসযোগ্যতার জন্য বর্তমান নির্বাচন (উদাহরণস্বরূপ, "রোবোটো") সংরক্ষণ করার সময় আপনি যদি ড্রপ-ডাউন (উদাহরণস্বরূপ, "ফন্ট ফ্যামিলি") এর মতো জিনিসগুলিকে লেবেল করতে চান তবে এটি সমস্যাযুক্ত হতে পারে। Android 16 setSupplementalDescription যোগ করে যাতে আপনি পাঠ্য সরবরাহ করতে পারেন যা একটি ViewGroup সম্পর্কে তথ্য প্রদান করে তার বাচ্চাদের তথ্য ওভাররাইড না করে।
প্রয়োজনীয় ফর্ম ক্ষেত্র
Android 16 AccessibilityNodeInfo তে setFieldRequired যোগ করে যাতে অ্যাপগুলি একটি অ্যাক্সেসিবিলিটি পরিষেবাকে বলতে পারে যে একটি ফর্ম ক্ষেত্রে ইনপুট প্রয়োজন। এটি ব্যবহারকারীদের জন্য অনেক ধরনের ফর্ম পূরণ করার জন্য একটি গুরুত্বপূর্ণ দৃশ্য, এমনকি প্রয়োজনীয় শর্তাবলীর চেকবক্সের মতো সহজ জিনিসগুলি, ব্যবহারকারীদের ধারাবাহিকভাবে সনাক্ত করতে এবং প্রয়োজনীয় ক্ষেত্রগুলির মধ্যে দ্রুত নেভিগেট করতে সহায়তা করে৷
LEA হিয়ারিং এড সহ ভয়েস কলের জন্য মাইক্রোফোন ইনপুট হিসেবে ফোন
অ্যান্ড্রয়েড 16 LE অডিও হিয়ারিং এইড ব্যবহারকারীদের ভয়েস কলের জন্য হিয়ারিং এইডগুলিতে অন্তর্নির্মিত মাইক্রোফোন এবং তাদের ফোনের মাইক্রোফোনের মধ্যে স্যুইচ করার ক্ষমতা যুক্ত করে৷ এটি কোলাহলপূর্ণ পরিবেশে বা অন্যান্য পরিস্থিতিতে সহায়ক হতে পারে যেখানে হিয়ারিং এইডের মাইক্রোফোনগুলি ভাল কাজ করতে পারে না।
LEA হিয়ারিং এডের জন্য অ্যাম্বিয়েন্ট ভলিউম কন্ট্রোল
অ্যান্ড্রয়েড 16 এলই অডিও হিয়ারিং এইডের ব্যবহারকারীদের জন্য হিয়ারিং এইডের মাইক্রোফোনগুলির দ্বারা বাছাই করা পরিবেষ্টিত শব্দের ভলিউম সামঞ্জস্য করার ক্ষমতা যুক্ত করে৷ এটি এমন পরিস্থিতিতে সহায়ক হতে পারে যেখানে পটভূমির শব্দ খুব জোরে বা খুব শান্ত।
ক্যামেরা
Android 16 পেশাদার ক্যামেরা ব্যবহারকারীদের জন্য উন্নত সহায়তা প্রদান করে, যা হাইব্রিড
অটো এক্সপোজারের পাশাপাশি সঠিক কালার টেম্পারেচার এবং টিন্ট অ্যাডজাস্টমেন্টের সুবিধা দেয়। একটি নতুন
নাইট মোড ইন্ডিকেটর আপনার অ্যাপকে জানতে সাহায্য করে যে কখন নাইট মোড ক্যামেরা সেশনে
সুইচ করতে হবে এবং কখন নাইট মোড ক্যামেরা সেশন থেকে বেরিয়ে আসতে হবে। নতুন Intent অ্যাকশন মোশন ফটো ক্যাপচার করা আরও সহজ করে তোলে,
এবং আমরা HEIC এনকোডিংয়ের জন্য সহায়তা
এবং ISO 21496-1 ড্রাফ্ট স্ট্যান্ডার্ড থেকে নতুন প্যারামিটার সহ UltraHDR ছবি উন্নত করা চালিয়ে যাচ্ছি।
হাইব্রিড অটো-এক্সপোজার
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 adds camera support for fine color temperature and tint adjustments
to better support professional video recording applications. In previous Android
versions, you could control white balance settings through
CONTROL_AWB_MODE, which contains options limited to a
preset list, such as Incandescent,
Cloudy, and Twilight. The
COLOR_CORRECTION_MODE_CCT enables the use of
COLOR_CORRECTION_COLOR_TEMPERATURE and
COLOR_CORRECTION_COLOR_TINT for precise adjustments of
white balance based on the correlated color temperature.
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) ...
}
The following examples show how a photo would look after applying different color temperature and tint adjustments:
ক্যামেরার নাইট মোড দৃশ্য শনাক্তকরণ
为了帮助应用了解何时切换到夜间模式相机会话以及何时从夜间模式相机会话切换出,Android 16 添加了 EXTENSION_NIGHT_MODE_INDICATOR。如果受支持,则可在 Camera2 内的 CaptureResult 中使用。
这是我们在Instagram 如何让用户拍出令人惊艳的低光照片博文中提到的即将推出的 API。该博文提供了有关如何实现夜间模式的实用指南,并附有一份案例研究,该案例研究将应用内夜间模式照片质量的提升与通过应用内相机分享的照片数量的增加联系起来。
মোশন ফটো ক্যাপচার ইনটেন্ট অ্যাকশন
Android 16 স্ট্যান্ডার্ড ইনটেন্ট অ্যাকশন যোগ করে — ACTION_MOTION_PHOTO_CAPTURE , এবং ACTION_MOTION_PHOTO_CAPTURE_SECURE — যা অনুরোধ করে যে ক্যামেরা অ্যাপ্লিকেশন একটি মোশন ফটো ক্যাপচার করে এবং এটি ফেরত দেয়।
চিত্রটি কোথায় লেখা হবে তা নিয়ন্ত্রণ করতে আপনাকে হয় একটি অতিরিক্ত EXTRA_OUTPUT পাস করতে হবে, অথবা Intent.setClipData(ClipData) এর মাধ্যমে একটি Uri পাস করতে হবে। আপনি যদি একটি ClipData সেট না করেন তবে Context.startActivity(Intent) কল করার সময় এটি আপনার জন্য সেখানে কপি করা হবে।
UltraHDR ইমেজ এনহ্যান্সমেন্ট
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-এর সাথে কাস্টম গ্রাফিক এফেক্ট।
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 adds support for robust security features in Wi-Fi location on supported devices with Wi-Fi 6's 802.11az, allowing apps to combine the higher accuracy, greater scalability, and dynamic scheduling of the protocol with security enhancements including AES-256-based encryption and protection against MITM attacks. This allows it to be used more safely in proximity use cases, such as unlocking a laptop or a vehicle door. 802.11az is integrated with the Wi-Fi 6 standard, leveraging its infrastructure and capabilities for wider adoption and easier deployment.
জেনেরিক রেঞ্জিং API
Android 16-এ নতুন RangingManager অন্তর্ভুক্ত রয়েছে, যা স্থানীয় ডিভাইস এবং দূরবর্তী ডিভাইসের মধ্যে সমর্থিত হার্ডওয়্যারের দূরত্ব এবং কোণ নির্ধারণ করার উপায় প্রদান করে। RangingManager বিএলই চ্যানেল সাউন্ডিং, বিএলই আরএসএসআই-ভিত্তিক রেঞ্জিং, আল্ট্রা ওয়াইডব্যান্ড এবং ওয়াই-ফাই রাউন্ড ট্রিপ টাইম-এর মতো বিভিন্ন রেঞ্জিং প্রযুক্তির ব্যবহার সমর্থন করে।
কম্প্যানিয়ন ডিভাইস ম্যানেজার ডিভাইসের উপস্থিতি
In Android 16, new APIs are being introduced for binding your companion app
service. Service will be bound when BLE is in range and Bluetooth is connected
and service will be unbound when BLE is out of range or Bluetooth is
disconnected. App will receives a new
'onDevicePresenceEvent()' callback based on various
of DevicePresenceEvent.
More details can be found in
'startObservingDevicePresence(ObservingDevicePresenceRequest)'.
মিডিয়া
Android 16-এ বিভিন্ন ধরনের ফিচার রয়েছে যা মিডিয়া অভিজ্ঞতা উন্নত করে।
ফটো পিকার সংক্রান্ত উন্নতি
照片选择器为用户提供了一种安全的内置授权方式,让用户可以向应用授予对本地存储空间和云端存储空间中所选图片和视频的访问权限,而不是对整个媒体库的访问权限。通过 Google 系统更新和 Google Play 服务组合使用模块化系统组件,该工具向后支持到 Android 4.4(API 级别 19)。只需几行代码即可与相关的 Android Jetpack 库集成。
Android 16 对照片选择器进行了以下改进:
- 嵌入式照片选择器:新 API,可让应用将照片选择器嵌入其视图层次结构中。这样,它就感觉像是应用中更为集成的一部分,同时仍可利用进程隔离功能,让用户能够选择媒体,而无需应用拥有过于宽泛的权限。为了最大限度地提高跨平台版本的兼容性并简化集成,如果您想集成嵌入式照片选择器,则需要使用即将推出的 Android Jetpack 库。
- 照片选择器中的云搜索:新的 API 可让 Android 照片选择器从云端媒体提供商中进行搜索。照片选择器中的搜索功能即将推出。
উন্নত পেশাদার ভিডিও
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 格式的医疗记录。
Android-এ প্রাইভেসি স্যান্ডবক্স
Android 16 এন্ড্রয়েডের গোপনীয়তা স্যান্ডবক্সের সর্বশেষ সংস্করণকে অন্তর্ভুক্ত করে, প্রযুক্তি বিকাশের জন্য আমাদের চলমান কাজের অংশ যেখানে ব্যবহারকারীরা জানেন যে তাদের গোপনীয়তা সুরক্ষিত। আপনাকে শুরু করতে সাহায্য করার জন্য আমাদের ওয়েবসাইটে Android বিকাশকারী বিটা প্রোগ্রামের গোপনীয়তা স্যান্ডবক্স সম্পর্কে আরও কিছু রয়েছে ৷ SDK রানটাইম দেখুন যা SDKগুলিকে তাদের পরিবেশন করা অ্যাপ থেকে আলাদা একটি ডেডিকেটেড রানটাইম পরিবেশে চালানোর অনুমতি দেয়, ব্যবহারকারীর ডেটা সংগ্রহ এবং ভাগ করে নেওয়ার ক্ষেত্রে শক্তিশালী সুরক্ষা প্রদান করে৷
নিরাপত্তা
Android 16-এ এমন ফিচার রয়েছে যা আপনার অ্যাপের নিরাপত্তা উন্নত করতে এবং অ্যাপের ডেটা সুরক্ষিত রাখতে সাহায্য করে।
কী শেয়ারিং API
অ্যান্ড্রয়েড 16 এপিআই যুক্ত করে যা অন্যান্য অ্যাপের সাথে অ্যান্ড্রয়েড কীস্টোর কীগুলিতে অ্যাক্সেস ভাগ করে নেওয়া সমর্থন করে। নতুন KeyStoreManager ক্লাস অ্যাপ uid দ্বারা কীগুলিতে অ্যাক্সেস মঞ্জুর করা এবং প্রত্যাহার করাকে সমর্থন করে এবং অ্যাপগুলির শেয়ার্ড কীগুলি অ্যাক্সেস করার জন্য একটি API অন্তর্ভুক্ত করে৷
ডিভাইস ফর্ম ফ্যাক্টর
Android 16 আপনার অ্যাপকে Android-এর ফর্ম ফ্যাক্টর থেকে সর্বাধিক সুবিধা পেতে সহায়তা করে।
টিভির জন্য স্ট্যান্ডার্ডাইজড ছবি ও অডিও কোয়ালিটি ফ্রেমওয়ার্ক
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.
ইন্টারন্যাশনালাইজেশন
Android 16-এ এমন ফিচার ও ক্ষমতা যোগ করা হয়েছে যা বিভিন্ন ভাষায় ডিভাইস ব্যবহার করার সময় ব্যবহারকারীর অভিজ্ঞতাকে আরও উন্নত করে।
উল্লম্ব পাঠ্য
Android 16 adds low-level support for rendering and measuring text vertically to
provide foundational vertical writing support for library developers. This is
particularly useful for languages like Japanese that commonly use vertical
writing systems. A new flag,
VERTICAL_TEXT_FLAG,
has been added to the Paint class. When
this flag is set using
Paint.setFlags, Paint's
text measurement APIs will report vertical advances instead of horizontal
advances, and Canvas will draw text
vertically.
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
)
}
}
) {}
পরিমাপ করার সিস্টেম কাস্টমাইজ করা
Users can now customize their measurement system in regional preferences within
Settings. The user preference is included as part of the locale code, so you can
register a BroadcastReceiver on
ACTION_LOCALE_CHANGED to handle locale configuration changes when
regional preferences change.
Using formatters can help match the local experience. For example, "0.5 in" in English (United States), is "12,7 mm" for a user who has set their phone to English (Denmark) or who uses their phone in English (United States) with the metric system as the measurement system preference.
To find these settings, open the Settings app and navigate to System > Languages & region.