আচরণ পরিবর্তন: সমস্ত অ্যাপ্লিকেশন

Android 16 প্ল্যাটফর্মে এমন আচরণগত পরিবর্তন রয়েছে যা আপনার অ্যাপকে প্রভাবিত করতে পারে। নিম্নলিখিত আচরণগত পরিবর্তনগুলি targetSdkVersion নির্বিশেষে, Android 16 এ চলা সমস্ত অ্যাপের ক্ষেত্রে প্রযোজ্য। আপনার অ্যাপটি পরীক্ষা করা উচিত এবং তারপরে প্রযোজ্য ক্ষেত্রে এই পরিবর্তনগুলি সমর্থন করার জন্য প্রয়োজন অনুসারে এটি পরিবর্তন করা উচিত।

শুধুমাত্র Android 16-কে লক্ষ্য করে এমন অ্যাপগুলিকে প্রভাবিত করে এমন আচরণগত পরিবর্তনের তালিকাটিও পর্যালোচনা করতে ভুলবেন না।

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

অ্যান্ড্রয়েড ১৬ (এপিআই লেভেল ৩৬) এ নিম্নলিখিত পরিবর্তনগুলি অন্তর্ভুক্ত রয়েছে যা অ্যান্ড্রয়েড সিস্টেমের বিভিন্ন মূল ক্ষমতা পরিবর্তন বা প্রসারিত করে।

JobScheduler কোটা অপ্টিমাইজেশন

从 Android 16 开始,我们将根据以下因素调整常规作业和加急作业的执行运行时配额:

  • 应用所处的应用待机存储分区:在 Android 16 中,活跃待机存储分区将开始通过宽松的运行时配额强制执行。
  • 如果作业在应用处于前台状态时开始执行:在 Android 16 中,如果作业在应用对用户可见时开始执行,并在应用变为不可见后继续执行,则会遵守作业运行时配额。
  • 如果作业在运行前台服务时执行:在 Android 16 中,与前台服务同时执行的作业将遵守作业运行时配额。如果您利用作业进行用户发起的数据传输,请考虑改用用户发起的数据传输作业

此变更会影响使用 WorkManager、JobScheduler 和 DownloadManager 调度的任务。如需调试作业停止的原因,我们建议您通过调用 WorkInfo.getStopReason()(对于 JobScheduler 作业,请调用 JobParameters.getStopReason())来记录作业停止的原因。

如需了解应用的状态如何影响其可使用的资源,请参阅电源管理资源限制。 如需详细了解电池优化方面的最佳实践,请参阅有关针对任务调度 API 优化电池使用的指南。

我们还建议利用 Android 16 中引入的新 JobScheduler#getPendingJobReasonsHistory API 来了解作业未执行的原因。

测试

如需测试应用的行为,只要应用在 Android 16 设备上运行,您就可以启用对某些作业配额优化功能的替换。

如需停用“顶级状态将遵守作业运行时配额”的强制执行,请运行以下 adb 命令:

adb shell am compat enable OVERRIDE_QUOTA_ENFORCEMENT_TO_TOP_STARTED_JOBS APP_PACKAGE_NAME

如需停用“在与前台服务同时执行时,作业将遵守作业运行时配额”的强制执行,请运行以下 adb 命令:

adb shell am compat enable OVERRIDE_QUOTA_ENFORCEMENT_TO_FGS_JOBS APP_PACKAGE_NAME

如需测试特定应用待机分桶行为,您可以使用以下 adb 命令设置应用的应用待机分桶:

adb shell am set-standby-bucket APP_PACKAGE_NAME active|working_set|frequent|rare|restricted

如需了解应用所在的待机分桶,您可以使用以下 adb 命令获取应用的待机分桶:

adb shell am get-standby-bucket APP_PACKAGE_NAME

পরিত্যক্ত খালি চাকরি বন্ধের কারণ

একটি পরিত্যক্ত কাজ ঘটে যখন কাজের সাথে যুক্ত JobParameters অবজেক্টটি আবর্জনা সংগ্রহ করা হয়, কিন্তু JobService#jobFinished(JobParameters, boolean) কাজ সমাপ্তির সংকেত দিতে ডাকা হয়নি। এটি ইঙ্গিত দেয় যে অ্যাপের সচেতনতা ছাড়াই চাকরিটি চলমান এবং পুনঃনির্ধারিত হতে পারে।

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

