কম্প্যাটিবিলিটি ফ্রেমওয়ার্ক সংক্রান্ত পরিবর্তন (Android 13)

ছবি ১. ডেভেলপার বিকল্পে অ্যাপ কম্প্যাটিবিলিটি পরিবর্তন স্ক্রিনে আপনি যেসব পরিবর্তন টগল করতে পারবেন তার তালিকা দেওয়া থাকে।

এই পৃষ্ঠায় Android 13 (API লেভেল ৩৩)-এর কম্প্যাটিবিলিটি ফ্রেমওয়ার্কের অংশ হিসেবে টগল করা যায় এমন পরিবর্তনের বিবরণ দেওয়া হয়েছে। Android ১৩-এর জন্য আপনার অ্যাপকে উপযুক্ত করে তুলতে এবং টার্গেট করতে, ডেভেলপার বিকল্প এবং ADB কমান্ড-এর সাথে এই তালিকাটি ব্যবহার করে আপনার অ্যাপ টেস্ট এবং ডিবাগ করুন।

কম্প্যাটিবিলিটি ফ্রেমওয়ার্ক টুল ব্যবহার করে আপনি যেসব কাজ করতে পারবেন তার মধ্যে কয়েকটি এখানে উল্লেখ করা হল:

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

এইসব ব্যবহারের ক্ষেত্রে টুল ব্যবহার করার ব্যাপারে সম্পূর্ণ বিবরণ জানতে, কম্প্যাটিবিলিটি ফ্রেমওয়ার্ক টুল দেখুন।

কম্প্যাটিবিলিটি ফ্রেমওয়ার্কে অন্তর্ভুক্ত আচরণগত পরিবর্তন

এই বিভাগে দেওয়া তালিকায় টগল করা যায় এমন পরিবর্তনের বিবরণ দেওয়া হয়েছে যা Android 13-এর কম্প্যাটিবিলিটি ফ্রেমওয়ার্কে অন্তর্ভুক্ত করা হয়েছে।

আপনি ডিফল্ট অবস্থা অনুযায়ী পরিবর্তনের তালিকা ফিল্টার করতে পারবেন।

Android ১৩-এর কম্প্যাটিবিলিটি ফ্রেমওয়ার্কে টগল করা যায় এমন পরিবর্তন

ACCOUNT_ACCESS_CHECK_CHANGE_ID

পরিবর্তন আইডি: 201794303
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android 13 (API লেভেল 33) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের জন্য, সিঙ্ক-সম্পর্কিত সব API-তে কলিং UID-এর জন্য অ্যাকাউন্ট অ্যাক্সেস চেক করার সুবিধা চালু করে।

ALLOW_COPY_SOLID_COLOR_VIEW

পরিবর্তন আইডি: ২০৫৯০৭৪৫৬
ডিফল্ট স্ট্যাটাস: Android ১৩ (API লেভেল ৩৩) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android 13 (API লেভেল 33) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, অ্যাপকে SplashScreen.OnExitAnimationListener.onSplashScreenExit(SplashScreenView) কলব্যাক পাওয়ার অনুমতি দেয়, এমনকি স্প্ল্যাশ স্ক্রিনে শুধু সলিড কালার দেখা গেলেও।

ALLOW_SECURE_ACTIVITY_DISPLAY_ON_REMOTE_DEVICE

পরিবর্তন আইডি: 201712607
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের জন্য, প্রয়োজন হলে রিমোট ডিভাইসে সুরক্ষিত অ্যাক্টিভিটি দেখানোর অনুমতি দেয়।

BORINGLAYOUT_FALLBACK_LINESPACING

পরিবর্তন আইডি: 210923482
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android 13 (API লেভেল 33) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের জন্য, BoringLayout-এর জন্য ফলব্যাক টেক্সট লাইন স্পেসিং (লাইনের উচ্চতা) চালু করে।

CALL_REDIRECTION_AUDIO_MODES

