বৈশিষ্ট্য এবং APIs ওভারভিউ

অ্যান্ড্রয়েড ১২ ডেভেলপারদের জন্য দারুণ কিছু নতুন ফিচার এবং এপিআই নিয়ে এসেছে। নিচের বিভাগগুলো আপনাকে আপনার অ্যাপের জন্য ফিচারগুলো সম্পর্কে জানতে এবং সংশ্লিষ্ট এপিআইগুলো দিয়ে কাজ শুরু করতে সাহায্য করবে।

নতুন, পরিবর্তিত এবং অপসারিত API-গুলির বিস্তারিত তালিকার জন্য API diff রিপোর্টটি পড়ুন। নতুন API-গুলির বিশদ বিবরণের জন্য Android API রেফারেন্স দেখুন — নতুন API-গুলি সহজে চোখে পড়ার জন্য হাইলাইট করা থাকে। এছাড়াও, প্ল্যাটফর্মের পরিবর্তনগুলি আপনার অ্যাপগুলিকে কোন কোন ক্ষেত্রে প্রভাবিত করতে পারে সে সম্পর্কে জানতে, Android 12-কে টার্গেট করা অ্যাপগুলির জন্য এবং সমস্ত অ্যাপের জন্য Android 12-এর আচরণগত পরিবর্তনগুলি অবশ্যই দেখে নিন।

ব্যবহারকারীর অভিজ্ঞতা

উপাদান আপনি

অ্যান্ড্রয়েড ১২ ‘মেটেরিয়াল ইউ’ নামে একটি নতুন ডিজাইন ল্যাঙ্গুয়েজ নিয়ে এসেছে, যা আপনাকে আরও ব্যক্তিগতকৃত ও সুন্দর অ্যাপ তৈরি করতে সাহায্য করে। আপনার অ্যাপে মেটেরিয়াল ডিজাইন ৩-এর সব সাম্প্রতিক আপডেট আনতে, মেটেরিয়াল ডিজাইন কম্পোনেন্টস -এর একটি আলফা সংস্করণ ব্যবহার করে দেখুন।

উপাদান আপনি

উইজেটের উন্নতি

অ্যান্ড্রয়েড ১২ প্ল্যাটফর্ম এবং লঞ্চারগুলিতে ব্যবহারকারী ও ডেভেলপারদের অভিজ্ঞতা উন্নত করার জন্য বিদ্যমান উইজেট এপিআই-কে নতুন করে সাজিয়েছে। আপনার উইজেটটি অ্যান্ড্রয়েড ১২-এর সাথে সামঞ্জস্যপূর্ণ কিনা তা নিশ্চিত করতে এবং নতুন বৈশিষ্ট্য দিয়ে এটিকে সতেজ করতে সাহায্য করার জন্য আমরা একটি নির্দেশিকা তৈরি করেছি।

আরও তথ্যের জন্য অ্যান্ড্রয়েড ১২ উইজেটের উন্নতিসমূহ দেখুন।

সমৃদ্ধ বিষয়বস্তু সন্নিবেশ

অ্যান্ড্রয়েড ১২ একটি নতুন সমন্বিত এপিআই চালু করেছে, যা আপনার অ্যাপকে ক্লিপবোর্ড, কিবোর্ড বা ড্র্যাগ অ্যান্ড ড্রপের মতো যেকোনো উপলব্ধ উৎস থেকে রিচ কন্টেন্ট গ্রহণ করতে দেয়।

আরও তথ্যের জন্য, ‘সমৃদ্ধ কন্টেন্ট গ্রহণ করুন’ দেখুন।

অ্যাপ স্প্ল্যাশ স্ক্রিন এপিআই

অ্যান্ড্রয়েড ১২ সকল অ্যাপের জন্য একটি নতুন অ্যাপ লঞ্চ অ্যানিমেশন চালু করেছে, যার মধ্যে রয়েছে অ্যাপটি চালু হওয়ার মুহূর্ত থেকে এর ভেতরে প্রবেশ, অ্যাপ আইকন দেখানো একটি স্প্ল্যাশ স্ক্রিন এবং সবশেষে সরাসরি অ্যাপটিতে চলে যাওয়া। আরও বিস্তারিত জানতে স্প্ল্যাশ স্ক্রিন ডেভেলপার গাইডটি দেখুন।

গোলাকার কোণার এপিআই

অ্যান্ড্রয়েড ১২-এ RoundedCorner এবং WindowInsets.getRoundedCorner(int position) চালু করা হয়েছে, যা গোলাকার কোণার জন্য ব্যাসার্ধ এবং কেন্দ্রবিন্দু নির্ধারণ করে দেয়।

আরও তথ্যের জন্য, গোলাকার কোণা দেখুন।

সমৃদ্ধ স্পর্শানুভূতি

অ্যান্ড্রয়েড ১২ ইউআই ইভেন্টের জন্য তথ্যপূর্ণ হ্যাপটিক ফিডব্যাক, গেমিংয়ের জন্য নিমগ্নকারী ও আনন্দদায়ক ইফেক্ট এবং কর্মদক্ষতার জন্য মনোযোগ আকর্ষণকারী হ্যাপটিকস তৈরির টুলগুলোকে আরও প্রসারিত করেছে।

অ্যাকচুয়েটরের প্রভাব

অ্যান্ড্রয়েড ১২-এ লো টিকের মতো এক্সপ্রেসিভ ইফেক্ট যুক্ত করা হয়েছে, যা সর্বশেষ অ্যাকচুয়েটরগুলোর বিস্তৃত ফ্রিকোয়েন্সি ব্যান্ডউইথের সুবিধা গ্রহণ করে। গেম ডেভেলপাররা এখন গেম কন্ট্রোলারে একাধিক ভিন্ন অ্যাকচুয়েটরকে স্বাধীনভাবে অ্যাক্সেস করতে পারবেন, যাতে একই ইফেক্ট সিনক্রোনাসলি বা একাধিক অ্যাকচুয়েটরে ভিন্ন ভিন্ন হ্যাপটিক ইফেক্ট প্রয়োগ করা যায়। ডেভেলপারদের জন্য, আমরা সমৃদ্ধ হ্যাপটিক ইফেক্ট তৈরির বিল্ডিং ব্লক হিসেবে কনস্ট্যান্ট এবং প্রিমিটিভগুলো ব্যবহারের পরামর্শ দিই — UI ইভেন্টগুলোকে উন্নত করতে কনস্ট্যান্ট এবং আরও জটিল ইফেক্টের জন্য প্রিমিটিভগুলোকে সিকোয়েন্স করতে হ্যাপটিক কম্পোজার । এই API-গুলো পিক্সেল ৪ ডিভাইসে ব্যবহার করে দেখা যাবে, এবং আমরা আমাদের ডিভাইস-নির্মাতা পার্টনারদের সাথে কাজ করে যাচ্ছি যাতে ইকোসিস্টেম জুড়ে ব্যবহারকারীদের কাছে হ্যাপটিক্স সাপোর্টের সর্বশেষ সংস্করণ পৌঁছে দেওয়া যায়।

