Tối đa hoá mức độ tuân thủ kiểm thử với các bất biến của WindowManager

Để triển khai trải nghiệm người dùng nhất quán và chất lượng cao, đồng thời ngăn chặn các vấn đề dẫn đến lỗi Bộ kiểm tra tính tương thích (CTS), hãy triển khai các nguyên tắc cốt lõi của WindowManager (WM) được mô tả tại đây. Các nguyên tắc này giúp đảm bảo việc tuân thủ nguyên tắc về chất lượng của ứng dụng dành cho ô tô. Những nguyên tắc này áp dụng cho:

  • Các bản phát hành Android sử dụng cấu trúc nhiều cửa sổ, bắt đầu từ Android 14 và tiếp tục trong Android 15 với Giao diện người dùng có thể mở rộng.

  • Giao diện người dùng có thể mở rộng trên Android và các chế độ triển khai tuỳ chỉnh của riêng bạn

Bằng cách áp dụng các nguyên tắc này, bạn sẽ chủ động tránh được hầu hết các vấn đề về việc tuân thủ CTS và kiểm thử chức năng.

Thuật ngữ

bất biến
Một điều kiện logic vẫn đúng trong suốt quá trình thực thi một ứng dụng dẫn đến tính toàn vẹn cấu trúc. Bất biến đóng vai trò là quy tắc ranh giới.
hoạt động đặc biệt
Còn được gọi là hoạt động Giao diện người dùng tự động hoặc hoạt động Giao diện người dùng hệ thống, hoạt động quan trọng này của ứng dụng có một vùng riêng trên màn hình luôn hiển thị hoặc hiển thị hầu hết thời gian, ngay cả khi người dùng nhấn vào Màn hình chính,chẳng hạn như một ứng dụng điều hướng chính hoặc ứng dụng cụm.
hoạt động tiêu chuẩn
Mọi hoạt động tiêu chuẩn của ứng dụng không phải là hoạt động thiết yếu đối với giao diện người dùng cốt lõi của hệ thống, chẳng hạn như ứng dụng đa phương tiện của bên thứ ba được khởi chạy từ lưới ứng dụng.

Nguyên tắc của WM

Để tối đa hoá khả năng tuân thủ CTS, hãy áp dụng các nguyên tắc này trong quá trình triển khai WM.

Sử dụng cấu hình ổn định khi khởi chạy hoạt động

Khởi chạy mọi hoạt động chuẩn mới bằng một hiệu ứng chuyển đổi WM duy nhất đặt vị trí, kích thước và mật độ cuối cùng của hoạt động đó. Bạn không được kích hoạt một hiệu ứng chuyển đổi thứ hai làm thay đổi cấu hình cửa sổ của tác vụ cơ bản (chẳng hạn như kích thước hoặc mật độ) ngay sau hiệu ứng chuyển đổi đầu tiên, vì điều này sẽ gây ra một thay đổi về cấu hình ngay sau khi hoạt động được tạo.

Di chuyển các hoạt động tiêu chuẩn sang trạng thái đã dừng

Khi người dùng chuyển đến tác vụ chính hoặc cảnh chính, bạn phải chuyển tất cả các hoạt động chuẩn đang chạy sang trạng thái dừng để duy trì vòng đời ứng dụng Android có thể dự đoán theo yêu cầu của các bài kiểm thử CTS. Để biết thêm thông tin về các yêu cầu đối với vòng đời ứng dụng trong môi trường ô tô, hãy xem phần Ngăn chặn việc sử dụng khi các quy định hạn chế về trải nghiệm người dùng bắt đầu có hiệu lực.

Ngăn chặn việc che khuất nội dung hoạt động tiêu chuẩn

Không vẽ bất kỳ thành phần giao diện người dùng hoặc thành phần trang trí tuỳ chỉnh nào cản trở nội dung của một hoạt động tiêu chuẩn. Nếu vẽ lớp phủ tuỳ chỉnh (chẳng hạn như thanh điều khiển nhiệt độ tuỳ chỉnh), bạn phải báo cáo các phương diện cho hệ thống bằng phần lồng ghép SystemOverlay. Đối với Android 15 trở lên, hãy sử dụng DecorPanel trong Giao diện người dùng có thể mở rộng. Các ứng dụng dựa vào những phần lồng ghép này để bố trí nội dung một cách an toàn.

Ẩn lớp phủ theo yêu cầu ở chế độ hiển thị tối đa

Khi một ứng dụng yêu cầu chế độ sống động, bạn phải ẩn mọi phần tử tạm thời trong giao diện người dùng tuỳ chỉnh và xoá phần lồng ghép SystemOverlay của các phần tử đó. Các vật cản cố định sẽ ảnh hưởng đến kỳ vọng về số lượng pixel của ứng dụng. Để biết thông tin chi tiết về cách các ứng dụng yêu cầu và xử lý chế độ hiển thị tối đa, hãy xem phần Thanh hệ thống, chế độ hiển thị tối đa và hiển thị tràn viền.

Chỉ áp dụng góc bo tròn ở cấp màn hình

Chỉ áp dụng các góc bo tròn ở cấp màn hình bằng cách sử dụng các cấu hình tài nguyên thích hợp trong frameworks/base. Không áp dụng các góc bo tròn tuỳ ý cho bề mặt của một hoạt động tiêu chuẩn.

Việc này sẽ ảnh hưởng đến các bài kiểm thử phần tử trên giao diện người dùng. Để tạm thời khắc phục, bạn có thể chỉ định cùng một bán kính góc bo tròn cho màn hình như khi áp dụng cho bề mặt của hoạt động tiêu chuẩn.

Duy trì kích thước ứng dụng theo yêu cầu ở chế độ hiển thị tối đa

Khi một ứng dụng yêu cầu chuyển sang chế độ sống động, đừng đổi kích thước cửa sổ của ứng dụng. Thao tác này sẽ kích hoạt một thay đổi về cấu hình gây gián đoạn. Thay vào đó, để tối đa hoá ứng dụng, hãy cung cấp một nút toàn màn hình do người dùng kiểm soát.