পরিবর্তন আইডি: ১৮৯৪৭২৬৫১
ডিফল্ট স্ট্যাটাস: Android ১৩ (API লেভেল ৩৩) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের জন্য, কল অডিও রিডাইরেকশনের জন্য অডিও মোড ব্যবহার করার অনুমতি দেয়।

CAMERA_MIC_INDICATORS_NOT_PRESENT

পরিবর্তন আইডি: ১৬২৫৪৭৯৯৯
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

এই ডিভাইস ক্যামেরা ও মাইক্রোফোন ইন্ডিকেটর সাপোর্ট করে বলে দেখায়। false হবে যদি উপস্থিত থাকে, কারণ CompatChanges#isChangeEnabled পদ্ধতি true রিটার্ন করে যদি পরিবর্তন আইডি উপস্থিত না থাকে।

CLEAR_SHOW_FORCED_FLAG_WHEN_LEAVING

পরিবর্তন আইডি: 214016041
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, কলার বর্তমানে ফোকাস না করলে SHOW_FORCED ফ্ল্যাগকে কোনও প্রভাব ফেলতে বাধা দেয়।

DEFER_BOOT_COMPLETED_BROADCAST_CHANGE_ID

পরিবর্তন আইডি: ২০৩৭০৪৮২২
ডিফল্ট স্ট্যাটাস: Android ১৩ (API লেভেল ৩৩) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের জন্য, LOCKED_BOOT_COMPLETED এবং BOOT_COMPLETED ব্রডকাস্ট স্থগিত রাখুন যতক্ষণ না UID-তে কোনও প্রসেস প্রথমবার শুরু হচ্ছে।

DISALLOW_DEADLINES_FOR_PREFETCH_JOBS

পরিবর্তন আইডি: 194532703
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, প্রিফেচ কাজের (JobInfo.Builder.setPrefetch(boolean)) জন্য সময়সীমা ( JobInfo.Builder.setOverrideDeadline(long) ব্যবহার করে) সেট করার অনুমতি দেয় না। প্রিফেচ জব পরবর্তী অ্যাপ লঞ্চের কাছাকাছি সময়ে চালানোর জন্য তৈরি করা হয়েছে, তাই এগুলির কোনও ডেডলাইন থাকে না। তবে, সিস্টেম আগে থেকে শিডিউল করা কোনও প্রিফেচ জব ড্রপ বা বাতিল করে না, যেগুলির ডেডলাইন আছে।

কোনও অ্যাপের পক্ষে সময়সীমা সহ চিরস্থায়ীভাবে শিডিউল করা প্রিফেচ জব রাখার কোনও উপায় নেই। সময়সীমা সহ প্রিফেচ জব রান করবে এবং এই বিধিনিষেধের অধীনে থাকা অ্যাপ সময়সীমা সহ নতুন প্রিফেচ জব শিডিউল করতে পারবে না। যদি কোনও কাজ true প্রদান করে রিশিডিউল করা হয়, তাহলে JobService.jobFinished(JobParameters, boolean) বা JobService.onStopJob(JobParameters) থেকে রিটার্ন ভ্যালু ব্যবহার করে, সময়সীমা বাদ দেওয়া হয়। নির্দিষ্ট সময় অন্তর করা কাজের ক্ষেত্রে সব শর্ত পূরণ করতে হয়, তাই এইসব বিধিনিষেধ সেগুলির ডেডলাইনের ক্ষেত্রে প্রযোজ্য হয় না।

DOWNSCALED

পরিবর্তন আইডি: ১৬৮৪১৯৭৯৯
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

এই পরিবর্তনটি প্রতিটি অ্যাপের বাফার ডাউনস্কেলিং সংক্রান্ত সব পরিবর্তনের গেটকিপার। এই পরিবর্তন চালু করলে নিম্নলিখিত স্কেলিং ফ্যাক্টর প্রয়োগ করা যাবে:

