অ্যান্ড্রয়েড 14 ডেভেলপারদের জন্য দুর্দান্ত বৈশিষ্ট্য এবং এপিআই প্রবর্তন করে। নিম্নলিখিতগুলি আপনাকে আপনার অ্যাপগুলির বৈশিষ্ট্যগুলি সম্পর্কে জানতে এবং সম্পর্কিত APIগুলির সাথে শুরু করতে সহায়তা করে৷
যোগ করা, পরিবর্তিত এবং সরানো API-এর বিস্তারিত তালিকার জন্য, API ডিফ রিপোর্ট পড়ুন। যোগ করা APIগুলির বিশদ বিবরণের জন্য Android API রেফারেন্সে যান — Android 14-এর জন্য, API স্তর 34-এ যোগ করা APIগুলি সন্ধান করুন৷ প্ল্যাটফর্মের পরিবর্তনগুলি আপনার অ্যাপ্লিকেশানগুলিকে প্রভাবিত করতে পারে এমন অঞ্চলগুলি সম্পর্কে জানতে, Android 14 এবং সমস্ত অ্যাপ্লিকেশানের জন্য লক্ষ্য করে এমন অ্যাপ্লিকেশনগুলির জন্য Android 14 আচরণের পরিবর্তনগুলি পরীক্ষা করে দেখুন৷
আন্তর্জাতিকীকরণ
প্রতি-অ্যাপ ভাষা পছন্দ
Android 14 expands on the per-app language features that were introduced in Android 13 (API level 33) with these additional capabilities:
Automatically generate an app's
localeConfig
: Starting with Android Studio Giraffe Canary 7 and AGP 8.1.0-alpha07, you can configure your app to support per-app language preferences automatically. Based on your project resources, the Android Gradle plugin generates theLocaleConfig
file and adds a reference to it in the final manifest file, so you no longer have to create or update the file manually. AGP uses the resources in theres
folders of your app modules and any library module dependencies to determine the locales to include in theLocaleConfig
file.Dynamic updates for an app's
localeConfig
: Use thesetOverrideLocaleConfig()
andgetOverrideLocaleConfig()
methods inLocaleManager
to dynamically update your app's list of supported languages in the device's system settings. Use this flexibility to customize the list of supported languages per region, run A/B experiments, or provide an updated list of locales if your app utilizes server-side pushes for localization.App language visibility for input method editors (IMEs): IMEs can utilize the
getApplicationLocales()
method to check the language of the current app and match the IME language to that language.
ব্যাকরণগত ইনফ্লেকশন API
3 billion people speak gendered languages: languages where grammatical categories—such as nouns, verbs, adjectives, and prepositions—inflect according to the gender of people and objects you talk to or about. Traditionally, many gendered languages use masculine grammatical gender as the default or generic gender.
Addressing users in the wrong grammatical gender, such as addressing women in masculine grammatical gender, can negatively impact their performance and attitude. In contrast, a UI with language that correctly reflects the user's grammatical gender can improve user engagement and provide a more personalized and natural-sounding user experience.
To help you build a user-centric UI for gendered languages, Android 14 introduces the Grammatical Inflection API, which lets you add support for grammatical gender without refactoring your app.
আঞ্চলিক পছন্দ
Regional preferences enable users to personalize temperature units, the first day of the week, and numbering systems. A European living in the United States might prefer temperature units to be in Celsius rather than Fahrenheit and for apps to treat Monday as the beginning of the week instead of the US default of Sunday.
New Android Settings menus for these preferences provide users with a
discoverable and centralized location to change app preferences. These
preferences also persist through backup and restore. Several APIs and
intents—such as
getTemperatureUnit
and
getFirstDayOfWeek
—
grant your app read access to user preferences, so your app can adjust how it
displays information. You can also register a
BroadcastReceiver
on
ACTION_LOCALE_CHANGED
to handle locale configuration changes when regional preferences change.
To find these settings, open the Settings app and navigate to System > Languages & input > Regional preferences.


অ্যাক্সেসযোগ্যতা
নন-লিনিয়ার ফন্ট স্কেলিং 200%
অ্যান্ড্রয়েড 14 থেকে শুরু করে, সিস্টেমটি 200% পর্যন্ত ফন্ট স্কেলিং সমর্থন করে, কম দৃষ্টিভঙ্গি ব্যবহারকারীদের অতিরিক্ত অ্যাক্সেসিবিলিটি বিকল্পগুলি প্রদান করে যা ওয়েব সামগ্রী অ্যাক্সেসিবিলিটি নির্দেশিকা (WCAG) এর সাথে সারিবদ্ধ।
স্ক্রিনে বড় টেক্সট উপাদানগুলিকে খুব বড় স্কেলিং থেকে আটকাতে, সিস্টেমটি একটি ননলাইনার স্কেলিং কার্ভ প্রয়োগ করে। এই স্কেলিং কৌশলটির অর্থ হল বড় পাঠ্য ছোট পাঠ্যের মতো একই হারে স্কেল করে না। অরৈখিক ফন্ট স্কেলিং উচ্চ ডিগ্রীতে রৈখিক পাঠ্য স্কেলিং সংক্রান্ত সমস্যাগুলি প্রশমিত করার সময় বিভিন্ন আকারের উপাদানগুলির মধ্যে আনুপাতিক শ্রেণিবিন্যাস সংরক্ষণ করতে সহায়তা করে (যেমন পাঠ্য কাটা বা পাঠ্য যা অত্যন্ত বড় প্রদর্শনের আকারের কারণে পড়া কঠিন হয়ে যায়)।
ননলাইনার ফন্ট স্কেলিং দিয়ে আপনার অ্যাপ পরীক্ষা করুন

