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 znać, aby spełniać swoje przypadki użycia.

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 podają informacje o innych aplikacjach, queryIntentActivities() getPackageInfo(), oraz 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 . Aplikacja może zawsze wykrywać 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>. Metoda przypadki znajdziesz na stronie może wybiórczo zwiększyć widoczność pakietów. Opisane tam przepływy pracy pozwalają realizacji typowych scenariuszy interakcji z aplikacją, a jednocześnie chronić prywatność użytkowników.

W rzadkich przypadkach, gdy element <queries> nie zapewnia odpowiedniego pakietu widoczności, 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.

Strona na temat testowanie zachowania widoczności pakietów zawiera sugestie dotyczące testowania zmian w zachowaniu użytkowników zależnie od widoczności pakietów gdy 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