Jeśli do obsługi zastosowań aplikacja wymaga interakcji z innymi aplikacjami, warto przetestować, jak widoczność pakietu zmiany w Androidzie 11 (poziom API 30) i nowszym mają wpływ na Twoją aplikację.
W przewodniku znajdziesz też kilka sugestii, jak przetestować zmiany w zachowaniu użytkowników i pomaga skonfigurować komunikaty logu w celu dokładniejszego określenia jak może to wpłynąć na Twoją aplikację.
Testowanie zmian zachowania
Aby sprawdzić, czy taka zmiana w działaniu wpływa na Twoją aplikację, wykonaj następujące kroki:
- 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 umieszczaj elementu
<queries>
w pliku manifestu aplikacji. - Zadzwoń pod numer
getInstalledApplications()
lubgetInstalledPackages()
. Obie metody, które okażą się skuteczne, zwracają przefiltrowaną listę. - Sprawdź, które funkcje aplikacji nie działają.
- Przedstaw odpowiedni
<queries>
aby naprawić te cechy.
Konfigurowanie komunikatów logu na potrzeby 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 tworzysz lub testową aplikację możliwą do debugowania w Android Studio, dziennik systemowy zawiera dla Ciebie. W przeciwnym razie możesz uruchomić następujące polecenie w oknie terminala, aby włączyć je ręcznie:
adb shell pm log-visibility --enable PACKAGE_NAME
Następnie, gdy pakiety są odfiltrowywane ze zwracanego obiektu PackageManager
w aplikacji Logcat pojawi się komunikat podobny do tego:
I/AppsFilter: interaction: PackageSetting{7654321 \ com.example.myapp/12345} -> PackageSetting{...} BLOCKED