সামঞ্জস্যপূর্ণ কাঠামো পরিবর্তন (Android 11)

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

ADD_CONTENT_OBSERVER_FLAGS

পরিবর্তন আইডি : 150939131

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-এর জন্য তৈরি অ্যাপগুলোতে onChange(boolean, Uri, int) একটি নতুন পাবলিক এপিআই ওভারলোড রয়েছে, যেটিতে একটি ইন্টিজার flags আর্গুমেন্ট অন্তর্ভুক্ত আছে।

এই নতুন পদ্ধতিটি এমন অ্যাপগুলির জন্য একটি পাবলিক SDK বিকল্প, যেগুলি একটি পূর্ণসংখ্যা userId আর্গুমেন্ট সহ নন-SDK onChange() ওভারলোডেড পদ্ধতি ব্যবহার করে।

অ্যাডমিন_অ্যাপ_পাসওয়ার্ড_জটিলতা

পরিবর্তন আইডি : 123562444

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-এর জন্য তৈরি অ্যাডমিন অ্যাপগুলোর ক্ষেত্রে, যখনই কোনো অ্যাপ বর্তমানে নির্ধারিত পাসওয়ার্ড কোয়ালিটির সাথে সম্পর্কহীন কোনো পাসওয়ার্ডের শর্ত সেট করে, তখন একটি এরর দেখান। উদাহরণস্বরূপ, যখন পাসওয়ার্ড কোয়ালিটি DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED এ সেট করা থাকে, তখন কোনো অ্যাপ সর্বনিম্ন পাসওয়ার্ডের দৈর্ঘ্য নির্ধারণ করতে পারবে না। এই ক্ষেত্রে, সর্বনিম্ন পাসওয়ার্ডের দৈর্ঘ্য নির্ধারণ করার চেষ্টা করার আগে, অ্যাপটির প্রথমে setPasswordQuality() মেথডটি কল করা উচিত এবং তারপরেই setPasswordMinimumLength() মেথডটি কল করা উচিত।

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

অ্যাপ_ডেটা_ডিরেক্টরি_আইসোলেশন

পরিবর্তন আইডি : 143937733

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-কে লক্ষ্য করে তৈরি অ্যাপগুলো এখন থেকে অন্য কোনো অ্যাপের টার্গেট এসডিকে ভার্সন নির্বিশেষে, সেই অ্যাপের প্রাইভেট ডেটা ডিরেক্টরিতে থাকা ফাইলগুলো আর অ্যাক্সেস করতে পারবে না।

আরও জানতে, ব্যক্তিগত ডিরেক্টরিতে প্রবেশাধিকার দেখুন।

APN_READING_PERMISSION_CHANGE_ID

পরিবর্তন আইডি : 124107808

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-এর জন্য তৈরি অ্যাপগুলোতে, APN ডেটাবেস অ্যাক্সেস করার জন্য এখন Manifest.permission.WRITE_APN_SETTINGS পারমিশনটির প্রয়োজন হবে।

এই পরিবর্তন সম্পর্কে আরও জানতে, APN ডেটাবেসে পঠন অ্যাক্সেস সীমাবদ্ধ দেখুন।

পটভূমির_যুক্তি_পরিবর্তন_আইডি

পরিবর্তন আইডি : 147316723

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

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

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

পরিবর্তন পরিষ্কার করলে কলব্যাক

পরিবর্তন আইডি : 119147584

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

যখনই Editor.clear কল করা হয়, তখন এখন OnSharedPreferenceChangeListener.onSharedPreferenceChanged এ একটি null কী সহ একটি কলব্যাক করা হয়।

এই পরিবর্তন সম্পর্কে আরও জানতে, OnSharedPreferenceChangeListener-এর জন্য কলব্যাক পরিবর্তনসমূহ দেখুন।

CALLBACK_ON_MORE_ERROR_CODE_CHANGE

পরিবর্তন আইডি : 130595455

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

updateAvailableNetworks(List, Executor, Consumer) এবং setPreferredOpportunisticDataSubscription(int, boolean, Executor, Consumer) -এর জন্য ত্রুটি কোডগুলি এখন বিস্তারিত করা হয়েছে।

CALL_BACK_ON_CHANGED_LISTENER_WITH_SWITCHED_OP_CHANGE

পরিবর্তন আইডি : 148180766

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