কোনও অ্যাপ প্যাকেজের জন্য এই পরিবর্তন চালু করা হলে, অ্যাপটি জোরপূর্বক সর্বোচ্চ, চালু করা স্কেলিং ফ্যাক্টরে ছোট বড় করা হয়। যেমন, ৮০% ও ৭০% (DOWNSCALE_80 এবং DOWNSCALE_70) দুটিই চালু থাকলে, ৮০% ব্যবহার করা হয়।

DOWNSCALE_30

পরিবর্তন আইডি: ১৮৯৯৭০০৪০
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

DOWNSCALED-ও চালু থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নিতে বাধ্য হয় যে এটি এমন একটি ডিসপ্লেতে চলছে যার উল্লম্ব ও অনুভূমিক রেজোলিউশন আসল ডিসপ্লের ৩০%।

DOWNSCALE_35

পরিবর্তন আইডি: ১৮৯৯৬৯৭৪৯
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

এছাড়াও DOWNSCALED চালু থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব ও অনুভূমিক রেজোলিউশনের ৩৫% সহ ডিসপ্লেতে চলছে।

DOWNSCALE_40

পরিবর্তন আইডি: ১৮৯৯৭০০৩৮
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

এছাড়াও DOWNSCALED চালু করা থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নেয় যে এটি এমন একটি ডিসপ্লেতে চলছে যার উল্লম্ব এবং অনুভূমিক রেজোলিউশন আসল ডিসপ্লের ৪০%।

DOWNSCALE_45

পরিবর্তন আইডি: ১৮৯৯৬৯৭৮২
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

এছাড়াও DOWNSCALED চালু থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নিতে বাধ্য হয় যে এটি এমন একটি ডিসপ্লেতে চলছে যার উল্লম্ব এবং অনুভূমিক রেজোলিউশন আসল ডিসপ্লের ৪৫%।

DOWNSCALE_50

পরিবর্তন আইডি: ১৭৬৯২৬৭৪১
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

DOWNSCALED-ও চালু থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব ও অনুভূমিক রেজোলিউশনের ৫০% সহ ডিসপ্লেতে চলছে।

DOWNSCALE_55

পরিবর্তন আইডি: ১৮৯৯৭০০৩৬
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

DOWNSCALED-ও চালু থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নেয় যে এটি এমন একটি ডিসপ্লেতে চলছে যার উল্লম্ব ও অনুভূমিক রেজোলিউশন আসল ডিসপ্লের রেজোলিউশনের ৫৫%।

DOWNSCALE_60

পরিবর্তন আইডি: ১৭৬৯২৬৭৭১
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

এছাড়াও DOWNSCALED চালু থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নেয় যে এটি এমন একটি ডিসপ্লেতে চলছে যার উল্লম্ব ও অনুভূমিক রেজোলিউশন আসল ডিসপ্লের ৬০%।

DOWNSCALE_65

পরিবর্তন আইডি: ১৮৯৯৬৯৭৪৪
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

এছাড়াও DOWNSCALED চালু করা থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নিতে বাধ্য হয় যে এটি এমন একটি ডিসপ্লেতে চলছে যার উল্লম্ব এবং অনুভূমিক রেজোলিউশন আসল ডিসপ্লের ৬৫%।

DOWNSCALE_70

পরিবর্তন আইডি: ১৭৬৯২৬৮২৯
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

এছাড়াও DOWNSCALED চালু থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব ও অনুভূমিক রেজোলিউশনের ৭০% সহ ডিসপ্লেতে চলছে।

DOWNSCALE_75

পরিবর্তন আইডি: ১৮৯৯৬৯৭৭৯
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

এছাড়াও DOWNSCALED চালু থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নেয় যে এটি এমন একটি ডিসপ্লেতে চলছে যার উল্লম্ব এবং অনুভূমিক রেজোলিউশন আসল ডিসপ্লের ৭৫%।

DOWNSCALE_80

পরিবর্তন আইডি: ১৭৬৯২৬৭৫৩
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