অডিও-সংযুক্ত স্পর্শজনিত প্রভাব

অ্যান্ড্রয়েড ১২ অ্যাপগুলো ফোনের ভাইব্রেটর ব্যবহার করে অডিও সেশন থেকে হ্যাপটিক ফিডব্যাক তৈরি করতে পারে। এটি আরও বেশি ইমারসিভ গেম এবং অডিও অভিজ্ঞতার সুযোগ করে দেয়। উদাহরণস্বরূপ, হ্যাপটিক-বর্ধিত রিংটোন কলার শনাক্ত করতে সাহায্য করতে পারে, অথবা একটি ড্রাইভিং গেম বন্ধুর ভূখণ্ডের অনুভূতি অনুকরণ করতে পারে।

আরও তথ্যের জন্য HapticGenerator রেফারেন্স ডকুমেন্টেশন দেখুন।

অ্যাপসার্চ

অ্যান্ড্রয়েড ১২ একটি সিস্টেম সার্ভিস হিসেবে অ্যাপসার্চ (AppSearch) চালু করেছে, যা একটি উচ্চ-ক্ষমতাসম্পন্ন অন-ডিভাইস সার্চ ইঞ্জিন। অ্যাপসার্চ অ্যাপ্লিকেশনগুলোকে স্ট্রাকচার্ড ডেটা ইন্ডেক্স করতে এবং এর বিল্ট-ইন ফুল-টেক্সট সার্চ ক্ষমতার মাধ্যমে সেটির ওপর অনুসন্ধান চালাতে সাহায্য করে। এছাড়াও, অ্যাপসার্চ নেটিভ সার্চ ফিচারগুলো সমর্থন করে, যেমন—অত্যন্ত কার্যকর ইন্ডেক্সিং ও পুনরুদ্ধার, বহুভাষিক সমর্থন এবং প্রাসঙ্গিকতা অনুযায়ী র‍্যাঙ্কিং।

AppSearch-এর মধ্যে সূচীকরণ এবং অনুসন্ধান প্রক্রিয়া চিত্রিতকারী ডায়াগ্রাম।

অ্যাপসার্চ দুই ধরনের হয়ে থাকে: একটি হলো আপনার অ্যাপ্লিকেশনের ব্যবহারের জন্য একটি লোকাল ইনডেক্স, যা অ্যান্ড্রয়েডের পুরোনো সংস্করণগুলোর সাথে সামঞ্জস্যপূর্ণ; এবং অন্যটি হলো অ্যান্ড্রয়েড ১২-এ পুরো সিস্টেমের জন্য পরিচালিত একটি সেন্ট্রাল ইনডেক্স। সেন্ট্রাল ইনডেক্স ব্যবহার করে, আপনার অ্যাপ্লিকেশন সিস্টেমের আগে থেকে ইনস্টল করা ইন্টেলিজেন্স কম্পোনেন্টের মাধ্যমে সিস্টেম UI সারফেসে তার ডেটা প্রদর্শন করার অনুমতি দিতে পারে। সিস্টেম UI সারফেসে ঠিক কোন ডেটা প্রদর্শিত হবে, তা OEM-এর উপর নির্ভরশীল। এছাড়াও, আপনার অ্যাপ্লিকেশন অন্যান্য অ্যাপ্লিকেশনের সাথে নিরাপদে ডেটা শেয়ার করতে পারে, যাতে তারাও সেই ডেটার উপর অনুসন্ধান করতে পারে।

ডেভেলপার গাইডে AppSearch সম্পর্কে আরও জানুন, এবং AppSearch Jetpack লাইব্রেরির মাধ্যমে এটি ব্যবহার শুরু করুন, যা একটি ডেভেলপার-বান্ধব API সারফেসের পাশাপাশি অ্যানোটেশন প্রসেসর সাপোর্টও প্রদান করে।

গেম মোড

গেম মোড এপিআই এবং গেম মোড ইন্টারভেনশন আপনাকে ব্যবহারকারীর সেটিংস বা গেম-নির্দিষ্ট কনফিগারেশনের উপর ভিত্তি করে পারফরম্যান্স বা ব্যাটারি লাইফের মতো বৈশিষ্ট্যগুলোকে অগ্রাধিকার দিয়ে গেমপ্লে অপ্টিমাইজ করার সুযোগ দেয়।

আরও তথ্যের জন্য, গেম মোড দেখুন।

পিকচার-ইন-পিকচার (PiP) সুপারিশ এবং উন্নতি

অ্যান্ড্রয়েড ১২ পিআইপি মোডের জন্য নিম্নলিখিত উন্নতিগুলো নিয়ে এসেছে:

নতুন PiP অঙ্গভঙ্গির জন্য সমর্থন

অ্যান্ড্রয়েড ১২ এখন PiP উইন্ডোর জন্য স্ট্যাশিং এবং পিঞ্চ-টু-জুম জেসচার সমর্থন করে:

  • উইন্ডোটি স্ট্যাশ করতে, ব্যবহারকারী উইন্ডোটিকে বাম বা ডান প্রান্তে টেনে নিয়ে যেতে পারেন। উইন্ডোটি আনস্ট্যাশ করতে, ব্যবহারকারী স্ট্যাশ করা উইন্ডোটির দৃশ্যমান অংশে ট্যাপ করতে পারেন অথবা এটিকে টেনে বাইরে বের করে আনতে পারেন।

  • ব্যবহারকারী এখন পিঞ্চ-টু-জুম ব্যবহার করে PiP উইন্ডোর আকার পরিবর্তন করতে পারবেন।