এটি startWatchingMode(String, String, AppOpsManager.OnOpChangedListener) ফাংশনের একটি সূক্ষ্ম আচরণগত পরিবর্তন। এই পরিবর্তনের আগে, সিস্টেম সুইচ করা অপ-এর জন্য কলব্যাক করত। পরিবর্তনের পরে, সিস্টেম প্রকৃতপক্ষে অনুরোধ করা অপ-এর জন্য কলব্যাক করবে, অথবা কোনো অপ নির্দিষ্ট না করা থাকলে সমস্ত সুইচ করা অপ-এর জন্য কলব্যাক করবে।

ক্যামেরা_মাইক্রোফোন_ক্যাপাবিলিটি_চেঞ্জ_আইডি

পরিবর্তন আইডি : ১৩৬২১৯২২১

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-এর জন্য তৈরি অ্যাপগুলোর ক্ষেত্রে, ফোরগ্রাউন্ড সার্ভিসগুলো ব্যবহারের সময় ক্যামেরা ও মাইক্রোফোন ব্যবহারের সক্ষমতা তখনই পায়, যখন ম্যানিফেস্ট ফাইলে R.attr.foregroundServiceType কে যথাক্রমে ServiceInfo.FOREGROUND_SERVICE_TYPE_CAMERA এবং ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE হিসেবে কনফিগার করা থাকে। অ্যান্ড্রয়েডের আগের সংস্করণগুলোতে, ফোরগ্রাউন্ড সার্ভিসগুলো স্বয়ংক্রিয়ভাবে ক্যামেরা ও মাইক্রোফোন ব্যবহারের সক্ষমতা পেয়ে যেত।

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 11-এর ফোরগ্রাউন্ড সার্ভিস টাইপস দেখুন।

CHANGE_BACKGROUND_CUSTOM_TOAST_BLOCK

পরিবর্তন আইডি : 128611929

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যাপগুলো এখন আর ব্যাকগ্রাউন্ডে কাস্টম টোস্ট পোস্ট করতে পারবে না। তবে, অ্যাপগুলো ব্যাকগ্রাউন্ডে থাকা অবস্থায়ও Toast.makeText(Context, CharSequence, int) মেথড এবং এর বিভিন্ন রূপ ব্যবহার করে টোস্ট পোস্ট করতে পারবে।

এই পরিবর্তন সম্পর্কে আরও জানতে, ‘কাস্টম টোস্ট ভিউ ব্লক করা হয়েছে’ দেখুন।

CHANGE_RESTRICT_SAW_INTENT

পরিবর্তন আইডি : ১৩৫৯২০১৭৫

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

android.settings.MANAGE_APP_OVERLAY_PERMISSION অ্যাকশন এবং package ডেটা ইউআরআই স্কিম ব্যবহারকারী ইন্টেন্টগুলো এখন আর ব্যবহারকারীকে সংশ্লিষ্ট পারমিশনটি পরিচালনা করার জন্য কোনো অ্যাপ-নির্দিষ্ট স্ক্রিনে নিয়ে যায় না। এর পরিবর্তে, ব্যবহারকারীকে এমন একটি স্ক্রিনে নিয়ে যাওয়া হয় যেখানে তিনি সেই সমস্ত অ্যাপ পরিচালনা করতে পারেন, যেগুলো পারমিশনটির জন্য অনুরোধ করেছে।

সিস্টেমে টেক্সট টোস্ট পরিবর্তন করুন

পরিবর্তন আইডি : ১৪৭৭৯৮৯১৯

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

টেক্সট টোস্ট এখন অ্যাপের পরিবর্তে সিস্টেমইউআই (SystemUI) দ্বারা রেন্ডার করা হয়। এর ফলে অ্যাপগুলো ব্যাকগ্রাউন্ডে কাস্টম টোস্ট পোস্ট করার ওপর থাকা বিধিনিষেধ এড়িয়ে যেতে পারে না।

ডিফল্ট_স্কোপড_স্টোরেজ

পরিবর্তন আইডি : 149924527

ডিফল্ট অবস্থা : সকল অ্যাপের জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-এর জন্য তৈরি সমস্ত অ্যাপ এখন ডিফল্টরূপে স্কোপড স্টোরেজ ব্যবহার করে এবং এগুলো থেকে বেরিয়ে আসার আর কোনো সুযোগ নেই।

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