DOWNSCALED-ও চালু থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নেয় যে এটি এমন একটি ডিসপ্লেতে চলছে যার উল্লম্ব এবং অনুভূমিক রেজোলিউশন আসল ডিসপ্লের ৮০%।

DOWNSCALE_85

পরিবর্তন আইডি: ১৮৯৯৬৯৭৩৪
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

এছাড়াও DOWNSCALED চালু থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নেয় যে এটি এমন একটি ডিসপ্লেতে চলছে যার উল্লম্ব এবং অনুভূমিক রেজোলিউশন আসল ডিসপ্লের ৮৫%।

DOWNSCALE_90

পরিবর্তন আইডি: ১৮২৮১১২৪৩
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

এছাড়াও DOWNSCALED চালু থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নিতে বাধ্য হয় যে এটি এমন একটি ডিসপ্লেতে চলছে যার উল্লম্ব এবং অনুভূমিক রেজোলিউশন আসল ডিসপ্লের ৯০%।

DUMP_IGNORES_SPECIAL_ARGS

পরিবর্তন আইডি: 149254050
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android 13 (API লেভেল 33) এবং তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, dump(String, FileDescriptor, PrintWriter, String[]) কল করা হয় না যদি dumpsys activity-কে কিছু বিশেষ আর্গুমেন্টের সাথে কল করা হয়।

DYNAMIC_RECEIVER_EXPLICIT_EXPORT_REQUIRED

পরিবর্তন আইডি: 161145287
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

চালু করা থাকলে, কোডে অসুরক্ষিত ব্রডকাস্টের জন্য রিসিভার রেজিস্টার করার সময় Context.RECEIVER_EXPORTED অথবা Context.RECEIVER_NOT_EXPORTED-এর মধ্যে যেকোনও একটি স্পষ্টভাবে সেট করার জন্য অ্যাপের প্রয়োজন হয়।

আরও জানতে, কন্টেক্সট-রেজিস্টার করা রিসিভারের আরও নিরাপদ এক্সপোর্ট সংক্রান্ত বিভাগটি দেখুন।

ENABLE_PENDING_INTENT_BAL_OPTION

পরিবর্তন আইডি: 192341120
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, ব্যাকগ্রাউন্ড অ্যাক্টিভিটি শুরু করার জন্য PendingIntent-এর অপব্যবহার হওয়া থেকে সুরক্ষা প্রদান করে।

ENABLE_SIMPLIFIED_DARK_MODE

পরিবর্তন আইডি: 214741472
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, অ্যাপের থিম অনুযায়ী ওয়েব কন্টেন্টে লাইট বা ডার্ক স্টাইল প্রয়োগ করার অনুমতি দেয় এবং উপযুক্ত হলে অ্যালগরিদমিক ডার্কেনিংয়ের মাধ্যমে WebView ওয়েব কন্টেন্ট ডার্ক করার চেষ্টা করে। আরও বিবরণের জন্য setAlgorithmicDarkeningAllowed(boolean) দেখুন।

ENABLE_TOUCH_OPAQUE_ACTIVITIES

পরিবর্তন আইডি: ১৯৪৪৮০৯৯১
ডিফল্ট অবস্থা: সব অ্যাপের জন্য চালু করা আছে।

Android 13 (API লেভেল 33) বা তার পরবর্তী যেকোনও ভার্সনে চলা অ্যাপের ক্ষেত্রে, অ্যাক্টিভিটি যাতে টাস্ক বাউন্ডের মধ্যে সব টাচ গ্রহণ করে তা নিশ্চিত করে।

ENABLE_USE_EXACT_ALARM