অ্যান্ড্রয়েড ১২ ফুলস্ক্রিন এবং পিআইপি উইন্ডোগুলোর মধ্যে অ্যানিমেটেড ট্রানজিশনে বেশ কিছু বাহ্যিক উন্নতি এনেছে। আমরা দৃঢ়ভাবে সুপারিশ করছি যে আপনি প্রযোজ্য সমস্ত পরিবর্তন প্রয়োগ করুন; একবার তা করে ফেললে, এই পরিবর্তনগুলো আর কোনো কাজ ছাড়াই ফোল্ডেবল ও ট্যাবলেটের মতো বড় স্ক্রিনে স্বয়ংক্রিয়ভাবে মানিয়ে যাবে।

এই বৈশিষ্ট্যগুলো হলো নিম্নরূপ:

নতুন ফোন কল নোটিফিকেশন, যা আগত কলগুলোর গুরুত্ব অনুযায়ী ক্রম নির্ধারণের সুযোগ দেয়।

অ্যান্ড্রয়েড ১২ ফোন কলের জন্য Notification.CallStyle নামক নতুন একটি নোটিফিকেশন স্টাইল যুক্ত করেছে। এই টেমপ্লেটটি ব্যবহার করে আপনার অ্যাপ স্ট্যাটাস বারে একটি সুস্পষ্ট চিপ প্রদর্শন করে সক্রিয় কলের গুরুত্ব বোঝাতে পারে, যেখানে কলের সময় দেখানো হয়; ব্যবহারকারী এই চিপটিতে ট্যাপ করে তার কলে ফিরে যেতে পারেন।

যেহেতু আগত এবং চলমান কলগুলো ব্যবহারকারীদের জন্য সবচেয়ে গুরুত্বপূর্ণ, তাই এই নোটিফিকেশনগুলোকে সবার উপরে এবং আড়ালে রাখা হয়। এই ক্রমবিন্যাস সিস্টেমটিকে এই অগ্রাধিকারপ্রাপ্ত কলগুলোকে অন্যান্য ডিভাইসে ফরওয়ার্ড করার সুযোগও দেয়।

সকল প্রকার কলের জন্য নিম্নলিখিত কোডটি প্রয়োগ করুন।

কোটলিন

// Create a new call with the user as caller.
val incoming_caller = Person.Builder()
    .setName("Jane Doe")
    .setImportant(true)
    .build()

জাভা

// Create a new call with the user as caller.
Person incoming_caller = new Person.Builder()
    .setName("Jane Doe")
    .setImportant(true)
    .build();

ইনকামিং কলের জন্য কল স্টাইল নোটিফিকেশন তৈরি করতে forIncomingCall() ব্যবহার করুন।

কোটলিন

// Create a call style notification for an incoming call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
    .addPerson(incoming_caller)

জাভা

// Create a call style notification for an incoming call.
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
    .addPerson(incoming_caller);

চলমান কলের জন্য কল স্টাইলের নোটিফিকেশন তৈরি করতে forOngoingCall() ব্যবহার করুন।

কোটলিন

// Create a call style notification for an ongoing call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
    .addPerson(second_caller)

জাভা

// Create a call style notification for an ongoing call.
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
    .addPerson(second_caller);

কল স্ক্রিনিং করার জন্য কল স্টাইলের নোটিফিকেশন তৈরি করতে forScreeningCall() ব্যবহার করুন।

কোটলিন

// Create a call style notification for screening a call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent))
    .addPerson(second_caller)

জাভা

Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent))
    .addPerson(second_caller);

নোটিফিকেশনের জন্য উন্নত ইমেজ সাপোর্ট

অ্যান্ড্রয়েড ১২-এ, এখন আপনি MessagingStyle() এবং BigPictureStyle() নোটিফিকেশনে অ্যানিমেটেড ছবি যোগ করে আপনার অ্যাপের নোটিফিকেশন অভিজ্ঞতাকে আরও সমৃদ্ধ করতে পারেন। এছাড়াও, আপনার অ্যাপ এখন ব্যবহারকারীদের নোটিফিকেশন শেড থেকে মেসেজের উত্তর দেওয়ার সময় ছবিসহ মেসেজ পাঠানোর সুবিধা দিতে পারে।

জেসচার নেভিগেশনের জন্য ইমারসিভ মোডের উন্নতি

অ্যান্ড্রয়েড ১২ বিদ্যমান আচরণকে আরও সুসংহত করেছে, যাতে ব্যবহারকারীরা ইমার্সিভ মোডে থাকাকালীন জেসচার নেভিগেশন কমান্ডগুলো আরও সহজে সম্পাদন করতে পারেন। এছাড়াও, অ্যান্ড্রয়েড ১২ স্টিকি ইমার্সিভ মোডের জন্য ব্যাকওয়ার্ড কম্প্যাটিবিলিটি আচরণ প্রদান করে।

সাম্প্রতিক ইউআরএল শেয়ারিং (শুধুমাত্র পিক্সেল)

পিক্সেল ডিভাইসগুলিতে, ব্যবহারকারীরা এখন রিসেন্টস স্ক্রিন থেকে সরাসরি সম্প্রতি দেখা ওয়েব কন্টেন্টের লিঙ্ক শেয়ার করতে পারবেন। কোনো অ্যাপে কন্টেন্টটি দেখার পর, ব্যবহারকারী রিসেন্টস স্ক্রিনে সোয়াইপ করে সেই অ্যাপটি খুঁজে বের করতে পারবেন যেখানে তিনি কন্টেন্টটি দেখেছিলেন, তারপর URL-টি কপি বা শেয়ার করার জন্য লিঙ্ক বোতামে ট্যাপ করতে পারবেন।

আরও তথ্যের জন্য, সাম্প্রতিক ইউআরএল শেয়ারিং সক্ষম করুন দেখুন।

নিরাপত্তা এবং গোপনীয়তা

গোপনীয়তা ড্যাশবোর্ড

একটি উল্লম্ব টাইমলাইন বিভিন্ন অ্যাপগুলো দেখায় যেগুলো অবস্থানের তথ্য অ্যাক্সেস করেছে, এবং কখন সেই অ্যাক্সেসগুলো ঘটেছে।
চিত্র ১. অবস্থান ব্যবহারের স্ক্রিন, যা প্রাইভেসি ড্যাশবোর্ডের একটি অংশ।

