Filtrowanie widoczności pakietów na Androidzie

Gdy aplikacja jest kierowana na Androida 11 (poziom interfejsu API 30) lub nowszego i wysyła zapytanie o informacje o innych aplikacjach zainstalowanych na urządzeniu, system domyślnie filtruje te informacje. Takie działanie filtra oznacza, że aplikacja nie może wykryć wszystkich aplikacji zainstalowanych na urządzeniu. Pozwala to zminimalizować ilość potencjalnie poufnych informacji, do których aplikacja ma dostęp, ale których nie musi używać do realizacji swoich zadań.

Poza tym widoczność filtrowanych pakietów pomaga sklepom z aplikacjami, takim jak Google Play, ocenić prywatność i bezpieczeństwo, jakie zapewnia Twoja aplikacja użytkownikom. Na przykład Google Play uważa listę zainstalowanych aplikacji za dane osobowe i wrażliwe dane użytkownika.

Ograniczona widoczność aplikacji wpływa na wyniki zwracane przez metody, które dostarczają informacji o innych aplikacjach, np. queryIntentActivities(), getPackageInfo()getInstalledApplications(). Ograniczona widoczność wpływa również na jawne interakcje z innymi aplikacjami, takie jak uruchamianie usługi innej 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 za pomocą elementu <queries>. Na stronie przypadki użycia znajdziesz przykłady, jak selektywnie zwiększać widoczność pakietów. Opisane tam procesy pozwolą Ci realizować typowe scenariusze interakcji z aplikacją, a jednocześnie chronić prywatność 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 przez Twoją aplikację musi zostać zatwierdzone.

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

Aby dowiedzieć się więcej o widoczności pakietów na Androidzie, zapoznaj się z tymi materiałami:

Posty na blogu