অ্যান্ড্রয়েড ১১-এ স্কোপড স্টোরেজের পরিবর্তনগুলো সম্পর্কে আরও জানতে, অ্যান্ড্রয়েড ১১-এর স্টোরেজ পরিবর্তন সংক্রান্ত পৃষ্ঠার ' স্কোপড স্টোরেজ' অংশটি দেখুন।

খালি_উদ্দেশ্য_কর্ম_বিভাগ

পরিবর্তন আইডি : 151163173

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-এর জন্য তৈরি অ্যাপগুলোর ক্ষেত্রে, কোনো ইন্টেন্ট ফিল্টারের action বা category যদি একটি খালি স্ট্রিং হয়, তাহলে সিস্টেম এখন একটি এরর দেখাবে। অ্যান্ড্রয়েড ১১-এর আগের প্ল্যাটফর্মে একটি বাগের কারণে এই ক্ষেত্রে কোনো এরর দেখাতো না। উল্লেখ্য যে, অ্যাট্রিবিউটটি নাল (null) বা অনুপস্থিত থাকলে এই নিয়মটি প্রযোজ্য হবে না, কারণ সেক্ষেত্রে সবসময়ই একটি এরর দেখাতো।

ফিল্টার_অ্যাপ্লিকেশন_কোয়েরি

পরিবর্তন আইডি : 135549675

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

এখন থেকে কোনো ডিভাইসের অন্যান্য অ্যাপ সম্পর্কে বিস্তারিত তথ্য পাওয়ার আগে, অ্যাপগুলোকে অবশ্যই তারা যে প্যাকেজ এবং ইনটেন্টগুলো ব্যবহার করতে চায়, তা ঘোষণা করতে হবে। এই ধরনের ঘোষণা অ্যাপের ম্যানিফেস্টে <queries> ট্যাগ ব্যবহার করে করতে হবে।

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

ফোর্স_এনাবল_স্কোপড_স্টোরেজ

পরিবর্তন আইডি : মান: ১৩২৬৪৯৮৬৪

ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

অ্যান্ড্রয়েড ১১-এর জন্য তৈরি সমস্ত অ্যাপ এখন ডিফল্টরূপে স্কোপড স্টোরেজ ব্যবহার করে এবং এগুলো থেকে বেরিয়ে আসার আর কোনো সুযোগ নেই।

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

অ্যান্ড্রয়েড ১১-এ স্কোপড স্টোরেজের পরিবর্তনগুলো সম্পর্কে আরও জানতে, অ্যান্ড্রয়েড ১১-এর স্টোরেজ পরিবর্তন সংক্রান্ত পৃষ্ঠার ' স্কোপড স্টোরেজ' অংশটি দেখুন।

GET_DATA_CONNECTION_STATE_R_VERSION

পরিবর্তন আইডি : 148535736

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

PreciseDataConnectionState#getDataConnectionState এর জন্য SDK সংস্করণ যাচাই করতে।

GET_DATA_STATE_R_VERSION

পরিবর্তন আইডি : 148534348

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

getDataState() এর জন্য SDK সংস্করণ যাচাই করতে।

GET_PROVIDER_SECURITY_EXCEPTIONS

পরিবর্তন আইডি : 150935354

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণের জন্য তৈরি অ্যাপগুলোতে, getProvider(String) এখন আর কোনো নিরাপত্তা সংক্রান্ত ব্যতিক্রম (security exception) দেখায় না।

GET_TARGET_SDK_VERSION_CODE_CHANGE

পরিবর্তন আইডি : 145147528

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১০ (এপিআই লেভেল ২৯) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

SmsManager.sendResolverResult() মেথডটির জন্য SDK ভার্সন চেক করতে।

জিডব্লিউপি_আসান

পরিবর্তন আইডি : 135634846

ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

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

এই পরিবর্তন সম্পর্কে আরও জানতে, GWP-ASan নির্দেশিকাটি দেখুন।

HIDE_MAXTARGETSDK_P_HIDDEN_APIS

পরিবর্তন আইডি : 149997251

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১০ (এপিআই লেভেল ২৯) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

যেসব অ্যাপ Android 10 (API লেভেল 29) বা তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি, সেগুলোর ক্ষেত্রে Android 10 (API লেভেল 29)-এর max-target-p ( greylist-max-p ) তালিকার অন্তর্ভুক্ত সমস্ত নন-SDK ইন্টারফেসে অ্যাক্সেস বন্ধ করে দেওয়া হয়।