আপনি যদি ইতিমধ্যেই পাঠ্যের আকার নির্ধারণ করতে স্কেল করা পিক্সেল (এসপি) ইউনিট ব্যবহার করেন, তাহলে এই অতিরিক্ত বিকল্পগুলি এবং স্কেলিং উন্নতিগুলি আপনার অ্যাপের পাঠ্যে স্বয়ংক্রিয়ভাবে প্রয়োগ করা হয়। যাইহোক, আপনার অ্যাপটি সঠিকভাবে ফন্টের মাপ প্রয়োগ করে এবং ব্যবহারযোগ্যতাকে প্রভাবিত না করেই বড় ফন্টের আকার মিটমাট করতে পারে তা নিশ্চিত করার জন্য আপনাকে সর্বাধিক ফন্ট সাইজ সক্ষম (200%) সহ UI পরীক্ষা করা উচিত।
200% ফন্ট সাইজ সক্ষম করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- সেটিংস অ্যাপ খুলুন এবং অ্যাক্সেসিবিলিটি > ডিসপ্লে সাইজ এবং টেক্সটে নেভিগেট করুন।
- ফন্ট সাইজ বিকল্পের জন্য, প্লাস (+) আইকনে আলতো চাপুন যতক্ষণ না সর্বাধিক ফন্ট সাইজ সেটিং সক্ষম হয়, যেমনটি এই বিভাগের সাথে থাকা ছবিতে দেখানো হয়েছে।
পাঠ্য-আকারের জন্য স্কেল করা পিক্সেল (এসপি) ইউনিট ব্যবহার করুন
মনে রাখবেন সবসময় sp ইউনিটে টেক্সট মাপ নির্দিষ্ট করুন । যখন আপনার অ্যাপ এসপি ইউনিট ব্যবহার করে, তখন অ্যান্ড্রয়েড ব্যবহারকারীর পছন্দের টেক্সট সাইজ প্রয়োগ করতে পারে এবং যথাযথভাবে স্কেল করতে পারে।
প্যাডিংয়ের জন্য sp ইউনিট ব্যবহার করবেন না বা অন্তর্নিহিত প্যাডিং ধরে নিয়ে ভিউ উচ্চতা নির্ধারণ করবেন না: অরৈখিক ফন্ট স্কেলিং সহ sp মাত্রা সমানুপাতিক নাও হতে পারে, তাই 4sp + 20sp 24sp এর সমান নাও হতে পারে।
স্কেল করা পিক্সেল (এসপি) ইউনিট রূপান্তর করুন
এসপি ইউনিট থেকে পিক্সেলে রূপান্তর করতে TypedValue.applyDimension()
ব্যবহার করুন এবং পিক্সেলকে sp-এ রূপান্তর করতে TypedValue.deriveDimension()
ব্যবহার করুন। এই পদ্ধতিগুলি স্বয়ংক্রিয়ভাবে উপযুক্ত ননলাইনার স্কেলিং বক্ররেখা প্রয়োগ করে।
Configuration.fontScale
বা DisplayMetrics.scaledDensity
ব্যবহার করে হার্ডকোডিং সমীকরণ এড়িয়ে চলুন । যেহেতু ফন্ট স্কেলিং অরৈখিক, scaledDensity
ক্ষেত্রটি আর সঠিক নয়। fontScale
ক্ষেত্রটি শুধুমাত্র তথ্যগত উদ্দেশ্যে ব্যবহার করা উচিত কারণ ফন্টগুলি আর একক স্কেলার মান দিয়ে স্কেল করা হয় না।
লাইন উচ্চতার জন্য sp ইউনিট ব্যবহার করুন
সর্বদা dp এর পরিবর্তে sp ইউনিট ব্যবহার করে android:lineHeight
সংজ্ঞায়িত করুন, যাতে আপনার পাঠ্যের সাথে লাইনের উচ্চতা স্কেল হয়। অন্যথায়, যদি আপনার পাঠ্য sp হয় কিন্তু আপনার lineHeight
dp বা px-এ থাকে, তাহলে এটি স্কেল না করে এবং সঙ্কুচিত দেখায়। টেক্সটভিউ স্বয়ংক্রিয়ভাবে lineHeight
সংশোধন করে যাতে আপনার অভিপ্রেত অনুপাত সংরক্ষিত থাকে, তবে শুধুমাত্র যদি textSize
এবং lineHeight
উভয়ই sp ইউনিটে সংজ্ঞায়িত করা হয়।
ক্যামেরা এবং মিডিয়া
ছবির জন্য আল্ট্রা এইচডিআর