নতুন পরিত্যক্ত স্টপ কারণের ঘন ঘন ঘটনা ঘটলে, সিস্টেম কাজের ফ্রিকোয়েন্সি কমাতে প্রশমনের পদক্ষেপ নেবে।

অ্যাপ্লিকেশানগুলিকে পরিত্যক্ত কাজগুলি সনাক্ত করতে এবং কমাতে নতুন স্টপ কারণ ব্যবহার করা উচিত৷

আপনি যদি WorkManager, AsyncTask, বা DownloadManager ব্যবহার করেন, তাহলে আপনি প্রভাবিত হবেন না কারণ এই APIগুলি আপনার অ্যাপের হয়ে চাকরির জীবনচক্র পরিচালনা করে।

JobInfo#setImportantWhileForeground সম্পূর্ণরূপে অবজ্ঞা করা হচ্ছে

JobInfo.Builder#setImportantWhileForeground(boolean) পদ্ধতি একটি কাজের গুরুত্ব নির্দেশ করে যখন সময়সূচী অ্যাপটি অগ্রভাগে থাকে বা যখন সাময়িকভাবে ব্যাকগ্রাউন্ড সীমাবদ্ধতা থেকে অব্যাহতি দেওয়া হয়।

Android 12 (API লেভেল 31) থেকে এই পদ্ধতিটি অবমূল্যায়িত হয়েছে। অ্যান্ড্রয়েড 16 থেকে শুরু করে, এটি আর কার্যকরভাবে কাজ করে না এবং এই পদ্ধতিতে কল করা উপেক্ষা করা হবে।

কার্যকারিতার এই অপসারণ JobInfo#isImportantWhileForeground() ক্ষেত্রেও প্রযোজ্য। অ্যান্ড্রয়েড 16 থেকে শুরু করে, যদি পদ্ধতিটি বলা হয়, তবে পদ্ধতিটি false ফেরত দেয়।

অর্ডার করা সম্প্রচার অগ্রাধিকার স্কোপ আর বিশ্বব্যাপী নেই

Android apps are allowed to define priorities on broadcast receivers to control the order in which the receivers receive and process the broadcast. For manifest-declared receivers, apps can use the android:priority attribute to define the priority and for context-registered receivers, apps can use the IntentFilter#setPriority() API to define the priority. When a broadcast is sent, the system delivers it to receivers in order of their priority, from highest to lowest.

In Android 16, broadcast delivery order using the android:priority attribute or IntentFilter#setPriority() across different processes will not be guaranteed. Broadcast priorities will only be respected within the same application process rather than across all processes.

Also, broadcast priorities will be automatically confined to the range (SYSTEM_LOW_PRIORITY + 1, SYSTEM_HIGH_PRIORITY - 1). Only system components will be allowed to set SYSTEM_LOW_PRIORITY, SYSTEM_HIGH_PRIORITY as broadcast priority.

Your app might be impacted if it does either of the following:

  1. Your application has declared multiple processes with the same broadcast intent, and has expectations around receiving those intents in a certain order based on the priority.
  2. Your application process interacts with other processes and has expectations around receiving a broadcast intent in a certain order.

If the processes need to coordinate with each other, they should communicate using other coordination channels.

শিল্পের অভ্যন্তরীণ পরিবর্তন

অ্যান্ড্রয়েড 16 এ অ্যান্ড্রয়েড রানটাইম (এআরটি) এর সর্বশেষ আপডেটগুলি অন্তর্ভুক্ত করে যা অ্যান্ড্রয়েড রানটাইমের (এআরটি) কর্মক্ষমতা উন্নত করে এবং অতিরিক্ত জাভা বৈশিষ্ট্যগুলির জন্য সমর্থন প্রদান করে। Google Play সিস্টেম আপডেটের মাধ্যমে, এই উন্নতিগুলি Android 12 (API স্তর 31) এবং উচ্চতর চলমান এক বিলিয়নেরও বেশি ডিভাইসে উপলব্ধ।

