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

এই পৃষ্ঠাটি Android 11 (API স্তর 30) এর সামঞ্জস্যপূর্ণ কাঠামোতে যুক্ত করা প্রতিটি অ্যাপ-প্রভাবিত আচরণ পরিবর্তনের বর্ণনা করে। আপনি Android 11 টার্গেট করার জন্য প্রস্তুত হওয়ার সাথে সাথে আপনার অ্যাপটি পরীক্ষা এবং ডিবাগ করতে বিকাশকারী বিকল্প এবং ADB কমান্ডের সাথে এই তালিকাটি ব্যবহার করুন।

ADD_CONTENT_OBSERVER_FLAGS

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

অ্যান্ড্রয়েড 11 টার্গেট করা অ্যাপগুলির জন্য, onChange(boolean, Uri, int) একটি নতুন পাবলিক API ওভারলোড রয়েছে যাতে একটি পূর্ণসংখ্যা flags আর্গুমেন্ট রয়েছে৷

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

ADMIN_APP_PASSWORD_COMPLEXITY

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

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

APP_DATA_DIRECTORY_ISOLATION

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

যে অ্যাপগুলি Android 11 কে টার্গেট করে সেগুলি অন্য অ্যাপের টার্গেট SDK সংস্করণ নির্বিশেষে কোনও অ্যাপের ব্যক্তিগত ডেটা ডিরেক্টরিতে আর ফাইল অ্যাক্সেস করতে পারে না।

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

APN_READING_PERMISSION_CHANGE_ID

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

Android 11 টার্গেট করা অ্যাপগুলির জন্য, APN ডাটাবেস অ্যাক্সেস করার জন্য এখন Manifest.permission.WRITE_APN_SETTINGS অনুমতি প্রয়োজন৷

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

BACKGROUND_RATIONALE_CHANGE_ID

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

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

CALLBACK_ON_CLEAR_CHANGE

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

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

CALLBACK_ON_MORE_ERROR_CODE_CHANGE

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

CALL_BACK_ON_CHANGED_LISTENER_WITH_SWITCHED_OP_CHANGE

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

CAMERA_MICROPHONE_CAPABILITY_CHANGE_ID

আইডি পরিবর্তন করুন : 136219221

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

Android 11 টার্গেট করা অ্যাপগুলির জন্য, ফোরগ্রাউন্ড পরিষেবাগুলি শুধুমাত্র ক্যামেরা এবং মাইক্রোফোন গ্রহণ করার সময় ব্যবহার করার ক্ষমতাগুলি পায় যখন R.attr.foregroundServiceType কে ServiceInfo.FOREGROUND_SERVICE_TYPE_CAMERA এবং ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE হিসাবে কনফিগার করা হয়। অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলিতে, ফোরগ্রাউন্ড পরিষেবাগুলি স্বয়ংক্রিয়ভাবে ক্যামেরা এবং মাইক্রোফোন ক্ষমতাগুলি পেয়েছে৷

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

CHANGE_BACKGROUND_CUSTOM_TOAST_BLOCK

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

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

CHANGE_RESTRICT_SAW_INTENT

আইডি পরিবর্তন করুন : 135920175

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

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

CHANGE_TEXT_TOASTS_IN_THE_SYSTEM

আইডি পরিবর্তন করুন : 147798919

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

টেক্সট টোস্ট এখন ইন-অ্যাপের পরিবর্তে SystemUI দ্বারা রেন্ডার করা হয়। এটি অ্যাপগুলিকে ব্যাকগ্রাউন্ডে কাস্টম টোস্ট পোস্ট করার বিধিনিষেধ এড়াতে বাধা দেয়৷

DEFAULT_SCOPED_STORAGE

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

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

Android 11 টার্গেট করা সমস্ত অ্যাপ এখন ডিফল্টরূপে স্কোপড স্টোরেজ ব্যবহার করে এবং স্কোপড স্টোরেজ থেকে আর অপ্ট আউট করতে পারে না।

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

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

EMPTY_INTENT_ACTION_CATEGORY

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

FILTER_APPLICATION_QUERY

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

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

FORCE_ENABLE_SCOPED_STORAGE

আইডি পরিবর্তন করুন : মান: 132649864

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

Android 11 টার্গেট করা সমস্ত অ্যাপ এখন ডিফল্টরূপে স্কোপড স্টোরেজ ব্যবহার করে এবং স্কোপড স্টোরেজ থেকে আর অপ্ট আউট করতে পারে না।

যাইহোক, যদি আপনার অ্যাপটি এখনও Android 10 (API লেভেল 29) বা তার থেকে কম টার্গেট করে, তাহলে আপনি এই পরিবর্তনটি চালু করে আপনার অ্যাপের টার্গেট SDK ভার্সন এবং ম্যানিফেস্ট ফ্ল্যাগ মান নির্বিশেষে স্কোপড স্টোরেজ সহ আপনার অ্যাপটি পরীক্ষা করতে পারেন।

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