Android 14 হাই ডায়নামিক রেঞ্জ (HDR) চিত্রগুলির জন্য সমর্থন যোগ করে যা একটি ফটো তোলার সময় সেন্সর থেকে আরও তথ্য ধরে রাখে, যা প্রাণবন্ত রঙ এবং বৃহত্তর বৈসাদৃশ্য সক্ষম করে। অ্যান্ড্রয়েড আল্ট্রা এইচডিআর ফরম্যাট ব্যবহার করে, যা JPEG ছবির সাথে সম্পূর্ণ পশ্চাৎপদ সামঞ্জস্যপূর্ণ, অ্যাপগুলিকে HDR চিত্রগুলির সাথে নির্বিঘ্নে আন্তঃঅপারেটিং করার অনুমতি দেয়, সেগুলিকে প্রয়োজন অনুসারে স্ট্যান্ডার্ড ডায়নামিক রেঞ্জে (SDR) প্রদর্শন করে৷
HDR-এ UI-তে এই ছবিগুলি রেন্ডার করা ফ্রেমওয়ার্ক দ্বারা স্বয়ংক্রিয়ভাবে সম্পন্ন হয় যখন আপনার অ্যাপটি তার কার্যকলাপ উইন্ডোর জন্য HDR UI ব্যবহার করতে বেছে নেয়, হয় একটি ম্যানিফেস্ট এন্ট্রির মাধ্যমে বা রানটাইমে Window.setColorMode()
কল করে । আপনি সমর্থিত ডিভাইসগুলিতে সংকুচিত আল্ট্রা এইচডিআর স্থির চিত্রগুলিও ক্যাপচার করতে পারেন। সেন্সর থেকে আরো রং উদ্ধারের সাথে, পোস্টে সম্পাদনা আরও নমনীয় হতে পারে। আল্ট্রা এইচডিআর ইমেজের সাথে যুক্ত Gainmap
OpenGL বা Vulkan ব্যবহার করে রেন্ডার করতে ব্যবহার করা যেতে পারে।

