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

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

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

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

Android 16 (API লেভেল 36)-এ নিম্নলিখিত পরিবর্তনগুলি অন্তর্ভুক্ত রয়েছে যা Android সিস্টেমের বিভিন্ন মূল ক্ষমতাকে পরিবর্তন বা প্রসারিত করে।

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:priority বৈশিষ্ট্য ব্যবহার করতে পারে এবং প্রসঙ্গ-নিবন্ধিত রিসিভারগুলির জন্য, অ্যাপগুলি অগ্রাধিকার নির্ধারণ করতে IntentFilter#setPriority() API ব্যবহার করতে পারে৷ যখন একটি সম্প্রচার পাঠানো হয়, সিস্টেমটি সর্বোচ্চ থেকে সর্বনিম্ন পর্যন্ত তাদের অগ্রাধিকারের ক্রমানুসারে রিসিভারদের কাছে পৌঁছে দেয়।

Android 16-এ, বিভিন্ন প্রক্রিয়া জুড়ে android:priority অ্যাট্রিবিউট বা IntentFilter#setPriority() ব্যবহার করে ব্রডকাস্ট ডেলিভারি অর্ডার নিশ্চিত করা হবে না। সম্প্রচার অগ্রাধিকার শুধুমাত্র সমস্ত প্রক্রিয়ার পরিবর্তে একই আবেদন প্রক্রিয়ার মধ্যে সম্মান করা হবে।

এছাড়াও, সম্প্রচারের অগ্রাধিকারগুলি স্বয়ংক্রিয়ভাবে পরিসরে সীমাবদ্ধ থাকবে ( SYSTEM_LOW_PRIORITY + 1, SYSTEM_HIGH_PRIORITY - 1)৷ শুধুমাত্র সিস্টেমের উপাদানগুলিকে SYSTEM_LOW_PRIORITY , SYSTEM_HIGH_PRIORITY সম্প্রচার অগ্রাধিকার হিসাবে সেট করার অনুমতি দেওয়া হবে৷

আপনার অ্যাপটি নিম্নোক্ত যেকোনো একটি করলে প্রভাবিত হতে পারে:

  1. আপনার আবেদন একই সম্প্রচার অভিপ্রায় সহ একাধিক প্রক্রিয়া ঘোষণা করেছে এবং অগ্রাধিকারের উপর ভিত্তি করে একটি নির্দিষ্ট ক্রমে সেই অভিপ্রায়গুলি পাওয়ার আশেপাশে প্রত্যাশা রয়েছে৷
  2. আপনার আবেদন প্রক্রিয়া অন্যান্য প্রক্রিয়ার সাথে ইন্টারঅ্যাক্ট করে এবং একটি নির্দিষ্ট ক্রমে একটি সম্প্রচারের অভিপ্রায় প্রাপ্তির আশা রাখে।

যদি প্রক্রিয়াগুলি একে অপরের সাথে সমন্বয় করতে হয়, তবে তাদের অন্যান্য সমন্বয় চ্যানেল ব্যবহার করে যোগাযোগ করা উচিত।

ART ইন্টার্নাল পরিবর্তন

অ্যান্ড্রয়েড 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.xml এ android:pageSizeCompat বৈশিষ্ট্য সেট করা আপনার অ্যাপ চালু হওয়ার সময় ডায়ালগ প্রদর্শনকে বাধা দেবে৷ android:pageSizeCompat প্রপার্টি ব্যবহার করতে, Android 16 SDK ব্যবহার করে আপনার অ্যাপ কম্পাইল করুন।

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

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

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

Android 16 (API লেভেল 36)-এ নিম্নলিখিত পরিবর্তনগুলি অন্তর্ভুক্ত করা হয়েছে, যেগুলি আরও সামঞ্জস্যপূর্ণ, স্বজ্ঞাত ব্যবহারকারীর অভিজ্ঞতা তৈরি করার জন্য উদ্দিষ্ট।

