Jeśli do obsługi zastosowań aplikacja wymaga interakcji z innymi aplikacjami, warto przetestować, jak widoczność pakietu zmiany w Androidzie 11 (poziom interfejsu API 30) i nowszym mają wpływ 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 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ę. - Zobacz, które funkcje aplikacji nie działają.
- Przedstaw odpowiedni
<queries>
aby naprawić te cechy.
Konfigurowanie komunikatów logowania do filtrowania pakietów
Aby dowiedzieć się więcej o wpływie domyślnej widoczności aplikacji na aplikacji, możesz włączyć wiadomości dziennika dla 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