Jeśli Twoja aplikacja wymaga interakcji z innymi aplikacjami, warto przetestować, jak zmiany w widoczności pakietu w Androidzie 11 (poziom API 30) i wyższych wpływają na Twoją aplikację.
Przewodnik zawiera też sugestie dotyczące testowania zmian zachowania oraz pomaga skonfigurować komunikaty dziennika, aby określić, jak zmiany mogą wpłynąć na Twoją aplikację.
Testowanie zmian zachowania
Aby sprawdzić, czy ta zmiana zachowania ma wpływ na Twoją aplikację, wykonaj te czynności:
- Zainstaluj Android Studio 3.6.1 lub nowszą wersję.
- Zainstaluj najnowszą wersję Gradle obsługiwaną przez Android Studio.
- Ustaw wartość
targetSdkVersion
aplikacji na30
lub nowszą. - Nie dodawaj elementu
<queries>
do pliku manifestu aplikacji. - Zadzwoń pod numer
getInstalledApplications()
lubgetInstalledPackages()
. Obie metody zwracają odfiltrowaną listę, jeśli operacja się powiedzie. - Sprawdź, które funkcje aplikacji nie działają.
- Wprowadź odpowiednie wpisy
<queries>
, aby naprawić te funkcje.
Konfigurowanie komunikatów logowania do filtrowania pakietów
Aby dowiedzieć się więcej o tym, jak domyślna widoczność aplikacji wpływa na Twoją aplikację, możesz włączyć wiadomości dziennika do filtrowania pakietów. Jeśli w Android Studio tworzysz aplikację testową lub aplikację z możliwością debugowania, dziennik systemowy zapewnia tę funkcję. Jeśli nie, możesz uruchomić to polecenie w oknie terminala, aby włączyć je ręcznie:
adb shell pm log-visibility --enable PACKAGE_NAME
Następnie, gdy pakiety zostaną odfiltrowane z wartości zwracanych obiektu PackageManager
, w Logcat zobaczysz komunikat podobny do tego:
I/AppsFilter: interaction: PackageSetting{7654321 \ com.example.myapp/12345} -> PackageSetting{...} BLOCKED