অ্যান্ড্রয়েড ১২ বা তার উচ্চতর সংস্করণে চালিত সমর্থিত ডিভাইসগুলিতে, সিস্টেম সেটিংসে একটি প্রাইভেসি ড্যাশবোর্ড স্ক্রিন দেখা যায়। এই স্ক্রিনে, ব্যবহারকারীরা আলাদা আলাদা স্ক্রিন দেখতে পারেন, যেখানে দেখানো হয় কখন অ্যাপগুলো লোকেশন, ক্যামেরা এবং মাইক্রোফোনের তথ্য অ্যাক্সেস করেছে। প্রতিটি স্ক্রিনে একটি টাইমলাইন দেখানো হয়, যেখানে উল্লেখ থাকে কখন বিভিন্ন অ্যাপ একটি নির্দিষ্ট ধরনের ডেটা অ্যাক্সেস করেছে। চিত্র ১-এ লোকেশন তথ্যের ডেটা অ্যাক্সেস টাইমলাইন দেখানো হয়েছে।

আপনার অ্যাপ কেন অবস্থান, ক্যামেরা বা মাইক্রোফোনের তথ্য অ্যাক্সেস করে, তা ব্যবহারকারীদের বুঝতে সাহায্য করার জন্য একটি যুক্তি প্রদান করতে পারে। এই যুক্তিটি নতুন প্রাইভেসি ড্যাশবোর্ড স্ক্রিনে, আপনার অ্যাপের পারমিশন স্ক্রিনে, অথবা উভয় স্থানেই প্রদর্শিত হতে পারে।

ব্লুটুথ অনুমতি

অ্যান্ড্রয়েড ১২-এ BLUETOOTH_SCAN , BLUETOOTH_ADVERTISE এবং BLUETOOTH_CONNECT পারমিশনগুলো চালু করা হয়েছে। এই পারমিশনগুলো অ্যান্ড্রয়েড ১২-এর জন্য তৈরি অ্যাপগুলোর পক্ষে ব্লুটুথ ডিভাইসের সাথে যোগাযোগ করা সহজ করে তোলে, বিশেষ করে সেইসব অ্যাপের জন্য যাদের ডিভাইসের লোকেশন অ্যাক্সেসের প্রয়োজন হয় না।

আপনার অ্যাপের ব্লুটুথ অনুমতি ঘোষণাগুলি আপডেট করুন

আপনার ডিভাইসকে অ্যান্ড্রয়েড ১২ বা তার উচ্চতর সংস্করণের জন্য প্রস্তুত করতে, আপনার অ্যাপের লজিক আপডেট করুন। পুরোনো ব্লুটুথ পারমিশন সেট ঘোষণা করার পরিবর্তে, আরও আধুনিক ব্লুটুথ পারমিশন সেট ঘোষণা করুন।

অনুমতি গ্রুপ অনুসন্ধান

অ্যান্ড্রয়েড ১২ বা তার পরবর্তী সংস্করণে, সিস্টেম কীভাবে প্ল্যাটফর্ম-প্রদত্ত অনুমতিগুলোকে অনুমতি গ্রুপে ভাগ করে, তা আপনি জানতে পারেন:

  • সিস্টেম কোনো প্ল্যাটফর্ম-সংজ্ঞায়িত অনুমতিকে কোন অনুমতি গোষ্ঠীর অন্তর্ভুক্ত করেছে তা নির্ধারণ করতে, getGroupOfPlatformPermission() কল করুন।
  • সিস্টেম কোনো নির্দিষ্ট পারমিশন গ্রুপে যে প্ল্যাটফর্ম-সংজ্ঞায়িত পারমিশনগুলো রেখেছে, তা নির্ধারণ করতে getPlatformPermissionsForGroup() কল করুন।

অ্যাপ্লিকেশন ওভারলে উইন্ডোগুলি লুকান

ব্যবহারকারীরা যখন ডেভেলপারদের অ্যাপ ব্যবহার করেন, তখন তারা কী দেখতে পাবেন তার উপর ডেভেলপারদের আরও বেশি নিয়ন্ত্রণ দিতে, অ্যান্ড্রয়েড ১২ এমন অ্যাপ দ্বারা প্রদর্শিত ওভারলে উইন্ডোগুলো লুকানোর সুবিধা চালু করেছে, যেগুলোর SYSTEM_ALERT_WINDOW পারমিশন রয়েছে।

HIDE_OVERLAY_WINDOWS পারমিশনটি ডিক্লেয়ার করার পর, একটি অ্যাপ setHideOverlayWindows() কল করে এটি নির্দেশ করতে পারে যে, যখন অ্যাপটির নিজস্ব উইন্ডো দৃশ্যমান থাকবে, তখন TYPE_APPLICATION_OVERLAY টাইপের সমস্ত উইন্ডো হাইড হয়ে যাবে। লেনদেন নিশ্চিতকরণ ফ্লো-এর মতো সংবেদনশীল স্ক্রিন প্রদর্শন করার সময় অ্যাপগুলো এই কাজটি করতে পারে।

যেসব অ্যাপ TYPE_APPLICATION_OVERLAY ধরনের উইন্ডো প্রদর্শন করে, তাদের এমন বিকল্প বিবেচনা করা উচিত যা তাদের ব্যবহারের ক্ষেত্রে আরও উপযুক্ত হতে পারে, যেমন পিকচার-ইন-পিকচার বা বাবলস

পরিচিত স্বাক্ষরকারীদের অনুমতি সুরক্ষা ফ্ল্যাগ

অ্যান্ড্রয়েড ১২ থেকে, সিগনেচার-লেভেল পারমিশনের জন্য knownCerts অ্যাট্রিবিউটটি আপনাকে ডিক্লারেশনের সময় পরিচিত সাইনিং সার্টিফিকেটগুলোর ডাইজেস্ট উল্লেখ করার সুযোগ দেয়।

আপনার অ্যাপ এই অ্যাট্রিবিউটটি ঘোষণা করতে পারে এবং knownSigner ফ্ল্যাগটি ব্যবহার করতে পারে, যার ফলে ডিভাইস উৎপাদন ও প্রেরণের সময় অ্যাপগুলোকে স্বাক্ষর না করেই ডিভাইস ও অ্যাপগুলো অন্যান্য অ্যাপকে স্বাক্ষরের অনুমতি দিতে পারে।

ডিভাইসের বৈশিষ্ট্য প্রত্যয়ন