এই পরিবর্তনগুলি প্রকাশিত হওয়ার সাথে সাথে, ART-এর অভ্যন্তরীণ কাঠামোর উপর নির্ভর করে এমন লাইব্রেরি এবং অ্যাপ কোডগুলি Android 16 চালিত ডিভাইসগুলিতে সঠিকভাবে কাজ নাও করতে পারে, সেই সাথে আগের Android সংস্করণগুলি যা Google Play সিস্টেম আপডেটের মাধ্যমে ART মডিউল আপডেট করে।

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

সমস্ত ডেভেলপারদের Android 16-এ তাদের অ্যাপ্লিকেশানগুলি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করে তাদের অ্যাপ প্রভাবিত হয়েছে কিনা তা পরীক্ষা করা উচিত। উপরন্তু, আপনার অ্যাপটি অভ্যন্তরীণ ART কাঠামোর উপর নির্ভর করে এমন কোনও লাইব্রেরির উপর নির্ভর করে যা আমরা চিহ্নিত করেছি কিনা তা দেখতে পরিচিত সমস্যাগুলি পরীক্ষা করুন। আপনার যদি অ্যাপ কোড বা লাইব্রেরি নির্ভরতা থাকে যা প্রভাবিত হয়, যখনই সম্ভব সর্বজনীন API বিকল্পগুলি সন্ধান করুন এবং আমাদের ইস্যু ট্র্যাকারে একটি বৈশিষ্ট্য অনুরোধ তৈরি করে নতুন ব্যবহারের ক্ষেত্রে সর্বজনীন APIগুলির জন্য অনুরোধ করুন৷

১৬ কেবি পৃষ্ঠার আকার সামঞ্জস্য মোড

প্ল্যাটফর্মের কর্মক্ষমতা অপ্টিমাইজ করতে Android 15 16 KB মেমরি পৃষ্ঠাগুলির জন্য সমর্থন চালু করেছে। Android 16 একটি সামঞ্জস্যপূর্ণ মোড যোগ করে, যা 4 KB মেমরি পৃষ্ঠাগুলির জন্য নির্মিত কিছু অ্যাপকে 16 KB মেমরি পৃষ্ঠাগুলির জন্য কনফিগার করা ডিভাইসে চালানোর অনুমতি দেয়।

যখন আপনার অ্যাপ Android 16 বা তার উচ্চতর সংস্করণের কোনো ডিভাইসে চলছে, যদি Android শনাক্ত করে যে আপনার অ্যাপে 4 KB সারিবদ্ধ মেমরি পৃষ্ঠা রয়েছে, তাহলে এটি স্বয়ংক্রিয়ভাবে সামঞ্জস্যপূর্ণ মোড ব্যবহার করে এবং ব্যবহারকারীর কাছে একটি বিজ্ঞপ্তি ডায়ালগ প্রদর্শন করে। পিছনের দিকের সামঞ্জস্য মোড সক্ষম করতে AndroidManifest.xmlandroid:pageSizeCompat বৈশিষ্ট্য সেট করা আপনার অ্যাপ চালু হওয়ার সময় ডায়ালগ প্রদর্শনকে বাধা দেবে৷ android:pageSizeCompat প্রপার্টি ব্যবহার করতে, Android 16 SDK ব্যবহার করে আপনার অ্যাপ কম্পাইল করুন।

সর্বোত্তম কর্মক্ষমতা, নির্ভরযোগ্যতা এবং স্থিতিশীলতার জন্য, আপনার অ্যাপটি এখনও 16 KB সারিবদ্ধ হওয়া উচিত। আরও বিশদ বিবরণের জন্য 16 KB মেমরি পৃষ্ঠাগুলিকে সমর্থন করার জন্য আপনার অ্যাপগুলি আপডেট করার বিষয়ে আমাদের সাম্প্রতিক ব্লগ পোস্টটি দেখুন৷

কম্প্যাটিবিলিটি মোড ডায়ালগ যা প্রদর্শন করে যখন সিস্টেম শনাক্ত করে যে 16 KB সারিবদ্ধ হলে একটি 4 KB-সারিবদ্ধ অ্যাপ আরও ভালোভাবে চলতে পারে।

