Gdy aplikacja jest kierowana na Androida 11 (API na poziomie 30) lub nowszego i wysyła zapytanie o informacje o innych aplikacjach zainstalowanych na urządzeniu, system domyślnie filtruje te informacje. To filtrowanie oznacza, że aplikacja nie może wykryć wszystkich aplikacji zainstalowanych na urządzeniu, co pomaga zminimalizować potencjalnie poufne informacje, do których aplikacja może mieć dostęp, ale nie potrzebuje ich do realizacji swoich przypadków użycia.
Filtrowana widoczność pakietu pomaga też sklepom z aplikacjami, takim jak Google Play, ocenić poziom prywatności i bezpieczeństwa, jaki zapewnia Twoja aplikacja. Na przykład Google Play uważa listę zainstalowanych aplikacji za dane osobowe i wrażliwe.
Ograniczona widoczność aplikacji wpływa na wyniki zwracane przez metody, które dostarczają informacji o innych aplikacjach, np. queryIntentActivities(), getPackageInfo() i getInstalledApplications().
Ograniczona widoczność wpływa też na wyraźne interakcje z innymi aplikacjami, takie jak uruchamianie usługi innej aplikacji.
Niektóre pakiety są widoczne automatycznie. Aplikacja może zawsze wykrywać te pakiety w zapytaniach dotyczących innych zainstalowanych aplikacji. Aby wyświetlić inne pakiety, zadeklaruj, że Twoja aplikacja potrzebuje większej widoczności pakietów za pomocą elementu <queries>. Na stronie przypadki użycia znajdziesz przykłady selektywnego zwiększania widoczności pakietów. Opisane tam procesy umożliwiają realizację typowych scenariuszy interakcji z aplikacją przy jednoczesnej ochronie prywatności użytkowników.
W rzadkich przypadkach, gdy element <queries> nie zapewnia odpowiedniej widoczności pakietu, możesz użyć uprawnienia QUERY_ALL_PACKAGES. Jeśli opublikujesz aplikację w Google Play, korzystanie z tych uprawnień przez aplikację podlega zatwierdzeniu.
Na stronie dotyczącej testowania widoczności pakietu znajdziesz sugestie, jak testować zmiany w zachowaniu aplikacji w zależności od widoczności pakietu, gdy aplikacja korzysta z interakcji z innymi aplikacjami.
Dodatkowe materiały
Więcej informacji o widoczności pakietów na Androidzie znajdziesz w tych materiałach:
Posty na blogu
- Widoczność pakietów w Androidzie 11 (artykuł w serwisie Medium)