অ্যান্ড্রয়েড ১২ সেইসব অ্যাপের তালিকা প্রসারিত করেছে, যেগুলো নতুন কী তৈরি করার সময় অ্যাটেস্টেশন সার্টিফিকেটে থাকা ডিভাইসের বৈশিষ্ট্যগুলো যাচাই করতে পারে।

অ্যান্ড্রয়েড ৯ (এপিআই লেভেল ২৮) থেকে, যেসব ডিভাইস পলিসি ওনার (ডিপিও) কীমাস্টার ৪.০ বা তার উচ্চতর সংস্করণ ব্যবহার করেন, তারা এই অ্যাটেস্টেশন সার্টিফিকেটগুলোতে থাকা ডিভাইসের বৈশিষ্ট্যগুলো যাচাই করতে পারেন। অ্যান্ড্রয়েড ১২ থেকে, অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে এমন যেকোনো অ্যাপ setDevicePropertiesAttestationIncluded() মেথড ব্যবহার করে এই যাচাইকরণটি করতে পারে।

তৈরি হওয়া ডিভাইস প্রোপার্টিগুলোর মধ্যে নিম্নলিখিত Build ফিল্ডগুলো অন্তর্ভুক্ত রয়েছে:

  • BRAND
  • DEVICE
  • MANUFACTURER
  • MODEL
  • PRODUCT

সুরক্ষিত লকস্ক্রিন বিজ্ঞপ্তি কার্যক্রম

অ্যান্ড্রয়েড ১২ থেকে, Notification.Action.Builder ক্লাসটি setAuthenticationRequired() মেথড সমর্থন করে, যা আপনার অ্যাপকে কোনো নির্দিষ্ট নোটিফিকেশন অ্যাকশন চালু করার আগে ডিভাইসটি আনলক করা আবশ্যক করার সুযোগ দেয়। এই মেথডটি লক করা ডিভাইসের নোটিফিকেশনে নিরাপত্তার একটি অতিরিক্ত স্তর যোগ করতে সাহায্য করে।

BiometricPrompt-এর জন্য স্থানীয়করণযোগ্য স্ট্রিং

অ্যান্ড্রয়েড ১২ আপনার অ্যাপের বায়োমেট্রিক অথেন্টিকেশন ইউজার এক্সপেরিয়েন্স উন্নত করতে সাহায্য করার জন্য নতুন এপিআই (API) নিয়ে এসেছে। নতুন BiometricManager.Strings নেস্টেড ক্লাসে getButtonLabel() , getPromptMessage() , এবং getSettingName() মেথডগুলো রয়েছে, যা আপনার অ্যাপকে ব্যবহারকারীর জন্য পাঠযোগ্য ও স্থানীয় ভাষায় বাটনের লেবেল, প্রম্পট মেসেজ, অথবা অ্যাপ সেটিংয়ের নাম সংগ্রহ করতে দেয়। ব্যবহৃত বায়োমেট্রিক অথেন্টিকেশন পদ্ধতির জন্য নির্দিষ্ট, আরও সুনির্দিষ্ট ইউজার-মুখী নির্দেশনা তৈরি করতে এই লেবেলগুলো ব্যবহার করুন, যেমন “ফেস আনলক ব্যবহার করুন” বা “চালিয়ে যাওয়ার জন্য আপনার আঙুলের ছাপ ব্যবহার করুন”।

মিডিয়া

সামঞ্জস্যপূর্ণ মিডিয়া ট্রান্সকোডিং

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) থেকে, সিস্টেমটি ডিভাইসে রেকর্ড করা HEVC (H.265) এবং HDR (HDR10 ও HDR10+) ভিডিওগুলোকে স্বয়ংক্রিয়ভাবে AVC (H.264) ফরম্যাটে ট্রান্সকোড করতে পারে, যা সাধারণ প্লেয়ারগুলোর সাথে ব্যাপকভাবে সামঞ্জস্যপূর্ণ। এর ফলে, পুরোনো অ্যাপ্লিকেশনগুলোর সাথে সামঞ্জস্যতা বজায় রেখেই, আধুনিক কোডেকগুলো উপলব্ধ থাকলে সেগুলোর সুবিধা নেওয়া যায়।

আরও বিস্তারিত জানতে সামঞ্জস্যপূর্ণ মিডিয়া ট্রান্সকোডিং দেখুন।

পারফরম্যান্স ক্লাস

অ্যান্ড্রয়েড ১২ ‘ পারফরম্যান্স ক্লাস’ নামে একটি স্ট্যান্ডার্ড চালু করেছে। একটি পারফরম্যান্স ক্লাস অ্যান্ড্রয়েডের সাধারণ প্রয়োজনীয়তার বাইরে হার্ডওয়্যারের সক্ষমতা নির্দিষ্ট করে। প্রতিটি অ্যান্ড্রয়েড ডিভাইস তার সমর্থিত পারফরম্যান্স ক্লাসটি ঘোষণা করে। ডেভেলপাররা রানটাইমে ডিভাইসটির পারফরম্যান্স ক্লাস পরীক্ষা করতে পারেন এবং ডিভাইসটির সক্ষমতার পূর্ণ সদ্ব্যবহার করে উন্নত অভিজ্ঞতা প্রদান করতে পারেন।

আরও বিস্তারিত জানতে পারফরম্যান্স ক্লাস দেখুন।

ভিডিও এনকোডিং উন্নত করা হয়েছে

অ্যান্ড্রয়েড ১২ ভিডিও এনকোডিংয়ের জন্য কোয়ান্টাইজেশন প্যারামিটার (QP) মান নিয়ন্ত্রণের উদ্দেশ্যে একগুচ্ছ স্ট্যান্ডার্ড কী নির্ধারণ করেছে, যা ডেভেলপারদের ভেন্ডর-নির্দিষ্ট কোড ব্যবহার করা থেকে বিরত থাকতে সাহায্য করে।

নতুন কীগুলো MediaFormat API এবং NDK Media লাইব্রেরিতে পাওয়া যায়।

অ্যান্ড্রয়েড ১২ থেকে ভিডিও এনকোডারগুলো একটি ন্যূনতম মানের সীমা নির্ধারণ করে। এটি নিশ্চিত করে যে, উচ্চ দৃশ্য জটিলতা সম্পন্ন ভিডিও এনকোড করার সময় ব্যবহারকারীরা যেন অত্যন্ত নিম্নমানের সম্মুখীন না হন।