ব্যবহারকারীর অভিজ্ঞতা এবং সিস্টেম UI

অ্যান্ড্রয়েড ১৬ (এপিআই লেভেল ৩৬) এ নিম্নলিখিত পরিবর্তনগুলি অন্তর্ভুক্ত রয়েছে যা আরও সামঞ্জস্যপূর্ণ, স্বজ্ঞাত ব্যবহারকারীর অভিজ্ঞতা তৈরি করার উদ্দেশ্যে করা হয়েছে।

বিঘ্নিত অ্যাক্সেসিবিলিটি ঘোষণাগুলিকে অবমূল্যায়ন করা

Android 16 অ্যাকসেসিবিলিটি ঘোষণাগুলিকে বাতিল করে, যা announceForAccessibility ব্যবহার বা TYPE_ANNOUNCEMENT অ্যাক্সেসিবিলিটি ইভেন্টগুলির প্রেরণের দ্বারা চিহ্নিত৷ এগুলি টকব্যাক এবং অ্যান্ড্রয়েডের স্ক্রিন রিডার ব্যবহারকারীদের জন্য অসামঞ্জস্যপূর্ণ ব্যবহারকারীর অভিজ্ঞতা তৈরি করতে পারে এবং বিকল্পগুলি Android এর বিভিন্ন সহায়ক প্রযুক্তি জুড়ে ব্যবহারকারীর চাহিদার বিস্তৃত পরিসরকে আরও ভালভাবে পরিবেশন করে৷

বিকল্পের উদাহরণ:

অপ্রচলিত announceForAccessibility API-এর রেফারেন্স ডকুমেন্টেশনে প্রস্তাবিত বিকল্পগুলি সম্পর্কে আরও বিশদ অন্তর্ভুক্ত রয়েছে৷

৩-বোতাম নেভিগেশনের জন্য সমর্থন

Android 16 সঠিকভাবে ভবিষ্যদ্বাণীমূলক ব্যাক-এ স্থানান্তরিত অ্যাপগুলির জন্য 3-বোতাম নেভিগেশনে ভবিষ্যদ্বাণীমূলক ব্যাক সমর্থন নিয়ে আসে। পিছনের বোতামটি দীর্ঘক্ষণ চাপলে একটি ভবিষ্যদ্বাণীমূলক ব্যাক অ্যানিমেশন শুরু হয়, যা আপনাকে পিছনের সোয়াইপ আপনাকে কোথায় নিয়ে যায় তার একটি পূর্বরূপ দেয়।

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

3-বোতাম নেভিগেশন মোডে ভবিষ্যদ্বাণীমূলক ব্যাক অ্যানিমেশন।

স্বয়ংক্রিয় থিমযুক্ত অ্যাপ আইকন

Android 16 QPR 2 দিয়ে শুরু করে, Android স্বয়ংক্রিয়ভাবে অ্যাপ আইকনগুলিতে থিম প্রয়োগ করে একটি সমন্বিত হোম স্ক্রীন অভিজ্ঞতা তৈরি করে৷ এটি ঘটে যদি একটি অ্যাপ তার নিজস্ব থিমযুক্ত অ্যাপ আইকন প্রদান না করে। অ্যাপ্লিকেশানগুলি তাদের অভিযোজিত আইকনের মধ্যে একটি মনোক্রোম স্তর অন্তর্ভুক্ত করে এবং Android স্টুডিওতে তাদের অ্যাপ আইকনটি কেমন হবে তা পূর্বরূপ দেখার মাধ্যমে তাদের থিমযুক্ত অ্যাপ আইকনের নকশা নিয়ন্ত্রণ করতে পারে৷

ডিভাইস ফর্ম ফ্যাক্টর

ভার্চুয়াল ডিভাইস মালিকদের দ্বারা ডিসপ্লেতে প্রজেক্ট করা হলে অ্যান্ড্রয়েড ১৬ (এপিআই লেভেল ৩৬) অ্যাপগুলির জন্য নিম্নলিখিত পরিবর্তনগুলি অন্তর্ভুক্ত করে।

