หน้านี้อธิบายการเปลี่ยนแปลงลักษณะการทำงานแต่ละอย่างที่ส่งผลต่อแอปซึ่งเพิ่มลงในเฟรมเวิร์กความเข้ากันได้ใน Android 11 (API ระดับ 30) ใช้รายการนี้ร่วมกับตัวเลือกสำหรับนักพัฒนาแอปและคําสั่ง ADB เพื่อทดสอบและแก้ไขข้อบกพร่องของแอปขณะเตรียมกำหนดเป้าหมายเป็น Android 11
ADD_CONTENT_OBSERVER_FLAGS
รหัสการเปลี่ยนแปลง: 150939131
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 11 จะมี API สาธารณะแบบโอเวอร์โหลดใหม่
onChange(boolean, Uri, int)
ที่มีอาร์กิวเมนต์ flags
แบบจำนวนเต็ม
เมธอดใหม่นี้เป็นทางเลือก SDK สาธารณะสําหรับแอปที่ใช้onChange()
เมธอดที่โอเวอร์โหลดซึ่งไม่ใช่ SDK และมีอาร์กิวเมนต์จำนวนเต็ม userId
ADMIN_APP_PASSWORD_COMPLEXITY
รหัสการเปลี่ยนแปลง: 123562444
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
สำหรับแอปผู้ดูแลระบบที่กำหนดเป้าหมายเป็น Android 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
ระบบจะเรียกกลับไปยัง OnSharedPreferenceChangeListener.onSharedPreferenceChanged
ด้วยคีย์ null
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ โปรดดูการเปลี่ยนแปลง Callback สำหรับ 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
ในไฟล์ Manifest ตามลำดับ ใน Android เวอร์ชันเก่า บริการที่ทำงานอยู่เบื้องหน้าจะได้รับสิทธิ์เข้าถึงกล้องและไมโครโฟนโดยอัตโนมัติ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่ประเภทบริการที่ทำงานอยู่เบื้องหน้าใน Android 11
CHANGE_BACKGROUND_CUSTOM_TOAST_BLOCK
รหัสการเปลี่ยนแปลง: 128611929
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
แอปไม่สามารถแสดงข้อความแจ้งแบบกำหนดเองในเบื้องหลังได้อีกต่อไป อย่างไรก็ตาม แอปจะยังคงโพสต์ข้อความแจ้งโดยใช้เมธอด Toast.makeText(Context, CharSequence,
int)
และรูปแบบต่างๆ ขณะทำงานอยู่เบื้องหลังได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่มีการบล็อกมุมมองข้อความแจ้งแบบกำหนดเอง
CHANGE_RESTRICT_SAW_INTENT
รหัสการเปลี่ยนแปลง: 135920175
สถานะเริ่มต้น: การเปลี่ยนแปลงนี้จะสลับไม่ได้ โดยจะบันทึกโดยเฟรมเวิร์กความเข้ากันได้เท่านั้น
Intent ที่ใช้การดำเนินการ android.settings.MANAGE_APP_OVERLAY_PERMISSION
และรูปแบบ URI ของข้อมูล package
จะไม่นําผู้ใช้ไปยังหน้าจอเฉพาะแอปสําหรับจัดการสิทธิ์ที่เกี่ยวข้องอีกต่อไป แต่ระบบจะนําผู้ใช้ไปยังหน้าจอที่ผู้ใช้สามารถจัดการแอปทั้งหมดที่ขอสิทธิ์ได้
CHANGE_TEXT_TOASTS_IN_THE_SYSTEM
รหัสการเปลี่ยนแปลง: 147798919
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
ตอนนี้ SystemUI จะแสดงผลข้อความแจ้งแทนที่จะเป็นในแอป ซึ่งจะช่วยป้องกันไม่ให้แอปหลบเลี่ยงข้อจำกัดในการโพสต์ข้อความแจ้งที่กำหนดเองในเบื้องหลัง
DEFAULT_SCOPED_STORAGE
รหัสการเปลี่ยนแปลง: 149924527
สถานะเริ่มต้น: เปิดใช้สำหรับแอปทั้งหมด
ตอนนี้แอปทั้งหมดที่กำหนดเป้าหมายเป็น Android 11 จะใช้พื้นที่เก็บข้อมูลที่กำหนดขอบเขตโดยค่าเริ่มต้น และจะเลือกไม่ใช้พื้นที่เก็บข้อมูลที่กำหนดขอบเขตไม่ได้อีกต่อไป
อย่างไรก็ตาม คุณสามารถทดสอบแอปได้โดยไม่ต้องใช้พื้นที่เก็บข้อมูลแบบจำกัด ไม่ว่าจะใช้ SDK เวอร์ชันเป้าหมายและค่า Flag ของไฟล์ Manifest ใดก็ตามของแอป โดยปิดการเปลี่ยนแปลงนี้
หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงพื้นที่เก็บข้อมูลแบบจำกัดใน Android 11 โปรดดูส่วนพื้นที่เก็บข้อมูลแบบจำกัดในหน้าเกี่ยวกับการเปลี่ยนแปลงพื้นที่เก็บข้อมูล Android ใน Android 11
EMPTY_INTENT_ACTION_CATEGORY
รหัสการเปลี่ยนแปลง: 151163173
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 ตอนนี้ระบบจะแสดงข้อผิดพลาดหาก action
หรือ category
ของตัวกรอง Intent เป็นสตริงว่าง ข้อบกพร่องในแพลตฟอร์มก่อน Android 11 อนุญาตให้เคสนี้ดำเนินการต่อได้โดยไม่แสดงข้อผิดพลาด โปรดทราบว่ากรณีนี้ไม่รวมถึงกรณีที่แอตทริบิวต์เป็นค่าว่างหรือขาดหายไป เนื่องจากเป็นข้อผิดพลาดเสมอ
ตัวกรอง_APPLICATION_QUERY
รหัสการเปลี่ยนแปลง: 135549675
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
ตอนนี้แอปต้องประกาศแพ็กเกจและ Intent ที่ต้องการใช้ก่อนจึงจะดูรายละเอียดเกี่ยวกับแอปอื่นๆ ในอุปกรณ์ได้ คุณต้องประกาศโดยใช้แท็ก <queries>
ในไฟล์ Manifest ของแอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีค้นหาและโต้ตอบกับแอปอื่นๆ ที่ติดตั้งใน Android 11 ได้ที่หน้าความเป็นส่วนตัวเกี่ยวกับระดับการมองเห็นแพ็กเกจ
FORCE_ENABLE_SCOPED_STORAGE
รหัสการเปลี่ยนแปลง: ค่า: 132649864
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
ตอนนี้แอปทั้งหมดที่กำหนดเป้าหมายเป็น Android 11 จะใช้พื้นที่เก็บข้อมูลแบบจำกัดโดยค่าเริ่มต้น และเลือกไม่ใช้พื้นที่เก็บข้อมูลแบบจำกัดไม่ได้อีกต่อไป
อย่างไรก็ตาม หากแอปยังคงกำหนดเป้าหมายเป็น Android 10 (API ระดับ 29) หรือต่ำกว่า คุณสามารถทดสอบแอปด้วยพื้นที่เก็บข้อมูลแบบจำกัดได้ โดยไม่คำนึงถึงเวอร์ชัน SDK เป้าหมายของแอปและค่า Flag ของไฟล์ Manifest โดยเปิดใช้การเปลี่ยนแปลงนี้
หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงพื้นที่เก็บข้อมูลแบบจำกัดใน Android 11 โปรดดูส่วนพื้นที่เก็บข้อมูลแบบจำกัดในหน้าเกี่ยวกับการเปลี่ยนแปลงพื้นที่เก็บข้อมูล Android ใน Android 11
GET_DATA_CONNECTION_STATE_R_VERSION
รหัสการเปลี่ยนแปลง: 148535736
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
วิธีตรวจสอบเวอร์ชัน SDK ของ PreciseDataConnectionState#getDataConnectionState
GET_DATA_STATE_R_VERSION
รหัสการเปลี่ยนแปลง: 148534348
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
วิธีการตรวจสอบเวอร์ชันของ SDK สำหรับ getDataState()
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) ขึ้นไป
ในการตรวจสอบเวอร์ชันของ SDK สำหรับเมธอด SmsManager.sendResolverResult()
GWP_ASAN
รหัสการเปลี่ยนแปลง: 135634846
สถานะเริ่มต้น: ปิดใช้สำหรับทุกแอป
เปิดใช้การตรวจหาข้อบกพร่องหน่วยความจําแบบสุ่มตัวอย่างในแอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่คู่มือ GWP-ASan
HIDE_MAXTARGETSDK_P_HIDDEN_APIS
รหัสการเปลี่ยนแปลง: 149997251
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 10 (API ระดับ 29) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 10 (API ระดับ 29) ขึ้นไป ให้นำสิทธิ์เข้าถึงอินเทอร์เฟซที่ไม่ใช่ SDK ทั้งหมดซึ่งเป็นส่วนหนึ่งของรายการ max-target-p
(greylist-max-p
) สำหรับ Android 10 (API ระดับ 29) ออก
HIDE_MAXTARGETSDK_Q_HIDDEN_APIS
รหัสการเปลี่ยนแปลง: 149994052
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป ระบบจะนำสิทธิ์เข้าถึงอินเทอร์เฟซที่ไม่ใช่ SDK ทั้งหมดซึ่งเป็นส่วนหนึ่งของmax-target-q
(greylist-max-q
) รายการออกจากแอปสําหรับ Android 11 (API ระดับ 30)
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่อินเทอร์เฟซที่ไม่ใช่ SDK ซึ่งตอนนี้ถูกบล็อกใน Android 11
LISTEN_CODE_CHANGE
รหัสการเปลี่ยนแปลง: 147600208
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 10 (API ระดับ 29) ขึ้นไป
วิธีตรวจสอบเวอร์ชัน SDK สําหรับ TelephonyManager.listen(PhoneStateListener,
int)
MISSING_APP_TAG
รหัสการเปลี่ยนแปลง: 150776642
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 ระบบจะแสดงข้อผิดพลาดเมื่อไฟล์ Manifest ของแอปไม่มีแท็ก application
หรือ instrumentation
NATIVE_HEAP_POINTER_TAGGING
รหัสการเปลี่ยนแปลง: 135754954
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 ตอนนี้การจัดสรรกองแบบเนทีฟจะมีแท็กที่ไม่ใช่ 0 ในไบต์ที่มีนัยสำคัญมากที่สุด
ดูข้อมูลเพิ่มเติมได้ในการติดแท็กเคอร์เซอร์ฮีป
PHONE_STATE_LISTENER_LIMIT_CHANGE_ID
รหัสการเปลี่ยนแปลง: 150880553
สถานะเริ่มต้น: เปิดใช้สำหรับแอปทั้งหมด
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 ตอนนี้มีการจำกัดจำนวนออบเจ็กต์ PhoneStateListener
ที่กระบวนการหนึ่งๆ อาจลงทะเบียนผ่าน TelephonyManager.listen(PhoneStateListener, int)
ได้
ขีดจํากัดเริ่มต้นคือ 50 ซึ่งอาจเปลี่ยนแปลงได้โดยการอัปเดตการกําหนดค่าอุปกรณ์ระยะไกล
ระบบจะบังคับใช้ขีดจํากัดนี้โดยใช้ IllegalStateException
ที่ TelephonyManager.listen(PhoneStateListener, int)
โยนเมื่อกระบวนการที่ละเมิดพยายามลงทะเบียนผู้ฟังมากเกินไป
PREVENT_META_REFLECTION_BLACKLIST_ACCESS
รหัสการเปลี่ยนแปลง: 142365358
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
แอปที่กำหนดเป้าหมายเป็น Android 11 จะใช้การสะท้อนอีกเลเยอร์เพื่อเข้าถึงอินเทอร์เฟซที่ไม่ใช่ SDK ซึ่งถูกจํากัดไม่ได้อีกต่อไป
Process_CAPABILITY_CHANGE_ID
รหัสการเปลี่ยนแปลง: 136274596
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 11 ตอนนี้คุณใช้ Flag 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) ขึ้นไป
สำหรับบริการช่วยเหลือพิเศษที่กำหนดเป้าหมายเป็น Android 11 ตอนนี้คุณต้องระบุ Flag FLAG_REQUEST_ACCESSIBILITY_BUTTON
ในไฟล์ข้อมูลเมตาของบริการช่วยเหลือพิเศษ
มิฉะนั้น ระบบจะไม่สนใจการแจ้งว่าไม่เหมาะสม
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่ประกาศการใช้งานปุ่มการช่วยเหลือพิเศษในไฟล์ข้อมูลเมตา
แหล่งข้อมูลS_ARSC_COMPRESSED
รหัสการเปลี่ยนแปลง: 132742131
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
แอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) จะติดตั้งไม่ได้หากมีไฟล์ resources.arsc
ที่บีบอัด หรือหากไฟล์นี้ไม่สอดคล้องกับขอบเขตขนาด 4 ไบต์
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่ไฟล์ทรัพยากรที่บีบอัด
RESTRICT_STORAGE_ACCESS_FRAMEWORK
รหัสการเปลี่ยนแปลง: 141600225
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
หากแอปกำหนดเป้าหมายเป็น Android 11 และใช้ Storage Access
Framework (SAF) คุณจะเข้าถึงไดเรกทอรีบางรายการโดยใช้การดำเนินการ Intent ACTION_OPEN_DOCUMENT
และ ACTION_OPEN_DOCUMENT_TREE
ไม่ได้อีกต่อไป ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงเหล่านี้ได้ที่ส่วนการจำกัดการเข้าถึงเอกสารในหน้าที่กล่าวถึงการอัปเดตด้านความเป็นส่วนตัวที่เกี่ยวข้องกับพื้นที่เก็บข้อมูลใน Android 11
SELINUX_LATEST_CHANGES
รหัสการเปลี่ยนแปลง: 143539591
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
การเปลี่ยนแปลงนี้จะกำหนดสิทธิ์เข้าถึงโดเมน SELinux untrusted_app_R-targetSDk ให้กับแอป
การเปลี่ยนแปลงนี้เป็นการเปลี่ยนแปลงพื้นฐานอย่างหนึ่งในเฟรมเวิร์กความเข้ากันได้ ซึ่งช่วยให้แอปสลับใช้การเปลี่ยนแปลงอื่นๆ ที่ควบคุมโดย targetSdkVersion
ได้โดยไม่ต้องเปลี่ยน targetSDKVersion
ของแอป คุณจึงไม่ควรปิดใช้การเปลี่ยนแปลงนี้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 ไม่เช่นนั้นแอปจะไม่ทำงาน
การเปลี่ยนแปลงนี้จะไม่มีผลกับแอปที่ใช้รหัสผู้ใช้ที่แชร์
THROW_SECURITY_EXCEPTIONS
รหัสการเปลี่ยนแปลง: 147340954
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
ก่อน Android 11 setEnabled
API จะแสดงข้อผิดพลาด SecurityException
เฉพาะในกรณีที่เกิดข้อผิดพลาดเกี่ยวกับสิทธิ์เท่านั้น ใน Android 11 จะไม่เป็นไปตามนี้แล้ว และ SecurityException
อาจแสดงขึ้นด้วยเหตุผลใดก็ได้ โดยจะไม่มีการแสดงเหตุผลต่อผู้เรียก
หากแอปที่ไม่ได้กำหนดเป้าหมายเป็น Android 11 ประสบปัญหาสิทธิ์เดิมไม่ผ่านการตรวจสอบหรือการบังคับใช้แอ็กเตอร์ไม่สำเร็จ ระบบจะบังคับให้ข้อยกเว้นเป็น IllegalStateException
ที่มีอยู่เดิมในแหล่งที่มาก่อน Android 11 เพื่อรักษาลักษณะการทำงานเดิมของ API
USE_SET_LOCATION_ENABLED
รหัสการเปลี่ยนแปลง: 117835097
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) ขึ้นไป
แอปผู้ดูแลระบบที่กำหนดเป้าหมายเป็น Android 11 จะใช้ DevicePolicyManager.setSecureSetting(ComponentName, String, String)
เพื่อเปลี่ยนการตั้งค่า Settings.Secure.LOCATION_MODE
ที่เลิกใช้งานแล้วไม่ได้อีกต่อไป แต่ควรใช้ DevicePolicyManager.setLocationEnabled(ComponentName, boolean)
แทน