অডিও ফোকাস

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) থেকে, যখন অন্য কোনো অ্যাপ ফোকাসে থেকে অডিও প্লে করতে থাকে এবং কোনো অ্যাপ সেটির জন্য ফোকাস অনুরোধ করে, তখন সিস্টেম প্লে হতে থাকা অ্যাপটিকে ধীরে ধীরে অদৃশ্য করে দেয়।

আরও বিস্তারিত জানতে অ্যান্ড্রয়েড ১২ এবং তার পরবর্তী সংস্করণগুলিতে অডিও ফোকাস দেখুন।

মিডিয়াডিআরএম আপডেট

বর্তমান MediaDrm API-গুলোর সাথে একটি সুরক্ষিত ডিকোডার উপাদানের প্রয়োজন আছে কিনা তা নির্ধারণ করতে, আপনাকে অবশ্যই এই ধাপগুলো অনুসরণ করতে হবে:

  1. একটি MediaDrm তৈরি করুন।
  2. সেশন আইডি পেতে একটি সেশন খুলুন।
  3. সেশন আইডি ব্যবহার করে একটি MediaCrypto তৈরি করুন।
  4. MediaCrypto.requiresSecureDecoderComponent(mimeType) কল করুন।

নতুন requiresSecureDecoder(@NonNull String mime) এবং requiresSecureDecoder(@NonNull String mime, @SecurityLevel int level) মেথডগুলোর সাহায্যে আপনি একটি MediaDrm তৈরি করার সাথে সাথেই এটি নির্ধারণ করতে পারেন।

ক্যামেরা

ক্যামেরা২ বিক্রেতার এক্সটেনশন

আমাদের অনেক ডিভাইস নির্মাতা অংশীদাররা বোকে, এইচডিআর, নাইট মোড এবং অন্যান্য কাস্টম ক্যামেরা এক্সটেনশন তৈরি করেছেন, যা তারা চান অ্যাপগুলো তাদের ডিভাইসে স্বতন্ত্র অভিজ্ঞতা তৈরির জন্য ব্যবহার করুক। CameraX লাইব্রেরিটি ইতিমধ্যেই এই কাস্টম ভেন্ডর এক্সটেনশনগুলোকে সমর্থন করে। অ্যান্ড্রয়েড ১২-এ, এই ভেন্ডর এক্সটেনশনগুলো এখন সরাসরি প্ল্যাটফর্মে উপলব্ধ করা হয়েছে।

এই সংযোজনটি জটিল Camera2 ইমপ্লিমেন্টেশনযুক্ত অ্যাপগুলিকে লিগ্যাসি কোডে বড় ধরনের পরিবর্তন না করেই ভেন্ডর এক্সটেনশনগুলির সুবিধা নিতে সাহায্য করে। Camera2 এক্সটেনশন API-গুলি CameraX-এর মতোই হুবহু একই এক্সটেনশন সেট প্রদান করে, এবং সেগুলি ইতিমধ্যেই বিভিন্ন ডিভাইসে সমর্থিত, তাই আপনি কোনো অতিরিক্ত কনফিগারেশন ছাড়াই সেগুলি ব্যবহার করতে পারেন।

আরও তথ্যের জন্য, CameraExtensionCharacteristics দেখুন।

কোয়াড বেয়ার ক্যামেরা সেন্সর সমর্থন

আজকাল অনেক অ্যান্ড্রয়েড ডিভাইসেই আল্ট্রা হাই-রেজোলিউশন ক্যামেরা সেন্সর থাকে, যেগুলোতে সাধারণত কোয়াড বা নোনা বেয়ার প্যাটার্ন ব্যবহার করা হয়, এবং এগুলো ছবির মান ও কম আলোতে পারফরম্যান্সের ক্ষেত্রে দারুণ নমনীয়তা প্রদান করে। অ্যান্ড্রয়েড ১২ নতুন প্ল্যাটফর্ম এপিআই (API) নিয়ে এসেছে, যা থার্ড-পার্টি অ্যাপগুলোকে এই বহুমুখী সেন্সরগুলোর সম্পূর্ণ সুবিধা নিতে সাহায্য করে। নতুন এপিআইগুলো এই সেন্সরগুলোর স্বতন্ত্র আচরণকে সমর্থন করে এবং এটিও বিবেচনা করে যে, ফুল রেজোলিউশন বা 'সর্বোচ্চ রেজোলিউশন' মোডের তুলনায় 'ডিফল্ট' মোডে কাজ করার সময় সেন্সরগুলো ভিন্ন ভিন্ন স্ট্রিম কনফিগারেশন ও কম্বিনেশন সমর্থন করতে পারে।

গ্রাফিক্স এবং ছবি

অ্যাপগুলিকে সমাধিলিপির চিহ্নগুলিতে সরাসরি অ্যাক্সেস দিন

অ্যান্ড্রয়েড ১২ থেকে, আপনি ApplicationExitInfo.getTraceInputStream() মেথডের মাধ্যমে আপনার অ্যাপের নেটিভ ক্র্যাশ টুম্বস্টোনকে একটি প্রোটোকল বাফার হিসেবে অ্যাক্সেস করতে পারবেন। এই স্কিমা ব্যবহার করে প্রোটোকল বাফারটি সিরিয়ালাইজ করা হয়। পূর্বে, এই তথ্য অ্যাক্সেস করার একমাত্র উপায় ছিল অ্যান্ড্রয়েড ডিবাগ ব্রিজ (adb)।

আরও তথ্যের জন্য, ‘অ্যাপগুলিকে সমাধিফলকের চিহ্নগুলিতে সরাসরি অ্যাক্সেস দিন’ দেখুন।

AVIF ইমেজ সাপোর্ট

অ্যান্ড্রয়েড ১২-এ এভি১ ইমেজ ফাইল ফরম্যাট (AVIF) ব্যবহৃত ইমেজের জন্য সাপোর্ট যুক্ত করা হয়েছে। এভিআইএফ হলো এভি১ ব্যবহার করে এনকোড করা ইমেজ এবং ইমেজের সিকোয়েন্সের জন্য একটি কন্টেইনার ফরম্যাট। এভিআইএফ ভিডিও কম্প্রেশন থেকে প্রাপ্ত ইন্ট্রা-ফ্রেম এনকোডেড কন্টেন্টের সুবিধা গ্রহণ করে। এর ফলে, জেপিইজি-এর মতো পুরোনো ইমেজ ফরম্যাটের তুলনায় একই ফাইল সাইজে ইমেজের কোয়ালিটি নাটকীয়ভাবে উন্নত হয়। এই ফরম্যাটের সুবিধাগুলো সম্পর্কে বিস্তারিত জানতে জেক আর্চিবল্ডের ব্লগ পোস্টটি দেখুন।