ভার্চুয়াল ডিভাইসের মালিক ওভাররাইড করে

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

ফোনে ভার্চুয়াল ডিভাইসের মালিক ভার্চুয়াল ডিভাইস তৈরি করেন যা অ্যাপটিকে রিমোট ডিসপ্লেতে প্রজেক্ট করে।

প্রতি-অ্যাপ ওভাররাইড

অ্যান্ড্রয়েড ১৬ (এপিআই লেভেল ৩৬) চালিত ডিভাইসগুলিতে, ভার্চুয়াল ডিভাইস মালিকরা ভার্চুয়াল ডিভাইস মালিকদের দ্বারা পরিচালিত নির্বাচিত ভার্চুয়াল ডিভাইসগুলিতে অ্যাপ সেটিংস ওভাররাইড করতে পারেন। উদাহরণস্বরূপ, অ্যাপ লেআউট উন্নত করার জন্য, একজন ভার্চুয়াল ডিভাইস মালিক অ্যাপগুলিকে একটি বহিরাগত ডিসপ্লেতে প্রজেক্ট করার সময় ওরিয়েন্টেশন, আকৃতির অনুপাত এবং আকার পরিবর্তনের সীমাবদ্ধতা উপেক্ষা করতে পারেন।

সাধারণ ব্রেকিং পরিবর্তনগুলি

অ্যান্ড্রয়েড ১৬ এর আচরণ আপনার অ্যাপের UI-কে গাড়ির ডিসপ্লে বা Chromebook-এর মতো বড় স্ক্রিন ফর্ম ফ্যাক্টরগুলিতে প্রভাবিত করতে পারে, বিশেষ করে পোর্ট্রেট ওরিয়েন্টেশনে ছোট ডিসপ্লের জন্য ডিজাইন করা লেআউটগুলিতে। আপনার অ্যাপটিকে সমস্ত ডিভাইস ফর্ম ফ্যাক্টরের জন্য কীভাবে অভিযোজিত করবেন তা জানতে, অভিযোজিত লেআউট সম্পর্কে দেখুন।

তথ্যসূত্র

কম্প্যানিয়ন অ্যাপ স্ট্রিমিং

নিরাপত্তা

অ্যান্ড্রয়েড ১৬ (এপিআই লেভেল ৩৬) এ এমন পরিবর্তন রয়েছে যা সিস্টেম নিরাপত্তাকে উৎসাহিত করে অ্যাপ এবং ব্যবহারকারীদের ক্ষতিকারক অ্যাপ থেকে রক্ষা করতে সাহায্য করে।

ইন্টেন্ট রিডাইরেকশন আক্রমণের বিরুদ্ধে উন্নত নিরাপত্তা

Android 16 提供了针对一般 Intent 重定向攻击的默认安全性,并且只需进行最低限度的兼容性更改和开发者更改。

我们正在引入默认安全强化解决方案,以应对Intent重定向漏洞。在大多数情况下,使用 intent 的应用通常不会遇到任何兼容性问题;我们在整个开发过程中收集了指标,以监控哪些应用可能会出现中断。

当攻击者可以部分或完全控制用于在存在漏洞的应用上下文中启动新组件的 intent 内容时,就会出现 Android 中的 intent 重定向问题,而受害应用会在(“顶级”)intent 的 extras 字段中启动不可信的子级 intent。这可能会导致攻击者应用在受害者应用的上下文中启动私有组件、触发特权操作或获得对敏感数据的 URI 访问权限,从而可能导致数据窃取和任意代码执行。

选择停用 intent 重定向处理

Android 16 引入了一项新 API,允许应用选择停用启动安全保护功能。在默认安全行为会干扰正当应用用例的特定情况下,这可能是必要的。

对于针对 Android 16(API 级别 36)SDK 或更高版本进行编译的应用

您可以直接对 Intent 对象使用 removeLaunchSecurityProtection() 方法。

val i = intent
val iSublevel: Intent? = i.getParcelableExtra("sub_intent")
iSublevel?.removeLaunchSecurityProtection() // Opt out from hardening
iSublevel?.let { startActivity(it) }
对于针对 Android 15(API 级别 35)或更低版本进行编译的应用