বিঘ্ন ঘটায় এমন অ্যাক্সেসিবিলিটি সংক্রান্ত ঘোষণা বন্ধ করা হচ্ছে

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

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

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

৩টি-বোতাম দিয়ে করা নেভিগেশনের জন্য সহায়তা

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

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

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

অটোমেটিক থিমযুক্ত অ্যাপ আইকন

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

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

ভার্চুয়াল ডিভাইসের মালিক ডিসপ্লেতে প্রোজেক্ট করলে, Android 16 (API লেভেল 36) অ্যাপের জন্য নিম্নলিখিত পরিবর্তনগুলি অন্তর্ভুক্ত করে।

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

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

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

প্রতিটি অ্যাপের জন্য ওভাররাইড

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

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

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

রেফারেন্স

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

নিরাপত্তা

Android 16 (API লেভেল 36)-এ এমন পরিবর্তন অন্তর্ভুক্ত আছে যা সিস্টেমের নিরাপত্তা উন্নত করে ক্ষতিকর অ্যাপ থেকে অ্যাপ ও ব্যবহারকারীদের সুরক্ষিত রাখতে সাহায্য করে।

ইনটেন্ট রিডাইরেকশন অ্যাটাকের বিরুদ্ধে উন্নত নিরাপত্তা

Android 16 সাধারণ Intent রিডাইরেকশন অ্যাটাকের বিরুদ্ধে ডিফল্ট নিরাপত্তা প্রদান করে, যার জন্য ন্যূনতম সামঞ্জস্যতা এবং ডেভেলপার পরিবর্তন প্রয়োজন।

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

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

ইনটেন্ট রিডাইরেকশন ম্যানেজমেন্ট থেকে অপ্ট-আউট করুন

Android 16-এ একটি নতুন API চালু করা হয়েছে যা অ্যাপকে লঞ্চ নিরাপত্তা সুরক্ষা থেকে অপ্ট-আউট করার অনুমতি দেয়। নির্দিষ্ট কিছু ক্ষেত্রে এটি প্রয়োজন হতে পারে যেখানে ডিফল্ট নিরাপত্তা আচরণ বৈধ অ্যাপ ব্যবহারের ক্ষেত্রে বাধা সৃষ্টি করে।

Android 16 (API লেভেল ৩৬) 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) }

ডিসকভারি টাইমআউট সম্পর্কে কম্প্যানিয়ন অ্যাপকে আর বিজ্ঞপ্তি পাঠানো হয় না

অ্যান্ড্রয়েড 16 ব্যবহারকারীর লোকেশন গোপনীয়তাকে ক্ষতিকারক অ্যাপ থেকে রক্ষা করতে সঙ্গী ডিভাইস পেয়ারিং ফ্লো চলাকালীন একটি নতুন আচরণ প্রবর্তন করে। RESULT_DISCOVERY_TIMEOUT ব্যবহার করে অ্যান্ড্রয়েড 16-এ চলমান সমস্ত সঙ্গী অ্যাপগুলিকে আর আবিষ্কারের সময়সীমার বিষয়ে সরাসরি বিজ্ঞপ্তি দেওয়া হয় না। পরিবর্তে, ব্যবহারকারীকে একটি ভিজ্যুয়াল ডায়ালগের মাধ্যমে সময় শেষ হওয়ার ঘটনা সম্পর্কে অবহিত করা হয়। যখন ব্যবহারকারী ডায়ালগ খারিজ করে, অ্যাপটিকে RESULT_USER_REJECTED সাথে অ্যাসোসিয়েশন ব্যর্থতার বিষয়ে সতর্ক করা হয়।

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

কানেক্টিভিটি

Android 16 (API লেভেল 36)-এ ব্লুটুথ স্ট্যাকে নিম্নলিখিত পরিবর্তনগুলি অন্তর্ভুক্ত করা হয়েছে যাতে পেরিফেরাল ডিভাইসের সাথে কানেক্টিভিটি উন্নত করা যায়।

বন্ড লস ম্যানেজ করার উন্নত সুবিধা

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

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

,

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

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

,

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

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