Android 14 হাই ডায়নামিক রেঞ্জ (HDR) চিত্রগুলির জন্য সমর্থন যোগ করে যা একটি ফটো তোলার সময় সেন্সর থেকে আরও তথ্য ধরে রাখে, যা প্রাণবন্ত রঙ এবং বৃহত্তর বৈসাদৃশ্য সক্ষম করে। অ্যান্ড্রয়েড আল্ট্রা এইচডিআর ফরম্যাট ব্যবহার করে, যা JPEG ছবির সাথে সম্পূর্ণ পশ্চাৎপদ সামঞ্জস্যপূর্ণ, অ্যাপগুলিকে HDR চিত্রগুলির সাথে নির্বিঘ্নে আন্তঃঅপারেটিং করার অনুমতি দেয়, সেগুলিকে প্রয়োজন অনুসারে স্ট্যান্ডার্ড ডায়নামিক রেঞ্জে (SDR) প্রদর্শন করে৷
HDR-এ UI-তে এই ছবিগুলি রেন্ডার করা ফ্রেমওয়ার্ক দ্বারা স্বয়ংক্রিয়ভাবে সম্পন্ন হয় যখন আপনার অ্যাপটি তার কার্যকলাপ উইন্ডোর জন্য HDR UI ব্যবহার করতে বেছে নেয়, হয় একটি ম্যানিফেস্ট এন্ট্রির মাধ্যমে বা রানটাইমে Window.setColorMode()
কল করে । আপনি সমর্থিত ডিভাইসগুলিতে সংকুচিত আল্ট্রা এইচডিআর স্থির চিত্রগুলিও ক্যাপচার করতে পারেন। সেন্সর থেকে আরো রং পুনরুদ্ধার করার সাথে, পোস্টে সম্পাদনা আরও নমনীয় হতে পারে। আল্ট্রা এইচডিআর ইমেজের সাথে যুক্ত Gainmap
OpenGL বা Vulkan ব্যবহার করে রেন্ডার করতে ব্যবহার করা যেতে পারে।
ক্যামেরা এক্সটেনশনগুলিতে জুম, ফোকাস, পোস্টভিউ এবং আরও অনেক কিছু
অ্যান্ড্রয়েড 14 ক্যামেরা এক্সটেনশানগুলিকে আপগ্রেড করে এবং উন্নত করে, অ্যাপগুলিকে দীর্ঘ প্রক্রিয়াকরণের সময়গুলি পরিচালনা করার অনুমতি দেয়, যা সমর্থিত ডিভাইসগুলিতে কম-আলো ফটোগ্রাফির মতো গণনা-নিবিড় অ্যালগরিদম ব্যবহার করে উন্নত ছবিগুলিকে সক্ষম করে৷ ক্যামেরা এক্সটেনশন ক্ষমতা ব্যবহার করার সময় এই বৈশিষ্ট্যগুলি ব্যবহারকারীদের আরও শক্তিশালী অভিজ্ঞতা দেয়। এই উন্নতিগুলির উদাহরণগুলির মধ্যে রয়েছে:
- ডায়নামিক স্টিল ক্যাপচার প্রসেসিং লেটেন্সি অনুমান বর্তমান দৃশ্য এবং পরিবেশ পরিস্থিতির উপর ভিত্তি করে অনেক বেশি সঠিক এখনও ক্যাপচার লেটেন্সি অনুমান প্রদান করে। একটি
StillCaptureLatency
অবজেক্ট পেতেCameraExtensionSession.getRealtimeStillCaptureLatency()
কল করুন যাতে দুটি লেটেন্সি অনুমান পদ্ধতি রয়েছে৷getCaptureLatency()
পদ্ধতিটিonCaptureStarted
এবংonCaptureProcessStarted()
এর মধ্যে আনুমানিক লেটেন্সি প্রদান করে এবংgetProcessingLatency()
পদ্ধতিটিonCaptureProcessStarted()
এবং উপলব্ধ চূড়ান্ত প্রক্রিয়াকৃত ফ্রেমের মধ্যে আনুমানিক লেটেন্সি প্রদান করে। - ক্যাপচার অগ্রগতি কলব্যাকগুলির জন্য সমর্থন যাতে অ্যাপগুলি দীর্ঘ-চলমান, স্থির-ক্যাপচার প্রক্রিয়াকরণ ক্রিয়াকলাপগুলির বর্তমান অগ্রগতি প্রদর্শন করতে পারে। আপনি
CameraExtensionCharacteristics.isCaptureProcessProgressAvailable
এর সাথে এই বৈশিষ্ট্যটি উপলব্ধ কিনা তা পরীক্ষা করতে পারেন, এবং যদি এটি হয়, তাহলে আপনিonCaptureProcessProgressed()
কলব্যাক প্রয়োগ করেন, যার অগ্রগতি (0 থেকে 100 পর্যন্ত) একটি প্যারামিটার হিসাবে পাস করা হয়েছে৷ এক্সটেনশন নির্দিষ্ট মেটাডেটা, যেমন
CaptureRequest.EXTENSION_STRENGTH
একটি এক্সটেনশন প্রভাবের পরিমাণে ডায়াল করার জন্য, যেমনEXTENSION_BOKEH
এর সাথে ব্যাকগ্রাউন্ড ব্লারের পরিমাণ।ক্যামেরা এক্সটেনশনগুলিতে স্টিল ক্যাপচারের জন্য পোস্টভিউ বৈশিষ্ট্য, যা চূড়ান্ত চিত্রের চেয়ে কম প্রক্রিয়াজাত চিত্র প্রদান করে। যদি একটি এক্সটেনশন প্রসেসিং লেটেন্সি বাড়িয়ে দেয়, তাহলে UX উন্নত করার জন্য একটি পোস্টভিউ ইমেজ প্লেসহোল্ডার হিসেবে প্রদান করা যেতে পারে এবং পরে চূড়ান্ত ইমেজের জন্য স্যুইচ আউট করা যেতে পারে। আপনি
CameraExtensionCharacteristics.isPostviewAvailable
এর সাথে এই বৈশিষ্ট্যটি উপলব্ধ কিনা তা পরীক্ষা করতে পারেন। তারপর আপনিExtensionSessionConfiguration.setPostviewOutputConfiguration
এ একটিOutputConfiguration
পাস করতে পারেন।SurfaceView
এর জন্য সমর্থন আরও অপ্টিমাইজ করা এবং শক্তি-দক্ষ প্রিভিউ রেন্ডার পাথের জন্য অনুমতি দেয়।এক্সটেনশন ব্যবহারের সময় ফোকাস এবং জুম করার জন্য ট্যাপ করার জন্য সমর্থন।
ইন-সেন্সর জুম
When REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE
in
CameraCharacteristics
contains
SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
, your app
can use advanced sensor capabilities to give a cropped RAW stream the same
pixels as the full field of view by using a CaptureRequest
with a RAW target that has stream use case set to
CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
.
By implementing the request override controls, the updated camera gives users
zoom control even before other camera controls are ready.
লসলেস ইউএসবি অডিও
Android 14 USB তারযুক্ত হেডসেটের মাধ্যমে অডিওফাইল-স্তরের অভিজ্ঞতার জন্য ক্ষতিহীন অডিও ফর্ম্যাটের জন্য সমর্থন লাভ করে। আপনি একটি USB ডিভাইসের পছন্দের মিক্সার অ্যাট্রিবিউটের জন্য প্রশ্ন করতে পারেন, পছন্দের মিক্সার অ্যাট্রিবিউটের পরিবর্তনের জন্য একজন শ্রোতা নিবন্ধন করতে পারেন এবং AudioMixerAttributes
ক্লাস ব্যবহার করে মিক্সার অ্যাট্রিবিউট কনফিগার করতে পারেন। এই শ্রেণীটি বিন্যাস উপস্থাপন করে, যেমন চ্যানেল মাস্ক, নমুনা হার এবং অডিও মিক্সারের আচরণ। ক্লাস অডিও সরাসরি পাঠানোর অনুমতি দেয়, মিশ্রণ, ভলিউম সমন্বয়, বা প্রক্রিয়াকরণ প্রভাব ছাড়াই।
বিকাশকারীর উত্পাদনশীলতা এবং সরঞ্জাম
শংসাপত্র ম্যানেজার
Android 14 adds Credential Manager as a platform API, with additional support back to Android 4.4 (API level 19) devices through a Jetpack Library using Google Play services. Credential Manager aims to make sign-in easier for users with APIs that retrieve and store credentials with user-configured credential providers. Credential Manager supports multiple sign-in methods, including username and password, passkeys, and federated sign-in solutions (such as Sign-in with Google) in a single API.
Passkeys provide many advantages. For example, passkeys are built on industry standards, can work across different operating systems and browser ecosystems, and can be used with both websites and apps.
For more information, see the Credential Manager and passkeys documentation and the blogpost about Credential Manager and passkeys.
স্বাস্থ্য সংযোগ
Health Connect is an on-device repository for user health and fitness data. It allows users to share data between their favorite apps, with a single place to control what data they want to share with these apps.
On devices running Android versions prior to Android 14, Health Connect is available to download as an app on the Google Play store. Starting with Android 14, Health Connect is part of the platform and receives updates through Google Play system updates without requiring a separate download. With this, Health Connect can be updated frequently, and your apps can rely on Health Connect being available on devices running Android 14 or higher. Users can access Health Connect from the Settings in their device, with privacy controls integrated into the system settings.