虽然不建议这样做,但您可以使用反射来访问 removeLaunchSecurityProtection() 方法。

val i = intent
val iSublevel: Intent? = i.getParcelableExtra("sub_intent", Intent::class.java)
try {
    val removeLaunchSecurityProtection = Intent::class.java.getDeclaredMethod("removeLaunchSecurityProtection")
    removeLaunchSecurityProtection.invoke(iSublevel)
} catch (e: Exception) {
    // Handle the exception, e.g., log it
} // Opt-out from the security hardening using reflection
iSublevel?.let { startActivity(it) }

কম্প্যানিয়ন অ্যাপগুলিকে আর আবিষ্কারের সময়সীমা সম্পর্কে অবহিত করা হবে না

Android 16 introduces a new behavior during companion device pairing flow to protect the user's location privacy from malicious apps. All companion apps running on Android 16 are no longer directly notified of discovery timeout using RESULT_DISCOVERY_TIMEOUT. Instead, the user is notified of timeout events with a visual dialog. When the user dismisses the dialog, the app is alerted of the association failure with RESULT_USER_REJECTED.

The search duration has also been extended from the original 20 seconds, and the device discovery can be stopped by the user at any point during the search. If at least one device was discovered within the first 20 seconds of starting the search, the CDM stops searching for additional devices.

সংযোগ

পেরিফেরাল ডিভাইসের সাথে সংযোগ উন্নত করতে অ্যান্ড্রয়েড ১৬ (এপিআই লেভেল ৩৬) ব্লুটুথ স্ট্যাকে নিম্নলিখিত পরিবর্তনগুলি অন্তর্ভুক্ত করে।

উন্নত বন্ড ক্ষতি ব্যবস্থাপনা

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

অভিজ্ঞতা একত্রিত করতে, অ্যান্ড্রয়েড 16 সিস্টেমে বন্ড ক্ষতি পরিচালনার উন্নতি করেছে। যদি পূর্বে বন্ড করা ব্লুটুথ ডিভাইস পুনরায় সংযোগের পরে প্রমাণীকরণ করা না যায়, তাহলে সিস্টেম লিঙ্কটি সংযোগ বিচ্ছিন্ন করবে, স্থানীয় বন্ডের তথ্য বজায় রাখবে এবং একটি সিস্টেম ডায়ালগ প্রদর্শন করবে যা ব্যবহারকারীদের বন্ড হারানোর বিষয়ে অবহিত করবে এবং তাদের পুনরায় জোড়ার নির্দেশ দেবে।

,

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

অভিজ্ঞতা একত্রিত করতে, অ্যান্ড্রয়েড 16 সিস্টেমে বন্ড ক্ষতি পরিচালনার উন্নতি করেছে। যদি পূর্বে বন্ড করা ব্লুটুথ ডিভাইস পুনরায় সংযোগের পরে প্রমাণীকরণ করা না যায়, তাহলে সিস্টেম লিঙ্কটি সংযোগ বিচ্ছিন্ন করবে, স্থানীয় বন্ডের তথ্য বজায় রাখবে এবং একটি সিস্টেম ডায়ালগ প্রদর্শন করবে যা ব্যবহারকারীদের বন্ড হারানোর বিষয়ে অবহিত করবে এবং তাদের পুনরায় জোড়ার নির্দেশ দেবে।

,

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

অভিজ্ঞতা একত্রিত করতে, অ্যান্ড্রয়েড 16 সিস্টেমে বন্ড ক্ষতি পরিচালনার উন্নতি করেছে। যদি পূর্বে বন্ড করা ব্লুটুথ ডিভাইস পুনরায় সংযোগের পরে প্রমাণীকরণ করা না যায়, তাহলে সিস্টেম লিঙ্কটি সংযোগ বিচ্ছিন্ন করবে, স্থানীয় বন্ডের তথ্য বজায় রাখবে এবং একটি সিস্টেম ডায়ালগ প্রদর্শন করবে যা ব্যবহারকারীদের বন্ড হারানোর বিষয়ে অবহিত করবে এবং তাদের পুনরায় জোড়ার নির্দেশ দেবে।