পরিবর্তন আইডি: 218533173
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android 13 (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, নির্দিষ্ট ধরনের অ্যাপকে Manifest.permission.USE_EXACT_ALARM ব্যবহার করে এক্স্যাক্ট অ্যালার্ম শিডিউল করার অনুমতি দেয়।

ENFORCE_INTENTS_TO_MATCH_INTENT_FILTERS

পরিবর্তন আইডি: ১৬১২৫২১৮৮
ডিফল্ট অবস্থা: সব অ্যাপের জন্য চালু করা আছে।

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

ENFORCE_STRICT_QUERY_BUILDER

পরিবর্তন আইডি: 143231523
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

চালু করা থাকলে, SQLiteQueryBuilder ক্ষতিকর আর্গুমেন্টের বিরুদ্ধে সব CalendarProvider2 কোয়েরি বাছাইকরণ যাচাই করে।

FORCE_DISABLE_HEVC_SUPPORT

পরিবর্তন আইডি: ১৭৪২২৭৮২০
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

HEVC মিডিয়া ক্ষমতা সাপোর্ট করা থেকে কোনও অ্যাপকে জোর করে বন্ধ করুন। অ্যাপের ম্যানিফেস্টে সেটির মিডিয়া সংক্রান্ত ক্ষমতা উল্লেখ করা উচিত, তবে এই ফ্ল্যাগ ব্যবহার করে কোনও অ্যাপকে HEVC-তে এনকোড করা মিডিয়া অ্যাক্সেস করার সময় ট্রান্সকোড করতে বাধ্য করা যেতে পারে। এই ফ্ল্যাগ সেট করলে, অ্যাপের জন্য OS লেভেলের যেকোনও ডিফল্ট ওভাররাইড হয়ে যায়। এটি ডিফল্ট হিসেবে বন্ধ করা থাকে, যার অর্থ হল OS ডিফল্ট অগ্রাধিকার পায়। এই ফ্ল্যাগ এবং FORCE_ENABLE_HEVC_SUPPORT দুটিই চালু থাকলে, OS দুটি ফ্ল্যাগই উপেক্ষা করে।

FORCE_ENABLE_HEVC_SUPPORT

পরিবর্তন আইডি: ১৭৪২২৮১২৭
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

HEVC মিডিয়া ক্যাপাবিলিটি অ্যাপকে কাজ করতে দেওয়ার জন্য কোনও অ্যাপকে জোর করে চালু করা অ্যাপের ম্যানিফেস্টে তার কাজ করা মিডিয়া ক্যাপাবিলিটি ঘোষণা করা উচিত কিন্তু এই ফ্ল্যাগটি কোনও অ্যাপকে HEVC-তে কাজ করার জন্য জোর করতে ব্যবহার করা যেতে পারে, তাই HEVC-তে এনকোড করা মিডিয়া অ্যাক্সেস করার সময় ট্রান্সকোডিং এড়ানো যায়। এই ফ্ল্যাগ সেট করলে অ্যাপের জন্য যেকোনও OS লেভেল ডিফল্ট ওভাররাইড করে। এটি ডিফল্ট হিসেবে বন্ধ করা থাকে, যার অর্থ হল OS ডিফল্টকে অগ্রাধিকার দেওয়া হবে। এই ফ্ল্যাগ এবং FORCE_DISABLE_HEVC_SUPPORT দুটিই চালু থাকলে, OS দুটি ফ্ল্যাগই উপেক্ষা করে।

FORCE_NON_RESIZE_APP

পরিবর্তন আইডি: 181136395
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

এটি যে প্যাকেজে প্রয়োগ করা হয় সেটির সাইজ পরিবর্তন করা যায় না।

FORCE_RESIZE_APP

পরিবর্তন আইডি: ১৭৪০৪২৯৩৬
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

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

GET_API_SIGNATURES_FROM_UICC_PORT_INFO

পরিবর্তন আইডি: 202110963
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android 13 (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, সিম কার্ডে একই সময়ে একাধিক ICCID অ্যাক্টিভ থাকতে পারে। একাধিক চালু করা প্রোফাইল (MEP) এর জন্য সহায়তা প্রদান করে।

GWP_ASAN

পরিবর্তন আইডি: ১৩৫৬৩৪৮৪৬
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

অ্যাপে স্যাম্পেল করা নেটিভ মেমরি বাগ শনাক্তকরণ চালু করে।

GWP-ASan ব্যবহার করার ব্যাপারে আরও জানতে, GWP-ASan গাইড দেখুন।

ICC_CLOSE_CHANNEL_EXCEPTION_ON_FAILURE

পরিবর্তন আইডি: ২০৮৭৩৯৯৩৪
ডিফল্ট স্ট্যাটাস: Android ১৩ (API লেভেল ৩৩) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, ICC ক্লোজ চ্যানেল অপারেশন ব্যর্থ হলে, এখন ব্যতিক্রম থ্রো করা হয়।

MEDIA_CONTROL_SESSION_ACTIONS

পরিবর্তন আইডি: 203800354
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, Notification.MediaStyle বিজ্ঞপ্তির উপর ভিত্তি করে মিডিয়া কন্ট্রোলে এখন বিজ্ঞপ্তির অ্যাকশনের পরিবর্তে মিডিয়া সেশনের PlaybackState-এর উপর ভিত্তি করে অ্যাকশন থাকে।

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 13-এর আচরণ পরিবর্তন পৃষ্ঠায় মিডিয়া কন্ট্রোলে পরিবর্তন সংক্রান্ত বিভাগটি দেখুন।

NATIVE_HEAP_ZERO_INIT

পরিবর্তন আইডি: ১৭৮০৩৮২৭২
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

নেটিভ হিপ মেমরি অ্যালোকেশনের অটোমেটিক জিরো-ইনিশিয়ালাইজেশন চালু করুন।

NATIVE_MEMTAG_ASYNC

পরিবর্তন আইডি: ১৩৫৭৭২৯৭২
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

এই প্রসেসে অ্যাসিঙ্ক্রোনাস (ASYNC) মেমরি ট্যাগ চেকিং চালু করুন। এই ফ্ল্যাগ শুধুমাত্র ARM মেমরি ট্যাগিং এক্সটেনশন (MTE) কাজ করে এমন হার্ডওয়্যারকে প্রভাবিত করে।

NATIVE_MEMTAG_SYNC

পরিবর্তন আইডি: ১৭৭৪৩৮৩৯৪
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

এই প্রসেসে সিঙ্ক্রোনাস (SYNC) মেমরি ট্যাগ চেকিং চালু করে। এই ফ্ল্যাগ শুধুমাত্র ARM মেমরি ট্যাগিং এক্সটেনশন (MTE) কাজ করে এমন হার্ডওয়্যারকে প্রভাবিত করে। NATIVE_MEMTAG_ASYNC এবং এই বিকল্প, দুটিই চালু থাকলে, এই বিকল্পটি অগ্রাধিকার পায় এবং MTE, SYNC মোডে চালু হয়।

NOTIFICATION_LOG_ASSISTANT_CANCEL

পরিবর্তন আইডি: 195579280
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android 13 (API লেভেল 33) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের জন্য, অ্যাসিস্ট্যান্টের থেকে বিজ্ঞপ্তি বাতিল করার জন্য আরও নির্দিষ্ট কারণ বুঝতে লিসেনারদের সাহায্য করে, আরও সাধারণ REASON_LISTENER_CANCEL ব্যবহার করার পরিবর্তে।

NOTIFICATION_PERM_CHANGE_ID

পরিবর্তন আইডি: ১৯৪৮৩৩৪৪১
ডিফল্ট স্ট্যাটাস: Android ১৩ (API লেভেল ৩৩) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, বিজ্ঞপ্তির জন্য রানটাইম অনুমতি সম্পর্কিত আচরণগত পরিবর্তন চালু করে।

এই পরিবর্তন সম্পর্কে আরও জানতে, নতুন বিজ্ঞপ্তি রানটাইম অনুমতি সংক্রান্ত পৃষ্ঠা দেখুন।

NOTIFICATION_TRAMPOLINE_BLOCK_FOR_EXEMPT_ROLES

পরিবর্তন আইডি: 227752274
ডিফল্ট স্ট্যাটাস: Android ১৩ (API লেভেল ৩৩) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, Activity ব্রডকাস্ট রিসিভার বা পরিষেবা থেকে বিজ্ঞপ্তি এবং বিজ্ঞপ্তির অ্যাকশন ক্লিকে প্রতিক্রিয়া হিসেবে আসা শুরু করে, যা আগে ছাড়প্রাপ্ত রোল হোল্ডারদের (ব্রাউজার) জন্য UX এবং পারফর্ম্যান্সের কারণে ব্লক করা হয়।

OVERRIDABLE_COMPONENT_CALLBACKS

পরিবর্তন আইডি: ১৯৩২৪৭৯০০
ডিফল্ট স্ট্যাটাস: Android ১৩ (API লেভেল ৩৩) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের জন্য, registerComponentCallbacks(ComponentCallbacks) getApplicationContext()-এ সবসময় যোগ করার পরিবর্তে Activity বা ContextWrapper.getBaseContext()-এ ComponentCallbacks যোগ করে।

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

পরিবর্তন আইডি: ১৯১৫১৩২১৪
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

চালু করা হলে, এই পরিবর্তন আইডি, এটি যে প্যাকেজে প্রয়োগ করা হয়েছে সেটিকে android:resizeableActivity-এর বর্তমান ভ্যালু এবং M-এর সমান বা তার কম টার্গেট SDK উপেক্ষা করতে বাধ্য করে এবং অ্যাক্টিভিটিকে রিসাইজ করা যাবে না বলে বিবেচনা করে। এই ক্ষেত্রে, ক্যামেরা ঘোরানো এবং ক্রপ করার মান শুধুমাত্র বর্তমান ডিসপ্লে রোটেশন বিবেচনা করে প্রয়োজনীয় ক্ষতিপূরণের উপর নির্ভর করবে।

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

পরিবর্তন আইডি: ১৮৯২২৯৯৫৬
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

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

OVERRIDE_MIN_ASPECT_RATIO

পরিবর্তন আইডি: ১৭৪০৪২৯৮০
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

এই পরিবর্তনটি হল সেইসব পরিবর্তনের গেটকিপার যা প্রদত্ত ন্যূনতম অ্যাস্পেক্ট রেশিও প্রয়োগ করে। এই পরিবর্তন চালু করলে নিম্নলিখিত ন্যূনতম অ্যাস্পেক্ট রেশিও প্রয়োগ করা যাবে:

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

OVERRIDE_MIN_ASPECT_RATIO_LARGE

পরিবর্তন আইডি: ১৮০৩২৬৭৮৭
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

এছাড়াও, OVERRIDE_MIN_ASPECT_RATIO চালু করা থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে অ্যাক্টিভিটির ন্যূনতম অ্যাস্পেক্ট রেশিও OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE-এর দ্বারা নির্ধারিত বড় মানে সেট হয়ে যায়।

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

পরিবর্তন আইডি: ১৮০৩২৬৮৪৫
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

এছাড়াও, OVERRIDE_MIN_ASPECT_RATIO চালু করা থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে অ্যাক্টিভিটির ন্যূনতম অ্যাস্পেক্ট রেশিও OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE-এর দ্বারা নির্ধারিত মাঝারি মানে সেট হয়ে যায়।

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

পরিবর্তন আইডি: ২০৩৬৪৭১৯০
ডিফল্ট অবস্থা: সব অ্যাপের জন্য চালু করা আছে।

এছাড়াও, OVERRIDE_MIN_ASPECT_RATIO চালু করা থাকলে, এই পরিবর্তন অন্য যেকোনও পরিবর্তনকে সীমিত করে যা কোনও অ্যাক্টিভিটির ন্যূনতম অ্যাস্পেক্ট রেশিওকে নির্দিষ্ট ভ্যালুতে সেট করতে বাধ্য করে—যেমন OVERRIDE_MIN_ASPECT_RATIO_LARGE এবং OVERRIDE_MIN_ASPECT_RATIO_MEDIUM—এমন অ্যাক্টিভিটির ক্ষেত্রে যেগুলির পোর্ট্রেট ওরিয়েন্টেশনও আছে।

RATE_LIMIT_TOASTS

পরিবর্তন আইডি: 174840628
ডিফল্ট স্ট্যাটাস: এই পরিবর্তন টগল করা যাবে না। এটি শুধুমাত্র কম্প্যাটিবিলিটি ফ্রেমওয়ার্কের মাধ্যমে লগ করা হয়।

সীমিত সময়ের মধ্যে ব্যবহারকারীকে অনেক বেশি টোস্ট দেখানোর মাধ্যমে ওভারবার্ডেন করা আটকানোর জন্য Toast.show() কলের সংখ্যার উপর রেট লিমিটিং চালু করে। নির্দিষ্ট সময়সীমার মধ্যে অনুমোদিত সংখ্যার চেয়ে বেশি টোস্ট দেখানোর চেষ্টা করলে টোস্ট বাতিল হয়ে যায়।

REQUEST_LISTENING_MUST_MATCH_PACKAGE

পরিবর্তন আইডি: ১৭২২৫১৮৭৮
ডিফল্ট স্ট্যাটাস: Android ১৩ (API লেভেল ৩৩) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android 13 (API লেভেল 33) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, TileService.requestListeningState(Context, ComponentName) কল করার মাধ্যমে চেক করা হয় যে কলিং প্যাকেজ (UID) এবং টার্গেট প্যাকেজ ComponentName মিলছে কিনা। এছাড়াও, সিস্টেম চেক করে দেখে যে ব্যবহৃত প্রসঙ্গ বর্তমান ব্যবহারকারীর হয়ে অ্যাকশন নিতে পারবে কিনা।

RETURN_ADVANCED_VIDEO_PROFILES

পরিবর্তন আইডি: ২০৬০৩৩০৬৮
ডিফল্ট স্ট্যাটাস: Android ১৩ (API লেভেল ৩৩) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের জন্য, getAll(String, int)-এর মাধ্যমে ফেরত পাঠানো ভিডিও প্রোফাইলের ধরন কন্ট্রোল করে।

SHOULD_RESOLVE_PORT_INDEX_FOR_APPS

পরিবর্তন আইডি: ২২৪৫৬২৮৭২
ডিফল্ট স্ট্যাটাস: Android ১৩ (API লেভেল ৩৩) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

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

SWITCH_WITHOUT_PORT_INDEX_EXCEPTION_ON_DISABLE

পরিবর্তন আইডি: 218393363
ডিফল্ট স্ট্যাটাস: Android ১৩ (API লেভেল ৩৩) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, সিস্টেম ব্যতিক্রম দেখায় যখনই switchToSubscription() portIndex ছাড়া কল করা হয়, কোনও সাবস্ক্রিপশন বন্ধ করার জন্য।

THROW_ON_INVALID_PRIORITY_VALUE

পরিবর্তন আইডি: 140852299
ডিফল্ট স্ট্যাটাস: Android 13 (API লেভেল 33) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

Android ১৩ (API লেভেল ৩৩) এবং তার পরবর্তী ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, JobInfo.Builder.setPriority(int) ব্যবহার করে কোনও অ্যাপ ভুল প্রায়োরিটি ভ্যালু প্রদান করলে, সিস্টেম ব্যতিক্রম দেখায়। পুরনো অ্যাপ API ভুলভাবে ব্যবহার করতে পারে, তাই API ব্যবহার করা চালিয়ে গেলে কল সাইলেন্টলি ব্যর্থ হয়।

USE_EXPERIMENTAL_COMPONENT_ALIAS

পরিবর্তন আইডি: ১৯৬২৫৪৭৫৮
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

চালু করা হলে, সিস্টেম "android" প্যাকেজকে কম্পোনেন্ট অ্যালিয়াস ব্যবহার করার অনুমতি দেয়।