Health Connect includes several new features in Android 14, such as exercise routes, allowing users to share a route of their workout which can be visualized on a map. A route is defined as a list of locations saved within a window of time, and your app can insert routes into exercise sessions, tying them together. To ensure that users have complete control over this sensitive data, users must allow sharing individual routes with other apps.
For more information, see the Health Connection documentation and the blogpost on What's new in Android Health.
OpenJDK 17 আপডেট
Android 14 continues the work of refreshing Android's core libraries to align with the features in the latest OpenJDK LTS releases, including both library updates and Java 17 language support for app and platform developers.
The following features and improvements are included:
- Updated approximately 300
java.base
classes to Java 17 support. - Text Blocks, which introduce multi-line string literals to the Java programming language.
- Pattern Matching for instanceof, which allows an object to
be treated as having a specific type in an
instanceof
without any additional variables. - Sealed classes, which allow you restrict which classes and interfaces can extend or implement them.
Thanks to Google Play system updates (Project Mainline), over 600 million devices are enabled to receive the latest Android Runtime (ART) updates that include these changes. This is part of our commitment to give apps a more consistent, secure environment across devices, and to deliver new features and capabilities to users independent of platform releases.
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
অ্যাপ স্টোরের জন্য উন্নতি
অ্যান্ড্রয়েড 14 বেশ কয়েকটি PackageInstaller
এপিআই প্রবর্তন করে যা অ্যাপ স্টোরগুলিকে তাদের ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে দেয়।
ডাউনলোড করার আগে ইনস্টল করার অনুমোদনের জন্য অনুরোধ করুন
একটি অ্যাপ ইনস্টল বা আপডেট করার জন্য ব্যবহারকারীর অনুমোদনের প্রয়োজন হতে পারে। উদাহরণস্বরূপ, যখন একটি ইনস্টলার REQUEST_INSTALL_PACKAGES
অনুমতি ব্যবহার করে একটি নতুন অ্যাপ ইনস্টল করার চেষ্টা করে৷ পূর্ববর্তী অ্যান্ড্রয়েড সংস্করণগুলিতে, অ্যাপ স্টোরগুলি শুধুমাত্র ইনস্টল সেশনে APK লেখার পরে এবং সেশনটি প্রতিশ্রুতিবদ্ধ হওয়ার পরে ব্যবহারকারীর অনুমোদনের অনুরোধ করতে পারে৷
Android 14 দিয়ে শুরু করে, requestUserPreapproval()
পদ্ধতিটি ইনস্টলারদের ইনস্টল সেশন করার আগে ব্যবহারকারীর অনুমোদনের অনুরোধ করতে দেয়। এই উন্নতিটি ব্যবহারকারীর দ্বারা ইনস্টলেশন অনুমোদন না হওয়া পর্যন্ত একটি অ্যাপ স্টোরকে যেকোনো APK ডাউনলোড করা স্থগিত করতে দেয়। অধিকন্তু, একবার একজন ব্যবহারকারী ইনস্টলেশন অনুমোদন করলে, অ্যাপ স্টোর ব্যবহারকারীকে বাধা না দিয়ে পটভূমিতে অ্যাপটি ডাউনলোড এবং ইনস্টল করতে পারে।
ভবিষ্যতের আপডেটের জন্য দায়িত্ব দাবি করুন
setRequestUpdateOwnership()
পদ্ধতিটি একটি ইনস্টলারকে সিস্টেমকে নির্দেশ করতে দেয় যে এটি ইনস্টল করা একটি অ্যাপের ভবিষ্যতের আপডেটের জন্য দায়ী হতে চায়। এই ক্ষমতা আপডেট মালিকানা এনফোর্সমেন্টকে সক্ষম করে, যার মানে শুধুমাত্র আপডেট মালিককে অ্যাপে স্বয়ংক্রিয় আপডেট ইনস্টল করার অনুমতি দেওয়া হয়। আপডেট মালিকানা এনফোর্সমেন্ট নিশ্চিত করতে সাহায্য করে যে ব্যবহারকারীরা শুধুমাত্র প্রত্যাশিত অ্যাপ স্টোর থেকে আপডেট পান।
INSTALL_PACKAGES
অনুমতি ব্যবহার করা সহ অন্য যেকোনো ইনস্টলারকে একটি আপডেট ইনস্টল করার জন্য স্পষ্ট ব্যবহারকারীর অনুমোদন পেতে হবে। যদি একজন ব্যবহারকারী অন্য উৎস থেকে আপডেট নিয়ে এগিয়ে যাওয়ার সিদ্ধান্ত নেন, তাহলে আপডেটের মালিকানা হারিয়ে যায়।
কম ব্যাঘাতমূলক সময়ে অ্যাপ আপডেট করুন
অ্যাপ স্টোরগুলি সাধারণত সক্রিয়ভাবে ব্যবহার করা একটি অ্যাপ আপডেট করা এড়াতে চায় কারণ এটি অ্যাপের চলমান প্রক্রিয়াগুলিকে হত্যার দিকে নিয়ে যায়, যা ব্যবহারকারী যা করছিল তা সম্ভাব্যভাবে বাধা দেয়।
Android 14 দিয়ে শুরু করে, InstallConstraints
API ইনস্টলারদের তাদের অ্যাপ আপডেটগুলি একটি উপযুক্ত মুহূর্তে ঘটে তা নিশ্চিত করার একটি উপায় দেয়। উদাহরণ স্বরূপ, একটি অ্যাপ স্টোর commitSessionAfterInstallConstraintsAreMet()
পদ্ধতিতে কল করতে পারে যাতে নিশ্চিত করা যায় যে একটি আপডেট শুধুমাত্র তখনই প্রতিশ্রুতিবদ্ধ যখন ব্যবহারকারী আর প্রশ্নযুক্ত অ্যাপের সাথে ইন্টারঅ্যাক্ট করছেন না।
নির্বিঘ্নে ঐচ্ছিক বিভাজন ইনস্টল করুন
বিভক্ত APK-এর সাহায্যে, কোনো অ্যাপের বৈশিষ্ট্যগুলিকে একচেটিয়া APK না করে আলাদা APK ফাইলে বিতরণ করা যেতে পারে। স্প্লিট APK অ্যাপ স্টোরগুলিকে বিভিন্ন অ্যাপের উপাদানের ডেলিভারি অপ্টিমাইজ করার অনুমতি দেয়। উদাহরণস্বরূপ, অ্যাপ স্টোরগুলি লক্ষ্য ডিভাইসের বৈশিষ্ট্যের উপর ভিত্তি করে অপ্টিমাইজ করতে পারে। PackageInstaller
API API স্তর 22-এ প্রবর্তনের পর থেকে বিভাজন সমর্থন করেছে।
Android 14-এ, setDontKillApp()
পদ্ধতিটি একটি ইনস্টলারকে ইঙ্গিত করতে দেয় যে নতুন স্প্লিটগুলি ইনস্টল করার সময় অ্যাপের চলমান প্রক্রিয়াগুলিকে হত্যা করা উচিত নয়। অ্যাপ স্টোরগুলি ব্যবহারকারী অ্যাপটি ব্যবহার করার সময় একটি অ্যাপের নতুন বৈশিষ্ট্যগুলি নির্বিঘ্নে ইনস্টল করতে এই বৈশিষ্ট্যটি ব্যবহার করতে পারে।
অ্যাপ মেটাডেটা বান্ডেল
Starting in Android 14, the Android package installer lets you specify app metadata, such as data safety practices, to include on app store pages such as Google Play.
ব্যবহারকারীরা কখন ডিভাইসের স্ক্রিনশট নেয় তা শনাক্ত করুন
To create a more standardized experience for detecting screenshots, Android 14 introduces a privacy-preserving screenshot detection API. This API lets apps register callbacks on a per-activity basis. These callbacks are invoked, and the user is notified, when the user takes a screenshot while that activity is visible.
ব্যবহারকারীর অভিজ্ঞতা
শেয়ারশীট কাস্টম অ্যাকশন এবং উন্নত র্যাঙ্কিং
Android 14 updates the system sharesheet to support custom app actions and more informative preview results for users.
Add custom actions
With Android 14, your app can add custom actions to the system sharesheet it invokes.

