ALWAYS_SANDBOX_DISPLAY_APIS
รหัสการเปลี่ยนแปลง: 185004937
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ ระบบจะใช้แซนด์บ็อกซ์ของ Display API กับแพ็กเกจโดยไม่คำนึงถึงโหมดกรอบเวลา Display API จะระบุขอบเขตของแอปเสมอ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่ส่วนในหน้าการเปลี่ยนแปลงลักษณะการทำงานของ Android 12 ที่เกี่ยวกับ
วิธีแสดงผลที่เลิกใช้งานแล้ว
|
AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER
รหัสการเปลี่ยนแปลง: 163400105
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 32) ขึ้นไป
ตั้งแต่ Android 12 เป็นต้นไป แพลตฟอร์มจะแสดงคำแนะนำที่ไม่ใช่ข้อความ (เช่น รูปภาพ) ได้โดยใช้เฟรมเวิร์กการป้อนข้อความอัตโนมัติที่ปรับปรุงแล้ว (ดูบริการป้อนข้อความอัตโนมัติ) แอปต้องใช้งาน OnReceiveContentListener API ตามปกติจึงจะจัดการคำแนะนำเหล่านี้ได้
เพื่อให้การนำ API นี้ไปใช้ราบรื่นขึ้นสำหรับแอปที่เคยติดตั้งใช้งาน InputConnection.commitContent(InputContentInfo, int, Bundle) API ไว้ก่อนหน้านี้ เราจะนำ API นั้นมาใช้เป็นทางเลือกสำรองหากแอปยังไม่ได้ติดตั้งใช้งาน OnReceiveContentListener ตัวเลือกสำรองนี้จะเปิดใช้งานใน Android 12 (API ระดับ 31) เท่านั้น รหัสการเปลี่ยนแปลงนี้จะปิดใช้โฆษณาสำรองเพื่อให้แอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 32) ขึ้นไปต้องใช้ API ของ OnReceiveContentListener เพื่อยอมรับคำแนะนำที่ไม่ใช่ข้อความ
|
BLOCK_FLAG_SLIPPERY
รหัสการเปลี่ยนแปลง: 157929241
สถานะเริ่มต้น: เปิดใช้สำหรับแอปทั้งหมด
สำหรับแอปที่ทำงานใน Android 12 (API ระดับ 31) ให้ตรวจสอบว่ามีการใช้
FLAG_SLIPPERY
กับหน้าต่างใดๆ ในแอปหรือไม่ เราคาดว่า Flag นี้น่าจะใช้โดยคอมโพเนนต์ของระบบเท่านั้นเนื่องจากเป็นช่องที่ไม่รองรับ หากเป็นเช่นนั้น ระบบจะจำกัดเนื้อหา
|
BLOCK_GPS_STATUS_USAGE
รหัสการเปลี่ยนแปลง: 144027538
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป การใช้งาน GpsStatus API ทั้งหมดต้องแทนที่ด้วย GnssStatus API
|
BLOCK_IMMUTABLE_PENDING_INTENTS
รหัสการเปลี่ยนแปลง: 171317480
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป PendingIntent
ออบเจ็กต์ที่เปลี่ยนแปลงไม่ได้ซึ่งส่งผ่านไปยัง API ตำแหน่งจะสร้าง IllegalArgumentException.
|
BLOCK_PENDING_INTENT_SYSTEM_API_USAGE
รหัสการเปลี่ยนแปลง: 169887240
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป LocationRequest ระบบ API จะใช้กับPendingIntent คำขอตำแหน่งไม่ได้
|
BLOCK_UNTRUSTED_TOUCHES
เปลี่ยนรหัส: 158002302
สถานะเริ่มต้น: เปิดใช้สําหรับแอปทั้งหมด
Android 12 ป้องกันไม่ให้แอปใช้เหตุการณ์การสัมผัสในกรณีที่การวางซ้อนบล็อกแอปด้วยวิธีที่ไม่ปลอดภัย เพื่อรักษาความปลอดภัยของระบบและประสบการณ์การใช้งานที่ดีของผู้ใช้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่ระบบบล็อกกิจกรรมการแตะที่ไม่น่าเชื่อถือ
|
CALL_ACTIVITY_RESULT_BEFORE_RESUME
รหัสการเปลี่ยนแปลง: 78294732
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 32) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 32) ขึ้นไป ให้แก้ไขวงจรของผลลัพธ์กิจกรรมเพื่อรับประกันว่ากิจกรรมจะได้รับผลลัพธ์กิจกรรมก่อนที่จะกลับมาดำเนินการต่อ
|
CAMERA_MIC_INDICATORS_NOT_PRESENT
รหัสการเปลี่ยนแปลง: 162547999
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
บ่งบอกว่าอุปกรณ์นี้รองรับไฟบอกสถานะกล้องและไมโครโฟน จะเท่ากับ false หากมี เนื่องจากเมธอด CompatChanges#isChangeEnabled จะแสดงผลเป็น true หากไม่มีรหัสการเปลี่ยนแปลง
|
CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS
รหัสการเปลี่ยนแปลง: 146211400
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 32) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 32) ขึ้นไป ตัวจัดการแพ็กเกจจะไม่ติดตั้งแพ็กเกจหากมีกลุ่มสิทธิ์ผิดรูปแบบ
คุณควรแชร์กลุ่มสิทธิ์ระหว่างแอปที่ใช้ใบรับรองเดียวกันเท่านั้น หากสิทธิ์เป็นของกลุ่ม ก็ต้องกำหนดกลุ่มนั้นด้วย
|
CHANGE_ID_AUTH_STATE_DENIED
รหัสการเปลี่ยนแปลง: 181350407
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปไคลเอ็นต์ที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป จะมีการส่ง SecurityException เมื่อแอปอยู่ในสถานะการให้สิทธิ์ถูกปฏิเสธและพยายามส่งข้อความไปยัง nanoapp
|
CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION
รหัสการเปลี่ยนแปลง: 136069189
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ระบบจะแสดงข้อผิดพลาด SecurityException เมื่อแอปไม่มีสิทธิ์ HIGH_SAMPLING_RATE_SENSORS ทำงานในโหมดแก้ไขข้อบกพร่อง และขออัตราการสุ่มตัวอย่างที่เร็วกว่า 200 Hz
|
DELIVER_HISTORICAL_LOCATIONS
รหัสการเปลี่ยนแปลง: 73144566
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป โปรแกรมรับส่งตำแหน่งอาจได้รับตำแหน่งที่ผ่านมา (จากก่อนถึงปัจจุบัน) ในบางกรณี
|
DISPLAY_INFO_NR_ADVANCED_SUPPORTED
รหัสการเปลี่ยนแปลง: 181658987
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป จะช่วยให้การเปลี่ยนแปลงใน TelephonyDisplayInfo ใช้งานได้แบบย้อนหลัง
|
DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE
รหัสการเปลี่ยนแปลง: 170503758
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป แพลตฟอร์มอาจลดอัตราเฟรมของแอปให้เท่ากับตัวหารของอัตรารีเฟรชหากเหมาะสมกว่า (เช่น หากแอปเรียกใช้ Surface.setFrameRate(float, int) ) แอปจะพบกับ Choreographer.postFrameCallback(Choreographer.FrameCallback) callbacks และ Backpressure ที่อัตราเฟรมที่ควบคุม แอปใช้ Display.getRefreshRate() และ
Display.Mode.getRefreshRate() เพื่อให้ทราบอัตราการรีเฟรชจอแสดงผล
Display.getRefreshRate() จะแสดงผลอัตราเฟรมของแอปพลิเคชันเสมอ ไม่ใช่อัตราการรีเฟรชจอแสดงผลจริงเพื่อให้แอป
กำหนดอัตราเฟรมได้อย่างถูกต้อง Display.Mode.getRefreshRate() จะแสดงผลอัตราเฟรมของแอปหากคอมไพล์ไปยังรุ่นก่อนหน้า และตั้งแต่ Android 12 (API ระดับ 31) เป็นต้นไป ระบบจะแสดงอัตราการรีเฟรชจอแสดงผลจริง
|
DOWNSCALED
รหัสการเปลี่ยนแปลง: 168419799
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
การเปลี่ยนแปลงนี้เป็นตัวควบคุมการเปลี่ยนแปลงทั้งหมดเกี่ยวกับการลดขนาดบัฟเฟอร์ต่อแอป การเปิดใช้การเปลี่ยนแปลงนี้จะช่วยให้ใช้ปัจจัยการปรับขนาดต่อไปนี้ได้
เมื่อเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจแอป ระบบจะบังคับปรับขนาดแอปให้เป็นค่าตัวคูณมาตราส่วนที่เปิดใช้สูงสุด เช่น ระบบจะใช้ 80% หากเปิดใช้ทั้ง 80% และ 70% (DOWNSCALE_80 และ DOWNSCALE_70 )
|
DOWNSCALE_30
รหัสการเปลี่ยนแปลง: 189970040
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 30% ของจอแสดงผลจริง
|
DOWNSCALE_35
รหัสการเปลี่ยนแปลง: 189969749
สถานะเริ่มต้น: ปิดใช้สำหรับทุกแอป
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 35% ของจอแสดงผลจริง
|
DOWNSCALE_40
รหัสการเปลี่ยนแปลง: 189970038
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปถือว่าแอปกำลังทำงานบนจอแสดงผลที่มีความละเอียด 40% ของความละเอียดในแนวตั้งและแนวนอนของจอแสดงผลจริง
|
DOWNSCALE_45
รหัสการเปลี่ยนแปลง: 189969782
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 45% ของจอแสดงผลจริง
|
DOWNSCALE_50
รหัสการเปลี่ยนแปลง: 176926741
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 50% ของจอแสดงผลจริง
|
DOWNSCALE_55
รหัสการเปลี่ยนแปลง: 189970036
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 55% ของจอแสดงผลจริง
|
DOWNSCALE_60
รหัสการเปลี่ยนแปลง: 176926771
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 60% ของจอแสดงผลจริง
|
DOWNSCALE_65
รหัสการเปลี่ยนแปลง: 189969744
สถานะเริ่มต้น: ปิดใช้สำหรับทุกแอป
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 65% ของจอแสดงผลจริง
|
DOWNSCALE_70
รหัสการเปลี่ยนแปลง: 176926829
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 70% ของจอแสดงผลจริง
|
DOWNSCALE_75
รหัสการเปลี่ยนแปลง: 189969779
สถานะเริ่มต้น: ปิดใช้สำหรับทุกแอป
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 75% ของจอแสดงผลจริง
|
DOWNSCALE_80
เปลี่ยนรหัส: 176926753
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 80% ของจอแสดงผลจริง
|
DOWNSCALE_85
รหัสการเปลี่ยนแปลง: 189969734
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 85% ของจอแสดงผลจริง
|
DOWNSCALE_90
เปลี่ยนรหัส: 182811243
สถานะเริ่มต้น: ปิดใช้สำหรับทุกแอป
เมื่อเปิดใช้ DOWNSCALED ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะบังคับให้แอปคิดว่ากำลังทำงานบนจอแสดงผลที่มีความละเอียดแนวตั้งและแนวนอน 90% ของจอแสดงผลจริง
|
DO_NOT_DOWNSCALE_TO_1080P_ON_TV
รหัสการเปลี่ยนแปลง: 157629738
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
แอป Android TV ที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไปควรรองรับขนาดหน้าต่างทุกขนาด รวมถึงขนาดหน้าต่างที่มากกว่า 1080p
แอปที่กำหนดเป้าหมายเป็น Android เวอร์ชันเก่าจะไม่ได้รับการแสดงผลขนาดเกิน 1080p ระบบจึงจะลดขนาดการแสดงผลของแอปเหล่านี้เป็น 1080p เมื่อจำเป็น
|
DROP_CLOSE_SYSTEM_DIALOGS
เปลี่ยนรหัส: 174664120
สถานะเริ่มต้น: เปิดใช้สําหรับแอปทั้งหมด
เราเลิกใช้งานการดำเนินการของ Intent ACTION_CLOSE_SYSTEM_DIALOGS ใน Android 12 เพื่อปรับปรุงการควบคุมของผู้ใช้เมื่อโต้ตอบกับแอปและระบบ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่แอปปิดกล่องโต้ตอบของระบบไม่ได้
|
ENABLE_CHECKS_FOR_PRIVATE_FILES
รหัสการเปลี่ยนแปลง: 172100307
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
แอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไปจะแทรกหรืออัปเดตไฟล์ส่วนตัวโดยใช้ผู้ให้บริการสื่อไม่ได้
|
ENABLE_DEFERRED_SCAN
รหัสการเปลี่ยนแปลง: 180326732
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
เปิดใช้ตัวเลือกนี้เพื่อเลื่อนการสแกนที่ทริกเกอร์เป็นส่วนหนึ่งของ MediaProvider#update()
|
ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION
รหัสการเปลี่ยนแปลง: 157233955
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ให้เปิดใช้READ_PHONE_STATE การปกป้องใน API ที่ค้นหาและแจ้งสถานะการโทร เช่น TelecomManager#getCallState ,
TelephonyManager.getCallStateForSubscription() และ
TelephonyCallback.CallStateListener
|
ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION
รหัสการเปลี่ยนแปลง: 183407956
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ให้เปิดใช้การป้องกัน READ_PHONE_NUMBERS หรือ READ_PRIVILEGED_PHONE_STATE ใน getPhoneAccount(PhoneAccountHandle)
|
ENABLE_INCLUDE_ALL_VOLUMES
รหัสการเปลี่ยนแปลง: 182734110
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
เปิดใช้ตัวเลือกนี้เพื่อรวมแถวฐานข้อมูลของไฟล์จากวอลุ่มที่ยกเลิกการต่อเชื่อมไปเมื่อเร็วๆ นี้ใน MediaProvider#query
|
ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS
รหัสการเปลี่ยนแปลง: 178209446
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
เปิดใช้ตัวเลือกนี้เพื่ออนุญาตให้แอปที่มีสิทธิ์ Manifest.permission.MANAGE_EXTERNAL_STORAGE ส่งคำขอเข้าถึงพื้นที่เก็บข้อมูลภายนอกแบบข้อมูลดิบ
|
ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS
รหัสการเปลี่ยนแปลง: 185199076
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป การแจ้งเตือนที่ไม่แน่นอนทั้งหมดต้องมีกรอบเวลาขั้นต่ำ ซึ่งคาดว่าจะอยู่ที่ประมาณ 2-3 นาที ในทางปฏิบัติ การปลุกที่ต้องใช้หน้าต่างขนาดเล็กจะเหมือนกับการปลุกในเวลาที่แน่นอน และควรใช้ API ที่เกี่ยวข้องซึ่งมีให้ เช่น setExact(int, long, PendingIntent) การปลุกในเวลาที่ไม่แน่นอนที่มีระยะเวลาสั้นๆ ที่ระบุไว้จะทำให้หน้าต่างแสดงยาวขึ้น
|
ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES
รหัสการเปลี่ยนแปลง: 142191088
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
แอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไปต้องประกาศการพึ่งพาไลบรารีแบบเนทีฟที่แชร์แบบสาธารณะซึ่งผู้ผลิตอุปกรณ์กำหนดโดยใช้แท็ก uses-native-library ใน AndroidManifest.xml หากไม่สามารถตอบสนองทรัพยากร Dependency ได้ เช่น ไม่มีทรัพยากร Dependency อยู่ ตัวจัดการแพ็กเกจจะไม่ติดตั้งแอปดังกล่าว คุณสามารถระบุการขึ้นต่อกันเป็นแบบไม่บังคับได้โดยใช้แอตทริบิวต์ android:required ในแท็ก ซึ่งในกรณีนี้การตอบสนองต่อทรัพยากรไม่ได้จะไม่หยุดการติดตั้ง
เมื่อติดตั้งแล้ว แอปจะมีเฉพาะไลบรารีที่ใช้ร่วมกันในเครื่องซึ่งระบุไว้ในไฟล์ Manifest ของแอปเท่านั้น การเรียกใช้ dlopen ในไลบรารีที่ใช้ร่วมกันในเครื่องซึ่งไม่ปรากฏในไฟล์ Manifest ของแอปจะล้มเหลว แม้ว่าที่จริงแล้วไฟล์จะอยู่ในอุปกรณ์ก็ตาม
|
ENFORCE_STRICT_QUERY_BUILDER
รหัสการเปลี่ยนแปลง: 143231523
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ SQLiteQueryBuilder จะตรวจสอบการเลือกการค้นหา CalendarProvider2 ทั้งหมดเทียบกับอาร์กิวเมนต์ที่เป็นอันตราย
|
FGS_BG_START_RESTRICTION_CHANGE_ID
รหัสการเปลี่ยนแปลง: 170668199
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ข้อจำกัดนี้กำหนดเวลาที่แอปสามารถเริ่มบริการที่ทำงานอยู่เบื้องหน้าขณะทำงานอยู่เบื้องหลัง
|
FGS_START_EXCEPTION_CHANGE_ID
รหัสการเปลี่ยนแปลง: 174041399
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ระบบจะแสดง IllegalStateException หากแอปพยายามเริ่มบริการที่ทำงานอยู่เบื้องหน้าขณะทำงานอยู่เบื้องหลัง
|
รหัสการเปลี่ยนแปลง: 156215187
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ให้ทํา InputConnection เมื่ออุปกรณ์กลายเป็น
non-interactive ให้เสร็จสมบูรณ์
หาก input method ปัจจุบันเปิดใช้อยู่ การเชื่อมต่ออินพุตปัจจุบันจะกลายเป็นfinished เมื่อใดก็ตามที่อุปกรณ์ไม่โต้ตอบ
หากไม่ได้เปิดใช้ ระบบจะปิดใช้งานการเชื่อมต่ออินพุตปัจจุบันโดยอัตโนมัติเมื่ออุปกรณ์ไม่โต้ตอบ และระบบจะส่งคู่ onFinishInput() และ onStartInput() เมื่ออุปกรณ์โต้ตอบอีกครั้ง
|
FORCE_DISABLE_HEVC_SUPPORT
รหัสการเปลี่ยนแปลง: 174227820
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
บังคับปิดใช้แอปไม่ให้รองรับความสามารถของสื่อ HEVC
แอปควรประกาศความสามารถของสื่อที่รองรับในไฟล์ Manifest แต่สามารถใช้ Flag นี้เพื่อบังคับไม่ให้แอปรองรับ HEVC ซึ่งจะบังคับให้เปลี่ยนรูปแบบขณะเข้าถึงสื่อที่เข้ารหัสใน HEVC การตั้งค่า Flag นี้จะลบล้างค่าเริ่มต้นระดับระบบปฏิบัติการสำหรับแอป โดยค่าเริ่มต้น ระบบจะปิดใช้การตั้งค่านี้ ซึ่งหมายความว่าค่าเริ่มต้นของระบบปฏิบัติการจะมีผลเหนือกว่า หากเปิดใช้ทั้ง Flag นี้และ FORCE_ENABLE_HEVC_SUPPORT ระบบจะไม่สนใจทั้ง 2 Flag
|
FORCE_ENABLE_HEVC_SUPPORT
รหัสการเปลี่ยนแปลง: 174228127
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
บังคับให้แอปรองรับความสามารถของสื่อ HEVC แอปควรประกาศความสามารถของสื่อที่รองรับในไฟล์ Manifest แต่ Flag นี้สามารถใช้เพื่อบังคับให้แอปรองรับ HEVC ซึ่งจะหลีกเลี่ยงการเปลี่ยนรูปแบบขณะเข้าถึงสื่อที่เข้ารหัสใน HEVC การตั้งค่า Flag นี้จะลบล้างค่าเริ่มต้นระดับระบบปฏิบัติการสำหรับแอป ระบบจะปิดใช้ฟีเจอร์นี้โดยค่าเริ่มต้น ซึ่งหมายความว่าค่าเริ่มต้นของระบบปฏิบัติการจะมีความสำคัญเหนือกว่า หากเปิดใช้ทั้ง Flag นี้และ FORCE_DISABLE_HEVC_SUPPORT ระบบปฏิบัติการจะไม่สนใจทั้ง 2 Flag
|
FORCE_NON_RESIZE_APP
รหัสการเปลี่ยนแปลง: 181136395
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
บังคับให้แพ็กเกจที่ใช้ไม่สามารถปรับขนาดได้
|
FORCE_RESIZE_APP
รหัสการเปลี่ยนแปลง: 174042936
สถานะเริ่มต้น: ปิดใช้สำหรับทุกแอป
บังคับให้แพ็กเกจที่ใช้ปรับขนาดได้ เราอนุญาตให้ปรับขนาดเฉพาะในโหมดหน้าต่างแบบเต็มหน้าจอ แต่ไม่บังคับให้แอปอยู่ในโหมดหลายหน้าต่างที่ปรับขนาดได้
|
HIDE_PROP_ICUBINARY_DATA_PATH
รหัสการเปลี่ยนแปลง: 171979766
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ระบบจะนำสิทธิ์เข้าถึงพร็อพเพอร์ตี้ android.icu.impl.ICUBinary.dataPath ออก
|
IGNORE_ALLOW_BACKUP_IN_D2D
รหัสการเปลี่ยนแปลง: 183147249
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ระบบจะไม่สนใจ android:allowBackup สําหรับแอปในระหว่างการย้ายข้อมูลแบบอุปกรณ์ต่ออุปกรณ์ (D2D)
|
IGNORE_FULL_BACKUP_CONTENT_IN_D2D
รหัสการเปลี่ยนแปลง: 180523564
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ระบบจะไม่สนใจกฎรวมและยกเว้นที่ระบุโดยใช้ android:fullBackupContent ในระหว่างการโอนจากอุปกรณ์หนึ่งไปยังอีกอุปกรณ์หนึ่ง (D2D)
|
IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY
รหัสการเปลี่ยนแปลง: 169273070
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ตอนนี้ getSupportedLocales() จะแสดงรายการภาษาว่างเมื่อไม่ได้ตั้งค่าแทนที่จะแสดงภาษาของระบบเริ่มต้น
|
IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE
รหัสการเปลี่ยนแปลง: 158482162
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ระบบจะบังคับใช้สิทธิ์ BACKUP ที่จำเป็นสำหรับ isBackupServiceActive() ที่ฝั่งบริการ ไม่ใช่ฝั่งไคลเอ็นต์ใน BackupManager
|
KEYSTORE_OPERATION_CREATION_MAY_FAIL
รหัสการเปลี่ยนแปลง: 169897160
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ การสร้างการดำเนินการของคีย์สโตร์อาจไม่สำเร็จตามกลยุทธ์การตัดใหม่ คีย์สโตร์เคยทำงานภายใต้สมมติฐานที่ว่าการสร้างการดำเนินการเข้ารหัสจะประสบความสำเร็จเสมอ
อย่างไรก็ตาม แบ็กเอนด์ของ KeyMint มีช่องการดำเนินการจํากัดเท่านั้น
เพื่อรักษาลักษณะของช่องการดำเนินการ "ไม่จำกัด" ไว้ โปรแกรมเดรัม Keystore จะตัดการดำเนินการที่ใช้ล่าสุดน้อยที่สุดออกหากไม่มีช่องการดำเนินการที่พร้อมใช้งาน การดำเนินการที่ดีจึงอาจสิ้นสุดลงก่อนเวลาอันควร ซึ่งทำให้ AndroidKeystore ไปจนถึงการปฏิเสธการให้บริการ (DoS) และการล็อกสตรีมแบบสดโดยไม่ได้ตั้งใจ ตัวอย่างเช่น หากแอปหลายแอปตื่นขึ้นพร้อมกันเนื่องจากการเพิ่มประสิทธิภาพการจัดการพลังงานและพยายามดำเนินการเกี่ยวกับคริปโต แอปเหล่านั้นจะเริ่มหยุดการดำเนินการของกันและกันโดยไม่คืบหน้าใดๆ
เราได้เปลี่ยนกลยุทธ์การตัดให้เหมาะกับลูกค้าที่ใช้ช่องการดำเนินการเพียงไม่กี่ช่องเป็นระยะเวลาสั้นๆ เพื่อหลีกเลี่ยงปัญหาการล็อกอยู่เสมอและเพื่อยับยั้งการพยายามโจมตี DoS ด้วยเหตุนี้ การดำเนินการเดี่ยวที่ไม่ได้ใช้งานนานกว่า 5 วินาทีจึงมักจะเสร็จสมบูรณ์โดยไม่ถูกขัดจังหวะจากกลยุทธ์การตัด อย่างไรก็ตาม ยังมีการดำเนินการบางอย่างที่เกี่ยวข้องกับการเข้ารหัสระบบไฟล์ที่สามารถตัดการดำเนินการเหล่านี้ออกได้ แต่กรณีเหล่านี้เกิดขึ้นน้อยมาก ผลข้างเคียงของการดำเนินการตามกลยุทธ์การตัดแต่งใหม่นี้ทำให้การสร้างไม่สำเร็จได้หากลูกค้ามีกำลังการตัดแต่งต่ำกว่าการดำเนินการที่มีอยู่ทั้งหมด
กลยุทธ์การตัดแต่ง: เราจะคำนวณค่าลบสำหรับผู้เรียกและการดำเนินการที่มีอยู่แต่ละรายการเพื่อค้นหาผู้สมัครที่เหมาะสม Malus จะเป็นค่าผกผันกับกำลังการตัด (ผู้เรียกใช้) หรือความต้านทานการตัด (การดำเนินการที่มีอยู่) ในการที่จะตัดการดำเนินการได้ ผู้เรียกต้องพบการดำเนินการที่มี Malus สูงกว่าการดำเนินการของตนเอง ดูรายละเอียดเพิ่มเติมเกี่ยวกับกลยุทธ์การตัดให้สั้นลงได้ที่การใช้งาน operation.rs
ใน Android 11 (API ระดับ 30) และต่ำกว่า KeyStore2 จะสำรวจ Daemon ของคีย์สโตร์สำหรับสล็อตการดำเนินการฟรี สําหรับแอปที่กําหนดเป้าหมายเป็น Android 11 (API ระดับ 30) หรือต่ำกว่า การดำเนินการนี้จะยังคงดูเหมือนว่าการเข้ารหัสและการจัดเตรียมออบเจ็กต์ลายเซ็นสําเร็จเสมอ แต่อาจใช้เวลานานกว่าในการดําเนินการ Android ทุกเวอร์ชันจะได้รับประโยชน์จากการกําหนดเวลาช่วงเวลาการดําเนินการที่ยุติธรรมยิ่งขึ้นและมีโอกาสที่จะดําเนินการจนเสร็จสมบูรณ์ได้มากขึ้น
|
LOCK_DOWN_CLOSE_SYSTEM_DIALOGS
รหัสการเปลี่ยนแปลง: 174664365
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ระบบจะไม่ส่ง Intent.ACTION_CLOSE_SYSTEM_DIALOGS เว้นแต่แอปจะมีสิทธิ์ android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS ด้วย โปรดทราบว่านี่เป็น #DROP_CLOSE_SYSTEM_DIALOGS ที่มีข้อจำกัดมากกว่า ซึ่งคาดหวังว่าแอปจะหยุดส่ง Intent Intent.ACTION_CLOSE_SYSTEM_DIALOGS เมื่อแอปเริ่มกำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
|
LOCK_DOWN_COLLAPSE_STATUS_BAR
รหัสการเปลี่ยนแปลง: 173031413
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป จะต้องมีสิทธิ์ Manifest.permission.STATUS_BAR เพื่อยุบแผงแถบสถานะเนื่องด้วยเหตุผลด้านความปลอดภัย มัลแวร์ใช้ประโยชน์จากช่องโหว่นี้เพื่อไม่ให้ผู้ใช้เข้าถึงการแจ้งเตือนที่สำคัญได้
|
LOW_POWER_EXCEPTIONS
รหัสการเปลี่ยนแปลง: 168936375
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ออบเจ็กต์ LocationRequest ทั้งหมดที่ทำเครื่องหมายเป็นโหมดพลังงานต่ำจะแสดงข้อยกเว้นหากผู้เรียกใช้ไม่มีสิทธิ์ LOCATION_HARDWARE แทนที่จะยกเลิกส่วนโหมดพลังงานต่ำของคําขอโดยอัตโนมัติ
|
MISSING_EXPORTED_FLAG
รหัสการเปลี่ยนแปลง: 150232615
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป คุณต้องระบุค่าที่ชัดเจนสําหรับแอตทริบิวต์ android:exported ทุกครั้งที่กําหนดตัวกรอง Intent
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่การส่งออกคอมโพเนนต์ที่ปลอดภัยยิ่งขึ้น
|
NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE
รหัสการเปลี่ยนแปลง: 207557677
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 32) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 32) ขึ้นไป การจัดสรรฮีปแบบเนทีฟในกระบวนการ AppZygote และแอปสืบทอดจะใช้แท็กที่ไม่ใช่ 0 ในไบต์ที่สำคัญที่สุด
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่เคอร์เซอร์ที่ติดแท็ก
|
NATIVE_HEAP_ZERO_INIT
รหัสการเปลี่ยนแปลง: 178038272
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เปิดใช้การจัดสรรหน่วยความจําฮีปเนทีฟแบบเริ่มต้นที่ 0 โดยอัตโนมัติ
|
NATIVE_MEMTAG_ASYNC
รหัสการเปลี่ยนแปลง: 135772972
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เปิดใช้การตรวจสอบแท็กหน่วยความจำแบบอะซิงโครนัส (ASYNC) ในขั้นตอนนี้ Flag นี้จะมีผลกับฮาร์ดแวร์ที่รองรับ Memory Tagging Extension (MTE) ของ ARM เท่านั้น
|
NATIVE_MEMTAG_SYNC
เปลี่ยนรหัส: 177438394
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เปิดใช้การตรวจสอบแท็กหน่วยความจําแบบซิงค์ (SYNC) ในกระบวนการนี้ Flag นี้จะมีผลกับฮาร์ดแวร์ที่รองรับ Memory Tagging Extension (MTE) ของ ARM เท่านั้น หากเปิดใช้ทั้ง NATIVE_MEMTAG_ASYNC และตัวเลือกนี้ไว้ ตัวเลือกนี้จะมีความสำคัญเหนือกว่าและจะเปิดใช้ MTE ในโหมดซิงค์
|
NEVER_SANDBOX_DISPLAY_APIS
รหัสการเปลี่ยนแปลง: 184838306
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ แซนด์บ็อกซ์ของ Display API จะไม่มีผลกับกิจกรรมแถบดำด้านบน-ล่างของภาพหรือ SCM Display API จะยังคงระบุขอบเขต DisplayArea ต่อไป
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ในส่วนหน้าการเปลี่ยนแปลงลักษณะการทํางาน 12 รายการของ Android เกี่ยวกับ
วิธีแสดงที่เลิกใช้งานแล้ว
|
NOTIFICATION_CANCELLATION_REASONS
รหัสการเปลี่ยนแปลง: 175319604
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
ช่วยให้ผู้ฟังการแจ้งเตือนเข้าใจเหตุผลการยกเลิกใหม่ที่มีความเฉพาะเจาะจงมากขึ้น
|
NOTIFICATION_TRAMPOLINE_BLOCK
รหัสการเปลี่ยนแปลง: 167676448
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
แอปที่กำหนดเป้าหมายเป็น Android 12 จะใช้บริการหรือ Broadcast Receiver เป็นแทรมโพลีนการแจ้งเตือนไม่ได้เพื่อปรับปรุงประสิทธิภาพของแอปและ UX
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่สร้าง Trampoline การแจ้งเตือนจากบริการหรือตัวรับการออกอากาศไม่ได้
|
NULL_TELEPHONY_THROW_NO_CB
รหัสการเปลี่ยนแปลง: 182185642
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
ใช้สำหรับตรวจสอบว่าเวอร์ชัน SDK เป้าหมายสำหรับกระบวนการปัจจุบันคือ Android 12 (API ระดับ 31) ขึ้นไปหรือไม่
ใช้กับวิธีการต่อไปนี้
|
OVERRIDE_MIN_ASPECT_RATIO
รหัสการเปลี่ยนแปลง: 174042980
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
การเปลี่ยนแปลงนี้เป็นตัวควบคุมการเปลี่ยนแปลงทั้งหมดที่บังคับใช้สัดส่วนภาพขั้นต่ำที่กำหนด การเปิดใช้การเปลี่ยนแปลงนี้จะช่วยให้ใช้สัดส่วนภาพขั้นต่ำต่อไปนี้ได้
เมื่อเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจแอป ระบบจะลบล้างอัตราส่วนภาพขั้นต่ำที่ระบุไว้ในไฟล์ Manifest ของแอปเป็นอัตราส่วนภาพสูงสุดที่เปิดใช้ เว้นแต่ค่าไฟล์ Manifest ของแอปจะสูงกว่า
|
OVERRIDE_MIN_ASPECT_RATIO_LARGE
รหัสการเปลี่ยนแปลง: 180326787
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ OVERRIDE_MIN_ASPECT_RATIO ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะตั้งค่าสัดส่วนภาพขั้นต่ำของกิจกรรมเป็นค่าขนาดใหญ่ตามที่ OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE กำหนด
|
OVERRIDE_MIN_ASPECT_RATIO_MEDIUM
รหัสการเปลี่ยนแปลง: 180326845
สถานะเริ่มต้น: ปิดใช้สำหรับแอปทั้งหมด
เมื่อเปิดใช้ OVERRIDE_MIN_ASPECT_RATIO ด้วย การเปิดใช้การเปลี่ยนแปลงนี้สำหรับแพ็กเกจจะตั้งค่าสัดส่วนภาพขั้นต่ำของกิจกรรมเป็นค่ากลางตามที่ OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE กำหนด
|
PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED
รหัสการเปลี่ยนแปลง: 160794467
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป คุณต้องระบุการเปลี่ยนแปลงของออบเจ็กต์ PendingIntent แต่ละรายการที่แอปของคุณสร้าง ข้อกำหนดเพิ่มเติมนี้จะช่วยปรับปรุงความปลอดภัยของแอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่ Intent ที่รอดำเนินการต้องประกาศการเปลี่ยนแปลง
|
PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT
รหัสการเปลี่ยนแปลง: 165573442
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
แอปผู้ดูแลระบบที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไปจะใช้ DevicePolicyManager.setPasswordQuality(ComponentName, int) เพื่อตั้งค่าคุณภาพรหัสผ่านในอินสแตนซ์ DevicePolicyManager ที่ได้รับจากการเรียกใช้ DevicePolicyManager.getParentProfileInstance(ComponentName) ไม่ได้
แต่ควรใช้ DevicePolicyManager.setRequiredPasswordComplexity(int) เพื่อกำหนดข้อกำหนดของรหัสผ่านแบบหยาบทั่วทั้งอุปกรณ์แทน
|
RATE_LIMIT_TOASTS
รหัสการเปลี่ยนแปลง: 174840628
สถานะเริ่มต้น: เปลี่ยนการเปลี่ยนแปลงนี้ไม่ได้ ระบบจะบันทึกโดยเฟรมเวิร์กความเข้ากันได้เท่านั้น
เปิดใช้การจำกัดอัตราในการเรียกใช้ Toast.show() เพื่อไม่ให้ผู้ใช้ต้องรับข้อความแจ้งมากเกินไปในช่วงเวลาที่จำกัด การพยายามแสดงข้อความแจ้งมากกว่าที่อนุญาตในกรอบเวลาหนึ่งๆ จะส่งผลให้ระบบทิ้งข้อความแจ้งนั้น
|
REQUIRE_EXACT_ALARM_PERMISSION
รหัสการเปลี่ยนแปลง: 171306433
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป แอปต้องมีสิทธิ์ Manifest.permission.SCHEDULE_EXACT_ALARM
จึงจะใช้ API ใดก็ตามในการตั้งปลุกในเวลาที่แน่นอนได้ เช่น setExactAndAllowWhileIdle(int, long, PendingIntent)
และ setAlarmClock(AlarmClockInfo, PendingIntent)
|
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID
รหัสการเปลี่ยนแปลง: 182478738
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป แอปต้องมีสิทธิ์ Manifest.permission.READ_PHONE_STATE จึงจะเรียกใช้ TelephonyCallback.ActiveDataSubscriptionIdListener ได้
|
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO
รหัสการเปลี่ยนแปลง: 184323934
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป แอปต้องมีสิทธิ์ Manifest.permission.READ_PHONE_STATE จึงจะเรียกใช้ TelephonyCallback.CellInfoListener ได้
|
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO
รหัสการเปลี่ยนแปลง: 183164979
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป แอปต้องมีสิทธิ์ Manifest.permission.READ_PHONE_STATE จึงจะเรียกใช้ TelephonyCallback.DisplayInfoListener ได้
|
RESTRICT_ADB_BACKUP
รหัสการเปลี่ยนแปลง: 171032338
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ระบบจะเปิด adb backup โดยอัตโนมัติสําหรับแอปที่ทํางานแบบแก้ไขข้อบกพร่องได้ (ตั้งค่า android:debuggable เป็น true ) และจะไม่พร้อมใช้งานสําหรับแอปอื่นๆ
|
RESTRICT_DOMAINS
รหัสการเปลี่ยนแปลง: 175408749
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป คุณต้องใช้ App Links Verification API เวอร์ชันอัปเดต ข้อกำหนดนี้หมายความว่าแอปต้องประกาศโดเมนภายในตัวกรอง Intent ซึ่งมีข้อมูลต่อไปนี้ทั้งหมด
android:autoVerify="true"
Intent.ACTION_VIEW
Intent.CATEGORY_BROWSABLE
Intet.CATEGORY_DEFAULT
- เฉพาะ
IntentFilter.SCHEME_HTTP และ/หรือ IntentFilter.SCHEME_HTTPS โดยไม่มีแผนอื่นๆ
ใน Android เวอร์ชันก่อนหน้า Intent.CATEGORY_BROWSABLE ไม่ได้เป็นข้อกำหนด ระบบอนุญาตให้ใช้รูปแบบอื่นๆ และการตั้งค่า autoVerify เป็น true ในตัวกรอง Intent ใดๆ จะถือว่าได้ตั้งค่าตัวกรอง Intent ทั้งหมดเป็น autoVerify="true" โดยปริยาย
|
SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE
รหัสการเปลี่ยนแปลง: 151105954
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป บังคับให้กำหนด attributionTags ทั้งหมดที่ส่งไปยัง noteOp(String, int, String) , noteProxyOp(String, String) และ startOp(String, int, String) ไว้ในไฟล์ Manifest ของแพ็กเกจซึ่งระบุเป็นพารามิเตอร์ของเมธอด
หากต้องการเปิดใช้การเปลี่ยนแปลงนี้ ทั้งแพ็กเกจที่เรียกใช้ noteOp(String, int, String) และแพ็กเกจที่ระบุเป็นพารามิเตอร์ของเมธอดจะต้องเปิดใช้การเปลี่ยนแปลงนี้
|
SELINUX_LATEST_CHANGES
รหัสการเปลี่ยนแปลง: 143539591
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ให้เลือกรับการเปลี่ยนแปลง SELinux ล่าสุด การปิดใช้การเปลี่ยนแปลงนี้สําหรับแอปที่กําหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไปจะไม่มีผลใดๆ กับแอปที่ใช้รหัสผู้ใช้ที่แชร์
|
SETTINGS_API_V2
รหัสการเปลี่ยนแปลง: 178111421
สถานะเริ่มต้น: เปิดใช้สำหรับแอปทั้งหมด
ยังไม่ได้ใช้งาน API ค่ากำหนดของผู้ใช้ใหม่สำหรับการยืนยันโดเมนที่มีเครื่องหมาย autoVerify=true ในตัวกรอง Intent ของ AndroidManifest.xml ในตัวอย่างแพลตฟอร์มปัจจุบัน สำหรับตอนนี้ คุณจะดูตัวอย่างการเปลี่ยนแปลงค่ากำหนดของผู้ใช้ใหม่ได้โดยการเปิดใช้ ChangeId นี้ และใช้คำสั่ง adb shell pm set-app-links-user-selection และคำสั่งที่คล้ายกัน
|
USE_SHORT_FGS_USAGE_INTERACTION_TIME
รหัสการเปลี่ยนแปลง: 183972877
สถานะเริ่มต้น: เปิดใช้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป ให้กำหนดว่าจะใช้ระยะหมดเวลาที่สั้นลงหรือไม่ก่อนที่จะยกระดับที่เก็บข้อมูลสแตนด์บายเป็น ACTIVE เมื่อแอปเริ่มบริการที่ทำงานอยู่เบื้องหน้า
|