HIDE_MAXTARGETSDK_Q_HIDDEN_APIS

পরিবর্তন আইডি : 149994052

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

যেসব অ্যাপ Android 11 (API লেভেল 30) বা তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি, সেগুলোর ক্ষেত্রে Android 11 (API লেভেল 30)-এর max-target-q ( greylist-max-q ) তালিকার অন্তর্ভুক্ত সমস্ত নন-SDK ইন্টারফেসে অ্যাক্সেস বন্ধ করে দেওয়া হয়।

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 11-এ এখন ব্লক করা নন-SDK ইন্টারফেসগুলো দেখুন।

LISTEN_CODE_CHANGE

পরিবর্তন আইডি : 147600208

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১০ (এপিআই লেভেল ২৯) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

TelephonyManager.listen(PhoneStateListener, int) এর জন্য SDK সংস্করণ পরীক্ষা করতে।

মিসিং_অ্যাপ_ট্যাগ

পরিবর্তন আইডি : 150776642

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-এর জন্য তৈরি অ্যাপগুলোর ম্যানিফেস্ট ফাইলে application বা instrumentation ট্যাগ না থাকলে এখন একটি এরর দেখানো হয়।

নেটিভ_হিপ_পয়েন্টার_ট্যাগিং

পরিবর্তন আইডি : 135754954

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-এর জন্য তৈরি অ্যাপগুলোর ক্ষেত্রে, নেটিভ হিপ অ্যালোকেশনের সবচেয়ে গুরুত্বপূর্ণ বাইটে এখন একটি অশূন্য ট্যাগ থাকবে।

আরও জানতে, হিপ পয়েন্টার ট্যাগিং দেখুন।

PHONE_STATE_LISTENER_LIMIT_CHANGE_ID

পরিবর্তন আইডি : 150880553

ডিফল্ট অবস্থা : সকল অ্যাপের জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-এর জন্য তৈরি অ্যাপগুলোর ক্ষেত্রে, এখন TelephonyManager.listen(PhoneStateListener, int) ব্যবহার করে কোনো প্রসেস যতগুলো PhoneStateListener অবজেক্ট রেজিস্টার করতে পারবে, তার উপর একটি সীমা নির্ধারণ করা হয়েছে। ডিফল্ট সীমা হলো ৫০, যা রিমোট ডিভাইস কনফিগারেশন আপডেটের মাধ্যমে পরিবর্তিত হতে পারে। যখন কোনো প্রসেস প্রয়োজনের চেয়ে বেশি লিসেনার রেজিস্টার করার চেষ্টা করে, তখন TelephonyManager.listen(PhoneStateListener, int) দ্বারা একটি IllegalStateException থ্রো করা হয় এবং এর মাধ্যমে এই সীমাটি কার্যকর করা হয়।

PREVENT_META_REFLECTION_BLACKLIST_ACCESS

পরিবর্তন আইডি : 142365358

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

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

PROCESS_CAPABILITY_CHANGE_ID

পরিবর্তন আইডি : ১৩৬২৭৪৫৯৬

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-কে লক্ষ্য করে তৈরি অ্যাপগুলির জন্য, এখন ক্লায়েন্ট প্রসেস থেকে একটি বাউন্ড সার্ভিসে ব্যবহারযোগ্য ক্যাপাবিলিটি পাস করার জন্য Context.BIND_INCLUDE_CAPABILITIES ফ্ল্যাগটি ব্যবহার করা যাবে।

অ্যান্ড্রয়েড টেস্ট বেস সরান

পরিবর্তন আইডি : 133396946

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-কে লক্ষ্য করে তৈরি অ্যাপগুলোর ক্ষেত্রে android.test.base লাইব্রেরিটি সরিয়ে ফেলা হয়েছে, যদি অ্যাপটি android.test.runner এর উপর নির্ভরশীল না হয় (কারণ এটি android.test.base লাইব্রেরির ক্লাসগুলোর উপর নির্ভর করে)।

অ্যাক্সেসিবিলিটি বোতাম পরিবর্তনের অনুরোধ