আরও সহজ ব্লার, কালার ফিল্টার এবং অন্যান্য ইফেক্ট

অ্যান্ড্রয়েড ১২-এ নতুন RenderEffect যুক্ত করা হয়েছে, যা View এবং রেন্ডারিং হায়ারার্কিতে ব্লার, কালার ফিল্টার, অ্যান্ড্রয়েড শেডার ইফেক্টের মতো সাধারণ গ্রাফিক্স ইফেক্ট প্রয়োগ করে। ইফেক্টগুলোকে চেইন ইফেক্ট (যা একটি অভ্যন্তরীণ এবং একটি বাহ্যিক ইফেক্ট নিয়ে গঠিত) অথবা ব্লেন্ডেড ইফেক্ট হিসেবে একত্রিত করা যায়। সীমিত প্রসেসিং ক্ষমতার কারণে বিভিন্ন অ্যান্ড্রয়েড ডিভাইসে এই ফিচারটি সমর্থিত নাও হতে পারে।

View.setRenderEffect(RenderEffect) কল করার মাধ্যমে View -এর অন্তর্নিহিত RenderNode এও ইফেক্ট প্রয়োগ করা যায়।

একটি RenderEffect প্রয়োগ করতে:

view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))

নেটিভ অ্যানিমেটেড ইমেজ ডিকোডিং

অ্যান্ড্রয়েড ১২-এ, অ্যানিমেটেড GIF এবং অ্যানিমেটেড WebP ফাইল ফরম্যাট ব্যবহার করা ছবিগুলোর সমস্ত ফ্রেম ও টাইমিং ডেটা ডিকোড করার জন্য NDK ImageDecoder API-কে সম্প্রসারিত করা হয়েছে। অ্যান্ড্রয়েড ১১-এ যখন এটি চালু করা হয়েছিল, তখন এই API-টি এই ফরম্যাটগুলোর অ্যানিমেশন থেকে শুধুমাত্র প্রথম ছবিটি ডিকোড করত।

APK ফাইলের আকার আরও কমাতে এবং নিরাপত্তা ও পারফরম্যান্স সম্পর্কিত ভবিষ্যৎ আপডেটগুলোর সুবিধা পেতে থার্ড-পার্টি লাইব্রেরির পরিবর্তে ImageDecoder ব্যবহার করুন।

এপিআই সম্পর্কে আরও বিস্তারিত জানতে, গিটহাবে থাকা এপিআই রেফারেন্স এবং নমুনাটি দেখুন।

সংযোগ

সহযোগী অ্যাপগুলোকে সজাগ রাখা

ডিভাইসটি পরিচালনা করার জন্য কম্প্যানিয়ন অ্যাপগুলোকে চালু রাখার প্রয়োজনীয়তা মেটাতে, অ্যান্ড্রয়েড ১২ এমন কিছু এপিআই (API) চালু করেছে যা নিম্নলিখিত কাজগুলো করে:

  • যখন কোনো সহযোগী ডিভাইস সীমার মধ্যে থাকে, তখন অ্যাপটিকে সক্রিয় করার সুবিধা দেয়।
  • ডিভাইসটি সীমার মধ্যে থাকা পর্যন্ত প্রক্রিয়াটি চলতে থাকবে তা নিশ্চিত করুন।

এপিআইগুলো ব্যবহার করার জন্য, আপনার ডিভাইসগুলোকে অবশ্যই কম্প্যানিয়ন ডিভাইস ম্যানেজার ব্যবহার করে সংযুক্ত করতে হবে। আরও তথ্যের জন্য, CompanionDeviceManager.startObservingDevicePresence() এবং CompanionDeviceService.onDeviceAppeared() দেখুন।

সহযোগী ডিভাইস ম্যানেজার প্রোফাইল

একটি অনুমতি ডায়ালগ, যা একটি সহযোগী ডিভাইস প্রোফাইল ব্যবহার করে একই অনুরোধে একাধিক অনুমতি চায়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণের পার্টনার অ্যাপগুলো কোনো ঘড়ির সাথে সংযোগ করার সময় কম্প্যানিয়ন ডিভাইস প্রোফাইল ব্যবহার করতে পারে। প্রোফাইল ব্যবহার করলে এনরোলমেন্ট প্রক্রিয়াটি সহজ হয়ে যায়, কারণ এর মাধ্যমে ডিভাইস-টাইপ-নির্দিষ্ট কিছু অনুমতি প্রদানের কাজটি একটি ধাপেই সম্পন্ন হয়।

ডিভাইসটি সংযুক্ত হওয়ার পর সহযোগী অ্যাপটিকে বান্ডেল করা অনুমতিগুলো দেওয়া হয় এবং ডিভাইসটি সংযুক্ত থাকা পর্যন্তই তা স্থায়ী থাকে। অ্যাপটি ডিলিট করলে বা সংযোগটি সরিয়ে দিলে অনুমতিগুলোও মুছে যায়।

আরও তথ্যের জন্য, AssociationRequest.Builder.setDeviceProfile() দেখুন।

ব্যান্ডউইথ অনুমানের উন্নতি

অ্যান্ড্রয়েড ১২-এ, ওয়াই-ফাই এবং সেলুলার উভয় কানেক্টিভিটির জন্যই getLinkDownstreamBandwidthKbps() এবং getLinkUpstreamBandwidthKbps() দ্বারা প্রদত্ত ব্যান্ডউইথ অনুমান করার ক্ষমতা উন্নত করা হয়েছে। এখন ফেরত আসা মানগুলো ডিভাইসের সমস্ত অ্যাপ্লিকেশন জুড়ে, প্রতিটি ক্যারিয়ার বা ওয়াইফাই এসএসআইডি, নেটওয়ার্কের ধরন এবং সিগন্যাল লেভেল অনুযায়ী ব্যবহারকারীর সর্বকালীন ওয়েটেড অ্যাভারেজ থ্রুপুটকে নির্দেশ করে। এটি প্রত্যাশিত থ্রুপুটের আরও নির্ভুল ও বাস্তবসম্মত অনুমান দিতে পারে, আপনার অ্যাপ্লিকেশন কোল্ড স্টার্ট করার সময়ও অনুমান সরবরাহ করতে পারে এবং অন্যান্য থ্রুপুট অনুমান পদ্ধতির তুলনায় কম সাইকেল প্রয়োজন হয়।

