Filtrowanie widoczności pakietów na Androidzie

Gdy aplikacja jest kierowana na Androida 11 (API na poziomie 30) lub nowszego i wysyła zapytania o informacje o innych aplikacjach zainstalowanych na urządzeniu, system domyślnie filtruje te informacje. To filtrowanie oznacza, że Twoja aplikacja nie może wykryć wszystkich aplikacji zainstalowanych na urządzeniu, co pomaga zminimalizować ilość potencjalnie wrażliwych informacji, do których aplikacja może mieć dostęp, ale nie potrzebuje ich do realizacji swoich przypadków użycia.

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

Ograniczona widoczność aplikacji wpływa na wyniki zwracane przez metody, które podają informacje o innych aplikacjach, takie jak queryIntentActivities(), getPackageInfo(), i getInstalledApplications(). Ograniczona widoczność wpływa też na wyraźne interakcje z innymi aplikacjami, np. na uruchamianie usługi innej aplikacji.

Niektóre pakiety są widoczne automatycznie. Twoja aplikacja zawsze może wykryć te pakiety w zapytaniach o inne zainstalowane aplikacje. Aby wyświetlić inne pakiety, zadeklaruj, że Twoja aplikacja potrzebuje większej widoczności pakietów za pomocą elementu <queries>. Na stronie przypadków użycia znajdziesz przykłady tego, jak możesz selektywnie zwiększać widoczność pakietów. Opisane tam procesy umożliwiają realizowanie typowych scenariuszy interakcji z aplikacjami przy jednoczesnej ochronie prywatności użytkowników.

W rzadkich przypadkach, gdy element <queries> nie zapewnia odpowiedniej widoczności pakietów , możesz użyć uprawnienia QUERY_ALL_PACKAGES. Jeśli opublikujesz swoją aplikację w Google Play, jej korzystanie z tego uprawnienia będzie wymagać zatwierdzenia.

Na stronie dotyczącej testowania zachowania związanego z widocznością pakietów znajdziesz sugestie dotyczące testowania zmian zachowania na podstawie widoczności pakietów, gdy Twoja aplikacja opiera się na interakcjach z innymi aplikacjami.

Dodatkowe materiały

Więcej informacji o widoczności pakietów w Androidzie znajdziesz w tych materiałach:

Posty na blogu