GET_DATA_CONNECTION_STATE_R_VERSION

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

PreciseDataConnectionState#getDataConnectionState এর জন্য SDK সংস্করণ পরীক্ষা করতে।

GET_DATA_STATE_R_VERSION

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

getDataState() এর জন্য SDK সংস্করণ পরীক্ষা করতে।

GET_PROVIDER_SECURITY_EXCEPTIONS

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

Android 11 (API লেভেল 30) বা উচ্চতরকে টার্গেট করা অ্যাপগুলির জন্য, getProvider(String) আর কোনও নিরাপত্তা ব্যতিক্রম নিক্ষেপ করে না।

GET_TARGET_SDK_VERSION_CODE_CHANGE

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

ডিফল্ট অবস্থা : Android 10 (API স্তর 29) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম৷

SmsManager.sendResolverResult() পদ্ধতির জন্য SDK সংস্করণ পরীক্ষা করতে।

GWP_ASAN

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

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

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

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

HIDE_MAXTARGETSDK_P_HIDDEN_APIS

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

ডিফল্ট অবস্থা : Android 10 (API স্তর 29) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম৷

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) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য, Android 11 (API স্তর 30) এর জন্য max-target-q ( greylist-max-q ) তালিকার অংশ এমন সমস্ত নন-SDK ইন্টারফেসের অ্যাক্সেস সরিয়ে দেয়৷

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

LISTEN_CODE_CHANGE

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

ডিফল্ট অবস্থা : Android 10 (API স্তর 29) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম৷

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

MISSING_APP_TAG

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

NATIVE_HEAP_POINTER_TAGGING

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

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

PHONE_STATE_LISTENER_LIMIT_CHANGE_ID

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

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

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

PREVENT_META_REFLECTION_BLACKLIST_ACCESS

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

Android 11 টার্গেট করা অ্যাপগুলি আর সীমাবদ্ধ নয় এমন SDK ইন্টারফেস অ্যাক্সেস করতে প্রতিফলনের অতিরিক্ত স্তর ব্যবহার করতে পারে না।

PROCESS_CAPABILITY_CHANGE_ID

আইডি পরিবর্তন করুন : 136274596

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

অ্যান্ড্রয়েড 11 টার্গেট করা অ্যাপগুলির জন্য, ফ্ল্যাগ Context.BIND_INCLUDE_CAPABILITIES এখন ক্লায়েন্ট প্রক্রিয়া থেকে একটি আবদ্ধ পরিষেবাতে ব্যবহারের সময় ক্ষমতাগুলি পাস করতে ব্যবহার করা যেতে পারে।

REMOVE_ANDROID_TEST_BASE

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

Android 11-কে লক্ষ্য করে এমন অ্যাপের জন্য, android.test.base লাইব্রেরি সরিয়ে দেওয়া হয়েছে যদি অ্যাপটি android.test.runner এর উপর নির্ভর না করে (যেমন এটি android.test.base লাইব্রেরির ক্লাসের উপর নির্ভর করে)।

REQUEST_ACCESSIBILITY_BUTTON_CHANGE

আইডি পরিবর্তন করুন : 136293963

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

অ্যান্ড্রয়েড 11 কে লক্ষ্য করে অ্যাক্সেসিবিলিটি পরিষেবাগুলির জন্য, FLAG_REQUEST_ACCESSIBILITY_BUTTON পতাকাটি এখন অ্যাক্সেসিবিলিটি পরিষেবা মেটাডেটা ফাইলে নির্দিষ্ট করা আবশ্যক৷ অন্যথায়, পতাকা উপেক্ষা করা হয়.

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

RESOURCES_ARSC_COMPRESSED

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

Android 11 (API স্তর 30) টার্গেট করা অ্যাপগুলি ইনস্টল করা যাবে না যদি সেগুলিতে একটি সংকুচিত resources.arsc arsc ফাইল থাকে বা যদি এই ফাইলটি 4-বাইটের সীমানায় সারিবদ্ধ না থাকে।

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

RESTRICT_STORAGE_ACCESS_FRAMEWORK

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

SELINUX_LATEST_CHANGES

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

শেয়ার করা ইউজার আইডি ব্যবহার করে এমন অ্যাপের জন্য এই পরিবর্তনের কোনো প্রভাব নেই।

THROW_SECURITY_EXCEPTIONS

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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

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

USE_SET_LOCATION_ENABLED

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

ডিফল্ট অবস্থা : Android 11 (API লেভেল 30) বা উচ্চতরকে লক্ষ্য করে এমন অ্যাপগুলির জন্য সক্ষম।

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