Kiểm thử hành vi của chế độ hiển thị gói

Nếu ứng dụng của bạn dựa vào hoạt động tương tác với các ứng dụng khác để hoàn thành trường hợp sử dụng của ứng dụng, thì bạn nên kiểm thử mức độ ảnh hưởng của những thay đổi về chế độ hiển thị gói trong Android 11 (API cấp 30) trở lên đến ứng dụng của bạn.

Hướng dẫn này cũng đưa ra một số đề xuất về cách kiểm thử những thay đổi về hành vi, đồng thời giúp bạn định cấu hình các thông điệp nhật ký để xác định chi tiết hơn mức độ ảnh hưởng đến ứng dụng của mình.

Kiểm thử những thay đổi về hành vi

Để kiểm thử xem sự thay đổi về hành vi này có ảnh hưởng đến ứng dụng của bạn hay không, hãy hoàn tất các bước sau:

  1. Cài đặt Android Studio 3.6.1 trở lên.
  2. Cài đặt phiên bản Gradle mới nhất mà Android Studio hỗ trợ.
  3. Đặt targetSdkVersion của ứng dụng thành 30 trở lên.
  4. Đừng thêm phần tử <queries> vào tệp kê khai của ứng dụng.
  5. Gọi getInstalledApplications() hoặc getInstalledPackages(). Cả hai phương thức đều trả về danh sách đã lọc khi thành công.
  6. Xem tính năng nào trong ứng dụng của bạn hiện không hoạt động.
  7. Đưa các mục <queries> thích hợp vào để khắc phục những tính năng đó.

Định cấu hình thông điệp nhật ký để lọc gói

Để tìm hiểu thêm thông tin chi tiết về mức độ ảnh hưởng từ chế độ hiển thị mặc định của các ứng dụng đối với ứng dụng của bạn, bạn có thể bật thông điệp nhật ký để lọc gói. Nếu bạn đang phát triển một ứng dụng kiểm thử hoặc ứng dụng có thể gỡ lỗi trong Android Studio, thì nhật ký hệ thống sẽ cung cấp chức năng này cho bạn. Nếu không, bạn có thể chạy lệnh sau trong cửa sổ dòng lệnh để bật lệnh đó theo cách thủ công:

adb shell pm log-visibility --enable PACKAGE_NAME

Sau đó, mỗi khi các gói được lọc khỏi giá trị trả về của đối tượng PackageManager, bạn sẽ thấy một thông báo tương tự như sau trong Logcat:

I/AppsFilter: interaction: PackageSetting{7654321 \
  com.example.myapp/12345} -> PackageSetting{...} BLOCKED