পরিবর্তন আইডি : ১৩৬২৯৩৯৬৩

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-এর জন্য তৈরি অ্যাক্সেসিবিলিটি সার্ভিসগুলোর ক্ষেত্রে, এখন থেকে অ্যাক্সেসিবিলিটি সার্ভিস মেটাডেটা ফাইলে FLAG_REQUEST_ACCESSIBILITY_BUTTON ফ্ল্যাগটি অবশ্যই উল্লেখ করতে হবে। অন্যথায়, ফ্ল্যাগটি উপেক্ষা করা হবে।

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

RESOURCES_ARSC_COMPRESSED

পরিবর্তন আইডি : 132742131

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) টার্গেট করা অ্যাপ ইনস্টল করা যাবে না, যদি সেগুলিতে একটি কম্প্রেসড resources.arsc ফাইল থাকে অথবা ফাইলটি ৪-বাইট বাউন্ডারিতে অ্যালাইন করা না থাকে।

এই পরিবর্তন সম্পর্কে আরও জানতে, সংকুচিত রিসোর্স ফাইলসমূহ দেখুন।

স্টোরেজ অ্যাক্সেস ফ্রেমওয়ার্ক সীমাবদ্ধ করুন

পরিবর্তন আইডি : 141600225

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

আপনার অ্যাপটি যদি অ্যান্ড্রয়েড ১১-কে টার্গেট করে এবং স্টোরেজ অ্যাক্সেস ফ্রেমওয়ার্ক (SAF) ব্যবহার করে, তাহলে আপনি ACTION_OPEN_DOCUMENT এবং ACTION_OPEN_DOCUMENT_TREE ইন্টেন্ট অ্যাকশন ব্যবহার করে আর নির্দিষ্ট কিছু ডিরেক্টরি অ্যাক্সেস করতে পারবেন না। এই পরিবর্তনগুলো সম্পর্কে আরও জানতে, অ্যান্ড্রয়েড ১১-এর স্টোরেজ-সম্পর্কিত প্রাইভেসি আপডেট নিয়ে আলোচনা করা পেজটির ‘ডকুমেন্ট অ্যাক্সেস সীমাবদ্ধতা’ অংশটি দেখুন।

SELINUX_LATEST_CHANGES

পরিবর্তন আইডি : 143539591

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

এই পরিবর্তনটি অ্যাপগুলোকে untrusted_app_R-targetSDk SELinux ডোমেইনে প্রবেশাধিকার দেয় না। এটি কম্প্যাটিবিলিটি ফ্রেমওয়ার্কের অন্যতম মৌলিক পরিবর্তন, যা অ্যাপগুলোকে তাদের নিজেদের targetSDKVersion পরিবর্তন না করেই targetSdkVersion দ্বারা নিয়ন্ত্রিত অন্যান্য পরিবর্তনগুলো চালু বা বন্ধ করার সুযোগ দেয়। এই কারণে, Android 11 টার্গেট করা কোনো অ্যাপের জন্য এই পরিবর্তনটি নিষ্ক্রিয় করা উচিত নয়, অন্যথায় অ্যাপটি কাজ করবে না।

যেসব অ্যাপ শেয়ার্ড ইউজার আইডি ব্যবহার করে, তাদের ক্ষেত্রে এই পরিবর্তনটি প্রযোজ্য হবে না।

থ্রো_সিকিউরিটি_এক্সেপশনস

পরিবর্তন আইডি : 147340954

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

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

বিদ্যমান API আচরণ বজায় রাখার জন্য, যদি Android 11-কে টার্গেট করে না এমন কোনো অ্যাপের ক্ষেত্রে লিগ্যাসি পারমিশন ব্যর্থতা বা অ্যাক্টর এনফোর্সমেন্ট ব্যর্থতা ঘটে, তাহলে এক্সেপশনটিকে এমন একটি IllegalStateException এ রূপান্তরিত করা হয় যা Android 11-এর আগে সোর্সে বিদ্যমান ছিল।

USE_SET_LOCATION_ENABLED

পরিবর্তন আইডি : 117835097

ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১১-কে লক্ষ্য করে তৈরি অ্যাডমিন অ্যাপগুলো এখন আর অপ্রচলিত Settings.Secure.LOCATION_MODE সেটিং পরিবর্তন করার জন্য DevicePolicyManager.setSecureSetting(ComponentName, String, String) ব্যবহার করতে পারবে না। এর পরিবর্তে তাদের DevicePolicyManager.setLocationEnabled(ComponentName, boolean) ব্যবহার করা উচিত।