Gdy aplikacja jest kierowana na Androida 11 (poziom interfejsu API 30) lub nowszego i wyszukuje informacje o innych aplikacjach zainstalowanych na urządzeniu, system domyślnie filtruje te informacje. Taki sposób filtrowania oznacza, że aplikacja nie jest w stanie wykryć wszystkich aplikacji zainstalowanych na urządzeniu. Pomaga to zminimalizować ilość potencjalnie poufnych informacji, do których aplikacja ma dostęp, ale nie musi spełniać swoich wymagań.
Dodatkowo widoczność odfiltrowanych pakietów ułatwia sklepom z aplikacjami, takim jak Google Play, ocenę prywatności i bezpieczeństwa użytkowników. Na przykład Google Play traktuje listę zainstalowanych aplikacji jako dane osobowe i poufne użytkowników.
Ograniczona widoczność aplikacji wpływa na wyniki zwracane przez metody, które podają informacje o innych aplikacjach, np. queryIntentActivities()
, getPackageInfo()
i getInstalledApplications()
.
Ograniczona widoczność wpływa też na bezpośrednie interakcje z innymi aplikacjami, takie jak uruchamianie innych aplikacji.
Niektóre pakiety są widoczne automatycznie. Aplikacja zawsze może wykryć te pakiety w zapytaniach dotyczących innych zainstalowanych aplikacji. Aby wyświetlić inne pakiety, zadeklaruj, że Twoja aplikacja potrzebuje zwiększonej widoczności pakietów, używając elementu <queries>
. Strona przypadki użycia zawiera przykłady selektywnego zwiększania widoczności pakietów. Opisane tu przepływy pracy pozwalają realizować typowe scenariusze 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 tego uprawnienia podlega zatwierdzeniu.
Na stronie o testowaniu działania widoczności pakietów znajdziesz sugestie, jak przetestować zmiany w zachowaniu widoczności pakietów w przypadku, gdy Twoja aplikacja wymaga 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, dostępna w wersji Medium.