Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
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:
Xem tính năng nào trong ứng dụng của bạn hiện không hoạt động.
Đư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:
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-08-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-08-27 UTC."],[],[],null,["If your app relies on interactions with other apps to complete its use cases,\nit's useful to test how [package visibility](/training/package-visibility)\nchanges in Android 11 (API level 30) and higher affect your app.\n\nThis guide also gives some suggestions on how to test the behavior changes\nand helps you configure log messages to determine at a more granular\nlevel how your app might be affected.\n\nTest the behavior changes\n\nTo test whether this behavior change affects your app, complete the\nfollowing steps:\n\n1. Install [Android Studio 3.6.1](/studio) or higher.\n2. Install the latest version of Gradle that Android Studio supports.\n3. Set your app's `targetSdkVersion` to `30` or higher.\n4. Don't include the `\u003cqueries\u003e` element in your app's manifest file.\n5. Call [`getInstalledApplications()`](/reference/android/content/pm/PackageManager#getInstalledApplications(int)) or [`getInstalledPackages()`](/reference/android/content/pm/PackageManager#getInstalledPackages(int)). Both methods return a filtered list when they are successful.\n6. See which features of your app aren't working.\n7. Introduce appropriate [`\u003cqueries\u003e`](/guide/topics/manifest/queries-element) entries to fix those features.\n\nConfigure log messages for package filtering\n\nTo discover more details about how the default visibility of apps affects your\napp, you can enable log messages for package filtering. If you're developing a\ntest app or debuggable app in Android Studio, the [system log provides this\ncapability](/studio/debug#systemLog) for you. Otherwise, you can run the\nfollowing command in a terminal window to enable it manually: \n\n```\nadb shell pm log-visibility --enable PACKAGE_NAME\n```\n\nThen, whenever packages are filtered out of a `PackageManager` object's return\nvalues, you see a message similar to the following in Logcat: \n\n```\nI/AppsFilter: interaction: PackageSetting{7654321 \\\n com.example.myapp/12345} -\u003e PackageSetting{...} BLOCKED\n```\n| **Caution:** Your app's performance is affected when this flag is enabled. Unless you're testing how package visibility affects your app, disable the logging of messages related to package visibility."]]