ALWAYS_SANDBOX_DISPLAY_APIS
Mã thay đổi: 185004937
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Khi bật, sẽ áp dụng hộp cát API Hiển thị cho một gói bất kể chế độ cửa sổ. API Hiển thị sẽ luôn cung cấp các giới hạn đối với ứng dụng.
Để tìm hiểu thêm về thay đổi này, hãy xem phần về
Các phương thức hiển thị đã ngừng hoạt động trên trang Các thay đổi về hành vi của Android 12.
|
AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER
Mã thay đổi: 163400105
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 32) trở lên.
Kể từ Android 12, nền tảng này có thể cung cấp các đề xuất không phải dạng văn bản (chẳng hạn như hình ảnh) bằng cách sử dụng khung tự động điền tăng cường (xem dịch vụ tự động điền). Để có thể xử lý những đề xuất này, ứng dụng thường phải triển khai API OnReceiveContentListener .
Để giúp các ứng dụng đã triển khai API InputConnection.commitContent(InputContentInfo, int, Bundle) trước đó chuyển sang dùng API này một cách suôn sẻ hơn, chúng tôi sẽ dùng lại API đó làm phương án dự phòng nếu ứng dụng chưa triển khai OnReceiveContentListener . Phương án dự phòng này chỉ được bật trên Android 12 (API cấp 31). Mã thay đổi này sẽ vô hiệu hoá phương án dự phòng, sao cho các ứng dụng nhắm đến Android 12 (API cấp 32) trở lên phải triển khai API OnReceiveContentListener để chấp nhận các đề xuất không phải dạng văn bản.
|
BLOCK_FLAG_SLIPPERY
Mã thay đổi: 157929241
Trạng thái mặc định: Bật đối với tất cả ứng dụng.
Đối với các ứng dụng chạy trên Android 12 (API cấp 31), hãy kiểm tra xem FLAG_SLIPPERY có đang được dùng với bất kỳ cửa sổ nào trong ứng dụng hay không. Chúng tôi cho rằng cờ này có thể chỉ được các thành phần hệ thống dùng vì đây là một trường không được hỗ trợ. Nếu có, video đó sẽ bị hạn chế.
|
BLOCK_GPS_STATUS_USAGE
Mã thay đổi: 144027538
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, bạn phải thay thế mọi hoạt động sử dụng API GpsStatus bằng API GnssStatus .
|
BLOCK_IMMUTABLE_PENDING_INTENTS
Mã thay đổi: 171317480
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, các đối tượng PendingIntent bất biến được truyền vào API vị trí sẽ tạo ra một IllegalArgumentException.
|
BLOCK_PENDING_INTENT_SYSTEM_API_USAGE
Mã thay đổi: 169887240
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, bạn không thể dùng API hệ thống LocationRequest với các yêu cầu về vị trí PendingIntent .
|
BLOCK_UNTRUSTED_TOUCHES
Mã thay đổi: 158002302
Trạng thái mặc định: Bật đối với tất cả ứng dụng.
Để duy trì tính bảo mật của hệ thống và trải nghiệm tốt cho người dùng, Android 12 ngăn các ứng dụng sử dụng sự kiện chạm khi một lớp phủ chặn ứng dụng theo cách không an toàn.
Để tìm hiểu thêm về thay đổi này, hãy xem bài viết Các sự kiện chạm không đáng tin cậy sẽ bị chặn.
|
CALL_ACTIVITY_RESULT_BEFORE_RESUME
Mã thay đổi: 78294732
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 32) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 32) trở lên, hãy điều chỉnh vòng đời của kết quả hoạt động để đảm bảo rằng một hoạt động nhận được kết quả hoạt động ngay trước khi tiếp tục.
|
CAMERA_MIC_INDICATORS_NOT_PRESENT
Mã thay đổi: 162547999
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Cho biết rằng thiết bị này có hỗ trợ các chỉ báo máy ảnh và micrô. Sẽ là false nếu có Mã thay đổi, vì phương thức CompatChanges#isChangeEnabled sẽ trả về true nếu không có Mã thay đổi.
|
CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS
Mã thay đổi: 146211400
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 32) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 32) trở lên, trình quản lý gói sẽ không cài đặt một gói nếu có các nhóm quyền bị lỗi.
Bạn chỉ nên chia sẻ nhóm quyền giữa các ứng dụng dùng chung một chứng chỉ. Nếu một quyền thuộc về một nhóm, thì bạn cũng phải xác định nhóm đó.
|
CHANGE_ID_AUTH_STATE_DENIED
Mã thay đổi: 181350407
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng khách nhắm đến Android 12 (API cấp 31) trở lên, SecurityException sẽ được gửi khi các ứng dụng này ở trạng thái uỷ quyền bị từ chối và cố gắng gửi thông báo đến một nano ứng dụng.
|
CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION
Mã thay đổi: 136069189
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, SecurityException sẽ được gửi đi khi các ứng dụng đó không có quyền HIGH_SAMPLING_RATE_SENSORS , chạy ở chế độ gỡ lỗi và yêu cầu tốc độ lấy mẫu nhanh hơn 200 Hz.
|
DELIVER_HISTORICAL_LOCATIONS
Mã thay đổi: 73144566
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, trong một số trường hợp, các ứng dụng vị trí có thể nhận được thông tin vị trí trong quá khứ (từ trước thời điểm hiện tại).
|
DISPLAY_INFO_NR_ADVANCED_SUPPORTED
Mã thay đổi: 181658987
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, hãy cung cấp khả năng tương thích ngược cho các thay đổi trong TelephonyDisplayInfo .
|
DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE
Mã thay đổi: 170503758
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, nền tảng này có thể giảm tốc độ khung hình của ứng dụng xuống thành một số chia của tốc độ làm mới nếu tốc độ này phù hợp hơn (ví dụ: nếu ứng dụng gọi đến Surface.setFrameRate(float, int) ). Các ứng dụng sẽ gặp phải các lệnh gọi lại Choreographer.postFrameCallback(Choreographer.FrameCallback) và áp lực ngược ở tốc độ khung hình bị giảm. Các ứng dụng sử dụng Display.getRefreshRate() và Display.Mode.getRefreshRate() để biết tốc độ làm mới màn hình. Display.getRefreshRate() sẽ luôn trả về tốc độ khung hình của ứng dụng chứ không phải tốc độ làm mới màn hình thực tế để cho phép các ứng dụng thực hiện việc điều chỉnh tốc độ khung hình một cách chính xác. Display.Mode.getRefreshRate() sẽ trả về tốc độ khung hình của ứng dụng nếu được biên dịch thành một bản phát hành trước đó và bắt đầu từ Android 12 (API cấp 31), nó sẽ trả về tốc độ làm mới màn hình thực.
|
DOWNSCALED
Mã thay đổi: 168419799
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Thay đổi này là yếu tố thúc đẩy tất cả thay đổi về việc giảm quy mô vùng đệm cho mỗi ứng dụng. Khi bật thay đổi này, hệ thống sẽ áp dụng các hệ số tỷ lệ sau:
Khi thay đổi này được bật đối với một gói ứng dụng, ứng dụng sẽ bị buộc đổi kích thước thành hệ số tỷ lệ cao nhất được bật. Ví dụ: tỷ lệ 80% sẽ được sử dụng nếu bật cả tỷ lệ 80% và 70% (DOWNSCALE_80 và DOWNSCALE_70 ).
|
DOWNSCALE_30
Mã thay đổi: 189970040
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 30%.
|
DOWNSCALE_35
Mã thay đổi: 189969749
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 35%.
|
DOWNSCALE_40
Mã thay đổi: 189970038
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 40%.
|
DOWNSCALE_45
Mã thay đổi: 189969782
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 45%.
|
DOWNSCALE_50
Mã thay đổi: 176926741
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có độ phân giải thực theo chiều dọc và chiều ngang là 50%.
|
DOWNSCALE_55
Mã thay đổi: 189970036
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 55%.
|
DOWNSCALE_60
Mã thay đổi: 176926771
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 60%.
|
DOWNSCALE_65
Mã thay đổi: 189969744
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 65%.
|
DOWNSCALE_70
Mã thay đổi: 176926829
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 70%.
|
DOWNSCALE_75
Mã thay đổi: 189969779
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 75%.
|
DOWNSCALE_80
Mã thay đổi: 176926753
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 80%.
|
DOWNSCALE_85
Mã thay đổi: 189969734
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 85%.
|
DOWNSCALE_90
Mã thay đổi: 182811243
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu DOWNSCALED cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng ứng dụng đang chạy trên màn hình có 90% độ phân giải thực theo chiều dọc và chiều ngang.
|
DO_NOT_DOWNSCALE_TO_1080P_ON_TV
Mã thay đổi: 157629738
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Các ứng dụng Android TV nhắm đến Android 12 (API cấp 31) trở lên dự kiến sẽ xử lý mọi kích thước Cửa sổ, kể cả kích thước Cửa sổ lớn hơn 1080p.
Những ứng dụng nhắm đến các phiên bản Android cũ hơn không mong muốn nhận được các cửa sổ lớn hơn 1080p, vì vậy, các cửa sổ của ứng dụng sẽ được giảm tỷ lệ xuống 1080p khi cần thiết.
|
DROP_CLOSE_SYSTEM_DIALOGS
Mã thay đổi: 174664120
Trạng thái mặc định: Bật đối với tất cả ứng dụng.
Để cải thiện khả năng kiểm soát của người dùng khi tương tác với các ứng dụng và hệ thống, thao tác bằng ý định ACTION_CLOSE_SYSTEM_DIALOGS không được dùng nữa kể từ Android 12.
Để tìm hiểu thêm về thay đổi này, hãy xem bài viết Ứng dụng không thể đóng hộp thoại hệ thống.
|
ENABLE_CHECKS_FOR_PRIVATE_FILES
Mã thay đổi: 172100307
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên không thể chèn hoặc cập nhật các tệp riêng tư bằng trình cung cấp nội dung nghe nhìn.
|
ENABLE_DEFERRED_SCAN
Mã thay đổi: 180326732
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Bật tuỳ chọn này để hoãn quá trình quét được kích hoạt trong MediaProvider#update() .
|
ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION
Mã thay đổi: 157233955
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, hãy bật tính năng bảo vệ READ_PHONE_STATE trên các API truy vấn và thông báo trạng thái cuộc gọi, chẳng hạn như TelecomManager#getCallState , TelephonyManager.getCallStateForSubscription() và TelephonyCallback.CallStateListener .
|
ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION
Mã thay đổi: 183407956
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, hãy bật chế độ bảo vệ READ_PHONE_NUMBERS hoặc READ_PRIVILEGED_PHONE_STATE trên getPhoneAccount(PhoneAccountHandle) .
|
ENABLE_INCLUDE_ALL_VOLUMES
Mã thay đổi: 182734110
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Bật lựa chọn này để đưa các hàng trong cơ sở dữ liệu của tệp trong một ổ đĩa vừa được tháo gần đây vào MediaProvider#query .
|
ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS
Mã thay đổi: 178209446
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Bật lựa chọn này để cho phép các ứng dụng có quyền Manifest.permission.MANAGE_EXTERNAL_STORAGE yêu cầu quyền truy cập vào bộ nhớ ngoài thô.
|
ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS
Mã thay đổi: 185199076
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, tất cả chuông báo không chính xác đều phải có kích thước cửa sổ tối thiểu, dự kiến là trong khoảng vài phút. Trên thực tế, mọi thông báo yêu cầu cửa sổ nhỏ hơn đều giống như thông báo chính xác và phải sử dụng các API tương ứng được cung cấp, chẳng hạn như setExact(int, long, PendingIntent) . Hệ thống sẽ kéo dài khoảng thời gian của báo thức không chính xác có khoảng thời gian ngắn hơn.
|
ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES
Mã thay đổi: 142191088
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên cần khai báo các phần phụ thuộc đối với các thư viện dùng chung gốc công khai do nhà sản xuất thiết bị xác định bằng cách sử dụng thẻ uses-native-library trong AndroidManifest.xml . Nếu không đáp ứng được bất kỳ phần phụ thuộc nào (ví dụ: một trong các phần phụ thuộc không tồn tại), thì trình quản lý gói sẽ không cài đặt ứng dụng. Bạn có thể chỉ định phần phụ thuộc là không bắt buộc bằng cách sử dụng thuộc tính android:required trong thẻ. Trong trường hợp này, việc không đáp ứng được phần phụ thuộc sẽ không dừng quá trình cài đặt.
Sau khi cài đặt, ứng dụng sẽ chỉ được cung cấp các thư viện dùng chung gốc được chỉ định trong tệp kê khai ứng dụng. Việc gọi dlopen trên một thư viện dùng chung gốc không xuất hiện trong tệp kê khai ứng dụng sẽ không thành công ngay cả khi thư viện đó thực sự tồn tại trên thiết bị.
|
ENFORCE_STRICT_QUERY_BUILDER
Mã thay đổi: 143231523
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Khi được bật, SQLiteQueryBuilder sẽ xác minh đối số độc hại trên tất cả lựa chọn truy vấn CalendarProvider2 .
|
FGS_BG_START_RESTRICTION_CHANGE_ID
Mã thay đổi: 170668199
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, hãy hạn chế thời điểm các ứng dụng có thể bắt đầu dịch vụ trên nền trước trong khi chạy ở chế độ nền.
|
FGS_START_EXCEPTION_CHANGE_ID
Mã thay đổi: 174041399
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, cho phép hệ thống gửi một IllegalStateException nếu một ứng dụng cố gắng khởi động một dịch vụ trên nền trước trong khi đang chạy ở chế độ nền.
|
Mã thay đổi: 156215187
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, hãy hoàn tất InputConnection khi thiết bị chuyển sang trạng thái non-interactive .
Nếu được input method hiện tại cho phép, kết nối đầu vào hiện tại sẽ finished bất cứ khi nào thiết bị chuyển sang trạng thái không tương tác.
Nếu không được bật, kết nối đầu vào hiện tại sẽ bị huỷ kích hoạt âm thầm khi thiết bị chuyển sang trạng thái không tương tác và một cặp onFinishInput() và onStartInput() sẽ được gửi đi khi thiết bị chuyển sang trạng thái tương tác trở lại.
|
FORCE_DISABLE_HEVC_SUPPORT
Mã thay đổi: 174227820
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Buộc tắt chế độ hỗ trợ tính năng đa phương tiện HEVC trên một ứng dụng.
Ứng dụng nên khai báo các tính năng đa phương tiện được hỗ trợ trong tệp kê khai, nhưng cờ này có thể được dùng để buộc ứng dụng không hỗ trợ HEVC, do đó, buộc chuyển mã khi truy cập nội dung đa phương tiện được mã hoá theo HEVC. Việc đặt cờ này sẽ ghi đè mọi chế độ mặc định cấp hệ điều hành đối với ứng dụng. Trạng thái mặc định là tắt, có nghĩa là chế độ mặc định của hệ điều hành sẽ được ưu tiên. Nếu bạn bật cả cờ này và FORCE_ENABLE_HEVC_SUPPORT , thì hệ điều hành sẽ bỏ qua cả hai cờ.
|
FORCE_ENABLE_HEVC_SUPPORT
Mã thay đổi: 174228127
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Buộc một ứng dụng bật chế độ hỗ trợ tính năng đa phương tiện HEVC. Các ứng dụng nên khai báo tính năng đa phương tiện được hỗ trợ trong tệp kê khai, nhưng cờ này có thể dùng để buộc một ứng dụng hỗ trợ HEVC, do đó, tránh chuyển mã khi truy cập vào nội dung đa phương tiện được mã hoá theo HEVC. Việc thiết lập cờ này sẽ ghi đè mọi giá trị mặc định cấp hệ điều hành đối với ứng dụng. Trạng thái mặc định là tắt, có nghĩa là chế độ mặc định của hệ điều hành sẽ được ưu tiên. Nếu bạn bật cả cờ này và FORCE_DISABLE_HEVC_SUPPORT , thì hệ điều hành sẽ bỏ qua cả hai cờ.
|
FORCE_NON_RESIZE_APP
Mã thay đổi: 181136395
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Buộc các gói được áp dụng không được thay đổi kích thước.
|
FORCE_RESIZE_APP
Mã thay đổi: 174042936
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Buộc các gói được áp dụng phải đổi kích thước được. Chúng tôi chỉ cho phép đổi kích thước ở chế độ cửa sổ toàn màn hình, nhưng không buộc ứng dụng phải thay đổi thành chế độ nhiều cửa sổ có thể đổi kích thước.
|
HIDE_PROP_ICUBINARY_DATA_PATH
Mã thay đổi: 171979766
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, hãy xoá quyền truy cập vào thuộc tính android.icu.impl.ICUBinary.dataPath .
|
IGNORE_ALLOW_BACKUP_IN_D2D
Mã thay đổi: 183147249
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, android:allowBackup sẽ bị bỏ qua đối với các ứng dụng trong quá trình di chuyển dữ liệu từ thiết bị này sang thiết bị khác (D2D).
|
IGNORE_FULL_BACKUP_CONTENT_IN_D2D
Mã thay đổi: 180523564
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, các quy tắc bao gồm và loại trừ được chỉ định bằng android:fullBackupContent sẽ bị bỏ qua trong quá trình chuyển dữ liệu giữa các thiết bị (D2D).
|
IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY
Mã thay đổi: 169273070
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, getSupportedLocales() hiện trả về một danh sách ngôn ngữ trống khi chưa được đặt, thay vì ngôn ngữ hệ thống mặc định.
|
IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE
Mã thay đổi: 158482162
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, quyền BACKUP cần thiết cho isBackupServiceActive() sẽ được thực thi ở phía dịch vụ thay vì phía máy khách trong BackupManager .
|
KEYSTORE_OPERATION_CREATION_MAY_FAIL
Mã thay đổi: 169897160
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Khi được bật, quá trình tạo hoạt động kho khoá có thể không thành công theo chiến lược cắt giảm mới. Trước đây, kho khoá hoạt động theo giả định rằng việc tạo hoạt động mã hoá luôn thành công.
Tuy nhiên, phần phụ trợ KeyMint chỉ có số chỗ giới hạn dành cho hoạt động.
Để duy trì số lượng các hoạt động "vô hạn", trình nền Kho khoá sẽ cắt giảm các thao tác được sử dụng gần đây nhất nếu không có sẵn chỗ cho thao tác đó. Do đó, các hoạt động tốt có thể bị chấm dứt sớm. Điều này khiến AndroidKeystore gặp phải tình trạng từ chối dịch vụ (DoS) và bị khoá không mong muốn. Ví dụ: nếu nhiều ứng dụng bị đánh thức cùng một lúc do các hoạt động tối ưu hoá quản lý nguồn pin và cố gắng thực hiện hoạt động mã hoá, thì các ứng dụng đó sẽ bắt đầu chấm dứt các hoạt động khác mà không thực hiện tiến trình nào.
Để thoát khỏi tình trạng tắc nghẽn trực tiếp và nỗ lực ngăn chặn DoS, chúng tôi đã thay đổi chiến lược cắt giảm để ưu tiên những ứng dụng khách sử dụng ít chỗ cho hoạt động trong thời gian ngắn. Do đó, các hoạt động đơn lẻ không kéo dài quá 5 giây hầu như sẽ không kết thúc được bằng chiến lược cắt giảm. Vẫn còn một số thao tác liên quan đến mã hoá hệ thống tệp có thể cắt giảm cả những thao tác này, nhưng những trường hợp đó rất hiếm xảy ra. Do tác dụng phụ của chiến lược mới nhằm cắt giảm hoạt động này, quá trình tạo giờ đây có thể không thành công nếu ứng dụng có năng lực cắt giảm thấp hơn so với tất cả các hoạt động hiện tại.
Chiến lược cắt giảm: Để tìm đối tượng phù hợp, chúng tôi tính toán malus cho phương thức gọi và từng hoạt động hiện có. Malus là khái niệm ngược lại với năng lực cắt giảm (phương thức gọi) hoặc có thể hiểu là năng lực chống cắt giảm (hoạt động hiện có). Để có thể cắt giảm một hoạt động, thì phương thức gọi phải tìm một hoạt động có malus cao hơn malus của chính phương thức đó. Để biết thêm thông tin chi tiết về chiến lược cắt giảm, hãy xem phương thức triển khai operation.rs .
Trên Android 11 (API cấp 30) trở xuống, KeyStore2 sẽ thăm dò trình nền Kho khoá để xem có chỗ trống cho hoạt động không. Đối với các ứng dụng nhắm đến Android 11 (API cấp 30) trở xuống, có vẻ như quá trình khởi động đối tượng mật mã và chữ ký luôn thành công. Tuy nhiên, có thể mất nhiều thời gian hơn để nhận được thao tác. Mọi phiên bản Android đều được hưởng lợi từ khả năng lên lịch vùng hoạt động công bằng hơn và mang đến cơ hội tốt hơn để kết thúc thành công một hoạt động.
|
LOCK_DOWN_CLOSE_SYSTEM_DIALOGS
Mã thay đổi: 174664365
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, bạn không thể gửi Intent.ACTION_CLOSE_SYSTEM_DIALOGS trừ phi ứng dụng cũng có quyền android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS . Xin lưu ý rằng đây là phiên bản hạn chế hơn của #DROP_CLOSE_SYSTEM_DIALOGS . Phiên bản này yêu cầu ứng dụng ngừng gửi ý định Intent.ACTION_CLOSE_SYSTEM_DIALOGS sau khi ứng dụng bắt đầu nhắm đến Android 12 (API cấp 31) trở lên.
|
LOCK_DOWN_COLLAPSE_STATUS_BAR
Mã thay đổi: 173031413
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, bạn phải có quyền Manifest.permission.STATUS_BAR để thu gọn các bảng điều khiển trên thanh trạng thái vì lý do bảo mật. Phần mềm độc hại đã khai thác lỗ hổng này để ngăn người dùng truy cập vào các thông báo quan trọng.
|
LOW_POWER_EXCEPTIONS
Mã thay đổi: 168936375
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, tất cả các đối tượng LocationRequest được đánh dấu là tiêu thụ ít điện năng sẽ gửi các ngoại lệ nếu phương thức gọi không có quyền LOCATION_HARDWARE , thay vì âm thầm loại bỏ phần tiêu thụ ít điện năng của yêu cầu.
|
MISSING_EXPORTED_FLAG
Mã thay đổi: 150232615
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, bạn phải chỉ định một giá trị rõ ràng cho thuộc tính android:exported bất cứ khi nào bạn xác định một bộ lọc ý định.
Để tìm hiểu thêm về thay đổi này, hãy xem phần Xuất thành phần an toàn hơn.
|
NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE
Mã thay đổi: 207557677
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 32) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 32) trở lên, các hoạt động phân bổ vùng nhớ heap gốc trong quy trình AppZygote và các quy trình con của quy trình này sẽ sử dụng thẻ khác 0 trong byte quan trọng nhất.
Để tìm hiểu thêm về thay đổi này, hãy xem bài viết Con trỏ được gắn thẻ.
|
NATIVE_HEAP_ZERO_INIT
Mã thay đổi: 178038272
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Bật tính năng tự động khởi chạy không phân bổ bộ nhớ vùng nhớ khối xếp gốc.
|
NATIVE_MEMTAG_ASYNC
Mã thay đổi: 135772972
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Bật tính năng kiểm tra bộ nhớ không đồng bộ (ASYNC) trong quá trình này. Cờ này chỉ ảnh hưởng đến phần cứng hỗ trợ Tiện ích gắn thẻ bộ nhớ (MTE) ARM.
|
NATIVE_MEMTAG_SYNC
Mã thay đổi: 177438394
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Bật tính năng kiểm tra thẻ nhớ đồng bộ (SYNC) trong quá trình này. Cờ này chỉ ảnh hưởng đến phần cứng hỗ trợ Tiện ích gắn thẻ bộ nhớ (MTE) ARM. Nếu cả NATIVE_MEMTAG_ASYNC và cờ này đều được bật, thì cờ này sẽ được ưu tiên và MTE sẽ được bật ở chế độ SYNC.
|
NEVER_SANDBOX_DISPLAY_APIS
Mã thay đổi: 184838306
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Khi bật, hộp cát của API Hiển thị sẽ không áp dụng cho hộp thư hoặc hoạt động SCM. API Hiển thị sẽ tiếp tục cung cấp các giới hạn của DisplayArea.
Để tìm hiểu thêm về thay đổi này, hãy xem phần về
Các phương thức hiển thị đã ngừng hoạt động trên trang Các thay đổi về hành vi của Android 12.
|
NOTIFICATION_CANCELLATION_REASONS
Mã thay đổi: 175319604
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Cho phép trình nghe thông báo hiểu rõ hơn về các lý do huỷ mới.
|
NOTIFICATION_TRAMPOLINE_BLOCK
Mã thay đổi: 167676448
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Để cải thiện hiệu suất và trải nghiệm người dùng của ứng dụng, các ứng dụng nhắm đến Android 12 không thể dùng các dịch vụ hoặc broadcast receiver làm thành phần phản hồi với thao tác nhấn vào thông báo.
Để tìm hiểu thêm về thay đổi này, hãy xem bài viết Không thể tạo thành phần phản hồi với thao tác nhấn vào thông báo từ các dịch vụ hoặc broadcast receiver.
|
NULL_TELEPHONY_THROW_NO_CB
Mã thay đổi: 182185642
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Dùng để kiểm tra xem phiên bản SDK mục tiêu cho quy trình hiện tại có phải là Android 12 (API cấp 31) trở lên hay không.
Áp dụng cho các phương thức sau:
|
OVERRIDE_MIN_ASPECT_RATIO
Mã thay đổi: 174042980
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Thay đổi này là yếu tố thúc đẩy tất cả thay đổi có hành vi buộc áp dụng tỷ lệ khung hình tối thiểu nhất định. Khi bật đổi thay đổi này, hệ thống sẽ áp dụng tỷ lệ khung hình tối thiểu sau đây:
Khi thay đổi này được bật đối với một gói ứng dụng, tỷ lệ khung hình tối thiểu được cung cấp trong tệp kê khai của ứng dụng sẽ được ghi đè thành tỷ lệ khung hình lớn nhất được bật, trừ khi giá trị trong tệp kê khai của ứng dụng cao hơn.
|
OVERRIDE_MIN_ASPECT_RATIO_LARGE
Mã thay đổi: 180326787
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu OVERRIDE_MIN_ASPECT_RATIO được bật cùng, việc bật thay đổi này cho một gói sẽ thiết lập tỷ lệ khung hình tối thiểu của hoạt động thành một giá trị lớn do OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE xác định.
|
OVERRIDE_MIN_ASPECT_RATIO_MEDIUM
Mã thay đổi: 180326845
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.
Nếu OVERRIDE_MIN_ASPECT_RATIO được bật cùng, việc bật thay đổi này cho một gói sẽ thiết lập tỷ lệ khung hình tối thiểu của hoạt động thành một giá trị trung bình do OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE xác định.
|
PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED
Mã thay đổi: 160794467
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, bạn phải chỉ định khả năng biến đổi của từng đối tượng PendingIntent mà ứng dụng của bạn tạo ra. Yêu cầu bổ sung này giúp cải thiện tính bảo mật của ứng dụng.
Để tìm hiểu thêm về thay đổi này, hãy xem phần Ý định đang chờ xử lý phải khai báo khả năng biến đổi.
|
PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT
Mã thay đổi: 165573442
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Các ứng dụng quản trị nhắm đến Android 12 (API cấp 31) trở lên không thể dùng DevicePolicyManager.setPasswordQuality(ComponentName, int) để đặt chất lượng mật khẩu trên thực thể DevicePolicyManager thu được bằng cách gọi DevicePolicyManager.getParentProfileInstance(ComponentName) .
Thay vào đó, họ nên dùng DevicePolicyManager.setRequiredPasswordComplexity(int) để đặt các yêu cầu về mật khẩu ở mức độ thô cho toàn thiết bị.
|
RATE_LIMIT_TOASTS
Mã thay đổi: 174840628
Trạng thái mặc định: Không thể bật/tắt thay đổi này. Chỉ có khung tương thích ghi lại nhật ký này.
Bật giới hạn số lượng lệnh gọi Toast.show() để ngăn việc gửi quá nhiều thông báo ngắn cho người dùng trong một khoảng thời gian có hạn. Nếu bạn cố gắng hiện nhiều thông báo ngắn hơn mức cho phép trong một khung thời gian nhất định thì sẽ dẫn đến việc thông báo ngắn bị loại bỏ.
|
REQUIRE_EXACT_ALARM_PERMISSION
Mã thay đổi: 171306433
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, các ứng dụng phải có quyền Manifest.permission.SCHEDULE_EXACT_ALARM để sử dụng mọi API để đặt chuông báo chính xác, chẳng hạn như setExactAndAllowWhileIdle(int, long, PendingIntent) và setAlarmClock(AlarmClockInfo, PendingIntent) .
|
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID
Mã thay đổi: 182478738
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, các ứng dụng phải có quyền Manifest.permission.READ_PHONE_STATE để gọi TelephonyCallback.ActiveDataSubscriptionIdListener .
|
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO
Mã thay đổi: 184323934
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, các ứng dụng phải có quyền Manifest.permission.READ_PHONE_STATE để gọi TelephonyCallback.CellInfoListener .
|
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO
Mã thay đổi: 183164979
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, các ứng dụng phải có quyền Manifest.permission.READ_PHONE_STATE để gọi TelephonyCallback.DisplayInfoListener .
|
RESTRICT_ADB_BACKUP
Mã thay đổi: 171032338
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, adb backup sẽ tự động bật cho các ứng dụng chạy ở chế độ có thể gỡ lỗi (android:debuggable được đặt thành true ) và không dùng được cho bất kỳ ứng dụng nào khác.
|
RESTRICT_DOMAINS
Mã thay đổi: 175408749
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, bạn phải sử dụng phiên bản mới của API xác minh đường liên kết đến ứng dụng. Yêu cầu này có nghĩa là ứng dụng phải khai báo các miền bên trong một bộ lọc ý định bao gồm tất cả những điều sau:
android:autoVerify="true"
Intent.ACTION_VIEW
Intent.CATEGORY_BROWSABLE
Intet.CATEGORY_DEFAULT
- Chỉ
IntentFilter.SCHEME_HTTP và/hoặc IntentFilter.SCHEME_HTTPS , không có giao thức nào khác
Trên các phiên bản Android trước, Intent.CATEGORY_BROWSABLE không phải là yêu cầu bắt buộc, các lược đồ khác được phép và việc đặt autoVerify thành true trong bất kỳ bộ lọc ý định nào sẽ ngầm giả định rằng tất cả bộ lọc ý định đều được đặt thành autoVerify="true" .
|
SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE
Mã thay đổi: 151105954
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, hãy thực thi để tất cả attributionTags được gửi đến noteOp(String, int, String) , noteProxyOp(String, String) và startOp(String, int, String) đều được xác định trong tệp kê khai của gói được chỉ định làm tham số của các phương thức.
Để bật thay đổi này, cả gói gọi noteOp(String, int, String) cũng như gói được chỉ định làm tham số của phương thức đều phải bật thay đổi này.
|
SELINUX_LATEST_CHANGES
Mã thay đổi: 143539591
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, hãy chọn sử dụng các thay đổi mới nhất của SELinux. Việc tắt thay đổi này cho một ứng dụng nhắm đến Android 12 (API cấp 31) trở lên là không cần thiết. Không ảnh hưởng đến những ứng dụng dùng một mã nhận dạng người dùng chung.
|
SETTINGS_API_V2
Mã thay đổi: 178111421
Trạng thái mặc định: Bật đối với tất cả ứng dụng.
API lựa chọn ưu tiên của người dùng mới để xác minh các miền được đánh dấu autoVerify=true trong bộ lọc ý định AndroidManifest.xml chưa được triển khai trong bản xem trước nền tảng hiện tại. Hiện tại, bạn có thể xem trước các thay đổi về lựa chọn ưu tiên của người dùng mới bằng cách bật ChangeId này và sử dụng adb shell pm set-app-links-user-selection cũng như các lệnh tương tự.
|
USE_SHORT_FGS_USAGE_INTERACTION_TIME
Mã thay đổi: 183972877
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 12 (API cấp 31) trở lên.
Đối với các ứng dụng nhắm đến Android 12 (API cấp 31) trở lên, hãy xác định xem có nên sử dụng thời gian chờ ngắn hơn trước khi nâng cấp nhóm ở chế độ chờ lên ACTIVE khi ứng dụng bắt đầu một dịch vụ trên nền trước hay không.
|