Wi-Fi Aware (NAN) বর্ধিতকরণ

অ্যান্ড্রয়েড ১২ ওয়াই-ফাই অ্যাওয়্যার-এ কিছু উন্নতি এনেছে:

  • অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং এর চেয়ে উন্নত সংস্করণে চালিত ডিভাইসগুলোতে, কোনো সার্ভিস বন্ধ হয়ে যাওয়া বা সীমার বাইরে চলে যাওয়ার কারণে আপনার অ্যাপ যখন কোনো আবিষ্কৃত সার্ভিস হারিয়ে ফেলে, তখন সতর্কবার্তা পাওয়ার জন্য আপনি onServiceLost() কলব্যাকটি ব্যবহার করতে পারেন।
  • একাধিক ডেটা-পাথ (NAN ডেটা পাথ) সেট আপ করার পদ্ধতি আরও কার্যকর হওয়ার জন্য পরিবর্তিত হচ্ছে। পূর্ববর্তী সংস্করণগুলিতে ইনিশিয়েটরদের পিয়ার তথ্য আদান-প্রদানের জন্য L2 মেসেজিং ব্যবহার করা হতো, যা ল্যাটেন্সি তৈরি করত। অ্যান্ড্রয়েড ১২ এবং তার পরবর্তী সংস্করণ চালিত ডিভাইসগুলিতে, রেসপন্ডার (সার্ভার)-কে যেকোনো পিয়ার গ্রহণ করার জন্য কনফিগার করা যায়—অর্থাৎ, এটির আগে থেকে ইনিশিয়েটরের তথ্য জানার প্রয়োজন হয় না। এটি ডেটাপাথ চালু করার গতি বাড়ায় এবং শুধুমাত্র একটি নেটওয়ার্ক অনুরোধের মাধ্যমে একাধিক পয়েন্ট-টু-পয়েন্ট লিঙ্ক স্থাপন সম্ভব করে তোলে।
  • রিসোর্স ফুরিয়ে যাওয়ার কারণে ফ্রেমওয়ার্ক যাতে ডিসকভারি বা কানেকশন রিকোয়েস্ট প্রত্যাখ্যান না করে, তা প্রতিরোধ করতে অ্যান্ড্রয়েড ১২ এবং তার পরবর্তী সংস্করণের ডিভাইসগুলোতে আপনি WifiAwareManager.getAvailableAwareResources() কল করতে পারেন। এই মেথডের রিটার্ন ভ্যালু আপনাকে উপলব্ধ ডেটা পাথের সংখ্যা, উপলব্ধ পাবলিশ সেশনের সংখ্যা এবং উপলব্ধ সাবস্ক্রাইব সেশনের সংখ্যা জানতে সাহায্য করে।

যুগপৎ পিয়ার-টু-পিয়ার + ইন্টারনেট সংযোগ

যখন অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার উচ্চতর সংস্করণ টার্গেট করা ডিভাইসগুলো হার্ডওয়্যার সাপোর্টসহ চলে, তখন পিয়ার-টু-পিয়ার সংযোগ ব্যবহার করলে পিয়ার ডিভাইসের সাথে সংযোগ তৈরি করার সময় আপনার বিদ্যমান ওয়াই-ফাই সংযোগ বিচ্ছিন্ন হবে না। এই ফিচারের সাপোর্ট আছে কিনা তা পরীক্ষা করতে, WifiManager.isMultiStaConcurrencySupported() ব্যবহার করুন।

NFC পেমেন্টের জন্য স্ক্রিন অফ সক্ষম করুন

অ্যান্ড্রয়েড ১২ এবং তার পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলিতে, আপনি requireDeviceScreenOn কে false সেট করে ডিভাইসের স্ক্রিন চালু না থাকা অবস্থাতেই NFC পেমেন্ট সক্ষম করতে পারেন। স্ক্রিন বন্ধ বা লক থাকা অবস্থায় NFC পেমেন্ট সম্পর্কে আরও তথ্যের জন্য, “স্ক্রিন অফ এবং লক-স্ক্রিন আচরণ” দেখুন।

স্টোরেজ

অ্যান্ড্রয়েড ১২-এ নিম্নলিখিত স্টোরেজ ব্যবস্থাপনা সুবিধাগুলো যুক্ত করা হয়েছে:

মূল কার্যকারিতা

স্বয়ংক্রিয় অ্যাপ আপডেট

অ্যান্ড্রয়েড ১২-এ PackageInstaller API ব্যবহারকারী অ্যাপগুলোর জন্য setRequireUserAction() মেথডটি চালু করা হয়েছে। এই মেথডটি ইনস্টলার অ্যাপগুলোকে ব্যবহারকারীর নিশ্চিতকরণের প্রয়োজন ছাড়াই অ্যাপ আপডেট করার সুযোগ দেয়।

ডিভাইস চিপসেটের তথ্য

অ্যান্ড্রয়েড ১২ android.os.Build এ দুটি কনস্ট্যান্ট যোগ করেছে, যা SDK-এর মাধ্যমে SoC চিপসেট ভেন্ডর এবং মডেলের তথ্য প্রকাশ করে। আপনি যথাক্রমে Build.SOC_MANUFACTURER এবং Build.SOC_MODEL কল করে এই তথ্য পেতে পারেন।

কোর জাভা এপিআই-এর আপডেট

ডেভেলপারদের অনুরোধ ও সহযোগিতার ভিত্তিতে, আমরা অ্যান্ড্রয়েড ১২-এ নিম্নলিখিত কোর লাইব্রেরিগুলো যুক্ত করেছি:

শ্রেণী এপিআই
java.lang.Deprecated
java.lang.Byte
java.lang.Short
java.lang.Math
java.lang.StrictMath
java.util.Set copyOf()
java.util.Map copyOf()
java.util.List copyOf()
java.time.Duration
java.time.LocalTime