Improve ranking of Direct Share targets
Android 14 uses more signals from apps to determine the ranking of the direct share targets to provide more helpful results for the user. To provide the most useful signal for ranking, follow the guidance for improving rankings of your Direct Share targets. Communication apps can also report shortcut usage for outgoing and incoming messages.

প্রেডিকটিভ ব্যাকের জন্য অন্তর্নির্মিত এবং কাস্টম অ্যানিমেশনের জন্য সমর্থন
Android 13 একটি বিকাশকারী বিকল্পের পিছনে ভবিষ্যদ্বাণীমূলক ব্যাক-টু-হোম অ্যানিমেশন চালু করেছে। ডেভেলপার বিকল্প চালু থাকা সমর্থিত অ্যাপে ব্যবহার করা হলে, পিছনে সোয়াইপ করা একটি অ্যানিমেশন দেখায় যা নির্দেশ করে যে পিছনের অঙ্গভঙ্গি অ্যাপ থেকে হোম স্ক্রিনে ফিরে আসে।
অ্যান্ড্রয়েড 14-এ একাধিক উন্নতি এবং ভবিষ্যদ্বাণীমূলক পিছনের জন্য নতুন নির্দেশিকা রয়েছে:
- আপনি সমগ্র অ্যাপের পরিবর্তে ক্রিয়াকলাপ প্রতি পূর্বাভাসমূলক ব্যাক সিস্টেম অ্যানিমেশন নির্বাচন করতে
android:enableOnBackInvokedCallback=true
সেট করতে পারেন। - আমরা অ্যান্ড্রয়েড 13 থেকে হোম-টু-হোম অ্যানিমেশনের সাথে নতুন সিস্টেম অ্যানিমেশন যোগ করেছি। নতুন সিস্টেম অ্যানিমেশনগুলি হল ক্রস-অ্যাক্টিভিটি এবং ক্রস-টাস্ক, যা আপনি প্রেডিকটিভ ব্যাক-এ স্থানান্তরিত করার পরে স্বয়ংক্রিয়ভাবে পেয়ে যাবেন।
- আমরা নীচের শীট , সাইড শীট এবং অনুসন্ধানের জন্য নতুন উপাদান উপাদান অ্যানিমেশন যুক্ত করেছি।
- আমরা কাস্টম ইন-অ্যাপ অ্যানিমেশন এবং ট্রানজিশন তৈরি করার জন্য ডিজাইন নির্দেশিকা তৈরি করেছি।
- কাস্টম ইন-অ্যাপ ট্রানজিশন অ্যানিমেশন সমর্থন করার জন্য আমরা নতুন API যোগ করেছি:
-
OnBackPressedCallback
in
handleOnBackStarted
,handleOnBackProgressed
,handleOnBackCancelled
-
onBackStarted
,onBackProgressed
,OnBackAnimationCallback
in
onBackCancelled
- ট্রানজিশনের জন্য ওভাররাইড অ্যাক্টিভিটি
overridePendingTransition
পরিবর্তেoverrideActivityTransition
ট্রানজিশন ব্যবহার করুন যা ব্যবহারকারীর পিছনে সোয়াইপ করার সাথে সাথে প্রতিক্রিয়া জানায়।
-
এই অ্যান্ড্রয়েড 14 প্রিভিউ রিলিজের সাথে, প্রেডিকটিভ ব্যাকের সমস্ত বৈশিষ্ট্য একটি বিকাশকারী বিকল্পের পিছনে থাকে। আপনার অ্যাপ্লিকেশানটিকে পূর্বাভাসমূলক পিছনে স্থানান্তর করতে বিকাশকারী নির্দেশিকা দেখুন, সেইসাথে কাস্টম ইন-অ্যাপ ট্রানজিশন তৈরি করার জন্য বিকাশকারী নির্দেশিকা দেখুন৷
প্রতি-অ্যাপ ওভাররাইড করে বড় স্ক্রীন ডিভাইস প্রস্তুতকারক
Per-app overrides enable device manufacturers to change the behavior of apps on large screen devices. For example, the FORCE_RESIZE_APP
override instructs the system to resize the app to fit display dimensions (avoiding size compatibility mode) even if resizeableActivity="false"
is set in the app manifest.
Overrides are intended to improve the user experience on large screens.
New manifest properties enable you to disable some device manufacturer overrides for your app.
প্রতি-অ্যাপ ওভাররাইড করে বড় স্ক্রীন ব্যবহারকারী
প্রতি-অ্যাপ ওভাররাইড বড় স্ক্রিনের ডিভাইসে অ্যাপের আচরণ পরিবর্তন করে। উদাহরণস্বরূপ, OVERRIDE_MIN_ASPECT_RATIO_LARGE
ডিভাইস নির্মাতা ওভাররাইড অ্যাপের কনফিগারেশন নির্বিশেষে অ্যাপের আকৃতির অনুপাত 16:9 এ সেট করে।
Android 14 QPR1 ব্যবহারকারীদের বড় স্ক্রিনের ডিভাইসে একটি নতুন সেটিংস মেনুর মাধ্যমে প্রতি-অ্যাপ ওভাররাইড প্রয়োগ করতে সক্ষম করে।
অ্যাপ স্ক্রিন শেয়ারিং
অ্যাপ স্ক্রিন শেয়ারিং ব্যবহারকারীদের স্ক্রিন সামগ্রী রেকর্ডিংয়ের সময় পুরো ডিভাইস স্ক্রীনের পরিবর্তে একটি অ্যাপ উইন্ডো শেয়ার করতে সক্ষম করে।
অ্যাপ স্ক্রিন ভাগ করে নেওয়ার সাথে, স্ট্যাটাস বার, নেভিগেশন বার, বিজ্ঞপ্তি এবং অন্যান্য সিস্টেম UI উপাদানগুলি ভাগ করা ডিসপ্লে থেকে বাদ দেওয়া হয়। শুধুমাত্র নির্বাচিত অ্যাপের বিষয়বস্তু শেয়ার করা হয়।
অ্যাপ স্ক্রিন শেয়ারিং ব্যবহারকারীদের একাধিক অ্যাপ চালাতে সক্ষম করার মাধ্যমে উৎপাদনশীলতা এবং গোপনীয়তা উন্নত করে কিন্তু কন্টেন্ট শেয়ারিংকে একটি অ্যাপে সীমিত করে।
Pixel 8 Pro-এ Gboard-এ LLM-চালিত স্মার্ট রিপ্লাই
On Pixel 8 Pro devices with the December Feature Drop, developers can try out higher-quality smart replies in Gboard powered by on-device Large Language Models (LLMs) running on Google Tensor.
This feature is available as a limited preview for US English in WhatsApp, Line, and KakaoTalk. It requires using a Pixel 8 Pro device with Gboard as your keyboard.
To try it out, first enable the feature in Settings > Developer Options > AiCore Settings > Enable Aicore Persistent.
Next, open a conversation in a supported app to see LLM-powered Smart Reply in Gboard's suggestion strip in response to incoming messages.
গ্রাফিক্স
পথগুলি অনুসন্ধানযোগ্য এবং ইন্টারপোলেটেবল
অ্যান্ড্রয়েডের Path
এপিআই হল ভেক্টর গ্রাফিক্স তৈরি এবং রেন্ডার করার জন্য একটি শক্তিশালী এবং নমনীয় প্রক্রিয়া, একটি পাথ স্ট্রোক বা পূরণ করার ক্ষমতা, লাইন সেগমেন্ট বা চতুর্ভুজ বা ঘনবক্ররেখা থেকে একটি পথ তৈরি করা, আরও জটিল আকার পেতে বুলিয়ান অপারেশন সম্পাদন করা, বা সমস্ত এই একযোগে. একটি সীমাবদ্ধতা হল একটি পথ বস্তুতে আসলে কী আছে তা খুঁজে বের করার ক্ষমতা; বস্তুর অভ্যন্তরীণগুলি সৃষ্টির পরে কলারদের কাছে অস্বচ্ছ।
একটি Path
তৈরি করতে, আপনি পাথ সেগমেন্ট যোগ করার জন্য moveTo()
, lineTo()
, এবং cubicTo()
এর মতো পদ্ধতিগুলিকে কল করুন৷ কিন্তু সেগমেন্টগুলি কী তা জিজ্ঞাসা করার কোনও উপায় নেই, তাই আপনাকে সৃষ্টির সময় সেই তথ্যটি ধরে রাখতে হবে।
অ্যান্ড্রয়েড 14 থেকে শুরু করে, আপনি সেগুলির ভিতরে কী আছে তা খুঁজে পেতে পাথগুলি অনুসন্ধান করতে পারেন৷ প্রথমে, আপনাকে Path.getPathIterator
API ব্যবহার করে একটি PathIterator
অবজেক্ট পেতে হবে:
কোটলিন
val path = Path().apply { moveTo(1.0f, 1.0f) lineTo(2.0f, 2.0f) close() } val pathIterator = path.pathIterator
জাভা
Path path = new Path(); path.moveTo(1.0F, 1.0F); path.lineTo(2.0F, 2.0F); path.close(); PathIterator pathIterator = path.getPathIterator();
এর পরে, আপনি প্রতিটি সেগমেন্টের জন্য প্রয়োজনীয় সমস্ত ডেটা পুনরুদ্ধার করে একের পর এক সেগমেন্টের মাধ্যমে পুনরাবৃত্তি করতে PathIterator
কল করতে পারেন। এই উদাহরণটি PathIterator.Segment
অবজেক্ট ব্যবহার করে, যা আপনার জন্য ডেটা প্যাকেজ করে:
কোটলিন
for (segment in pathIterator) { println("segment: ${segment.verb}, ${segment.points}") }
জাভা
while (pathIterator.hasNext()) { PathIterator.Segment segment = pathIterator.next(); Log.i(LOG_TAG, "segment: " + segment.getVerb() + ", " + segment.getPoints()); }
PathIterator
এর একটি নন-অ্যালোকেটিং সংস্করণ রয়েছে next()
যেখানে আপনি পয়েন্ট ডেটা ধরে রাখতে একটি বাফারে পাস করতে পারেন।
Path
ডেটা অনুসন্ধানের গুরুত্বপূর্ণ ব্যবহারের ক্ষেত্রে একটি হল ইন্টারপোলেশন। উদাহরণস্বরূপ, আপনি দুটি ভিন্ন পথের মধ্যে অ্যানিমেট (বা morph ) করতে চাইতে পারেন। সেই ব্যবহারের ক্ষেত্রে আরও সরল করার জন্য, Android 14-এ Path
interpolate()
পদ্ধতিও অন্তর্ভুক্ত রয়েছে। দুটি পাথের একই অভ্যন্তরীণ কাঠামো রয়েছে বলে ধরে নিলে, interpolate()
পদ্ধতিটি সেই ইন্টারপোলেটেড ফলাফলের সাথে একটি নতুন Path
তৈরি করে। এই উদাহরণটি এমন একটি পথ প্রদান করে যার আকৃতি অর্ধেক পথ (.5 এর রৈখিক ইন্টারপোলেশন) path
এবং otherPath
মধ্যে:
কোটলিন
val interpolatedResult = Path() if (path.isInterpolatable(otherPath)) { path.interpolate(otherPath, .5f, interpolatedResult) }
জাভা
Path interpolatedResult = new Path(); if (path.isInterpolatable(otherPath)) { path.interpolate(otherPath, 0.5F, interpolatedResult); }
জেটপ্যাক গ্রাফিক্স-পাথ লাইব্রেরি অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলির জন্যও অনুরূপ API সক্ষম করে।
শীর্ষবিন্দু এবং খণ্ড শেডার সহ কাস্টম মেশ
অ্যান্ড্রয়েড দীর্ঘকাল ধরে কাস্টম শেডিং সহ ত্রিভুজ মেশ অঙ্কনকে সমর্থন করেছে, তবে ইনপুট জাল বিন্যাসটি কয়েকটি পূর্বনির্ধারিত বৈশিষ্ট্য সংমিশ্রণে সীমাবদ্ধ রয়েছে। অ্যান্ড্রয়েড 14 কাস্টম মেশের জন্য সমর্থন যোগ করে, যেটিকে ত্রিভুজ বা ত্রিভুজ স্ট্রিপ হিসাবে সংজ্ঞায়িত করা যেতে পারে এবং ঐচ্ছিকভাবে সূচিবদ্ধ করা যেতে পারে। এই জালগুলি AGSL- এ লেখা কাস্টম বৈশিষ্ট্য , শীর্ষবিন্দু স্ট্রাইড, ভিন্নতা , এবং শীর্ষবিন্দু এবং খণ্ড শেডার দিয়ে নির্দিষ্ট করা হয়েছে।
ভার্টেক্স শেডার বিভিন্নতাকে সংজ্ঞায়িত করে, যেমন অবস্থান এবং রঙ, যখন ফ্র্যাগমেন্ট শেডার ঐচ্ছিকভাবে পিক্সেলের জন্য রঙকে সংজ্ঞায়িত করতে পারে, সাধারণত ভার্টেক্স শেডার দ্বারা সৃষ্ট ভিন্নতা ব্যবহার করে। যদি ফ্র্যাগমেন্ট শেডার দ্বারা রঙ প্রদান করা হয়, তাহলে এটি জাল আঁকার সময় নির্বাচিত ব্লেন্ড মোড ব্যবহার করে বর্তমান Paint
রঙের সাথে মিশ্রিত করা হয়। অতিরিক্ত নমনীয়তার জন্য ইউনিফর্মগুলিকে খণ্ড এবং শীর্ষবিন্দুতে প্রেরণ করা যেতে পারে।
ক্যানভাসের জন্য হার্ডওয়্যার বাফার রেন্ডারার
HardwareBuffer
হার্ডওয়্যার ত্বরণের সাথে আঁকতে অ্যান্ড্রয়েডের Canvas
এপিআই ব্যবহারে সহায়তা করার জন্য, Android 14 HardwareBufferRenderer
প্রবর্তন করেছে। এই APIটি বিশেষভাবে উপযোগী হয় যখন আপনার ব্যবহারের ক্ষেত্রে SurfaceControl
মাধ্যমে সিস্টেম কম্পোজিটরের সাথে কম-লেটেন্সি অঙ্কনের জন্য যোগাযোগ জড়িত থাকে।