Dowiedz się, które pakiety są widoczne automatycznie

System automatycznie ukrywa niektóre aplikacje, dzięki czemu aplikacja może wchodzić z nimi w interakcję bez konieczności deklarowania elementu <queries>. Ułatwia to obsługę podstawowych funkcji i typowych przypadków użycia.

Typy aplikacji, które są widoczne automatycznie

Te typy aplikacji są zawsze widoczne dla aplikacji, nawet jeśli jest ona kierowana na Androida 11 (poziom interfejsu API 30) lub nowszego:

  • Twoja własna aplikacja.
  • Niektóre pakiety systemowe (np. dostawca multimediów), które implementują podstawowe funkcje Androida.
  • Aplikacja, w której zainstalowano Twoją aplikację.
  • Każda aplikacja, która uruchamia w aplikacji aktywność przy użyciu metody startActivityForResult() zgodnie z opisem w przewodniku na temat uzyskiwania wyników działania.
  • Każda aplikacja, która uruchamia usługę w aplikacji lub łączy się z nią.
  • Każda aplikacja, która uzyskuje w Twojej aplikacji dostęp do dostawcy treści.
  • Każda aplikacja korzystająca z dostawcy treści, do której Twoja aplikacja otrzymała uprawnienia URI.
  • Każda aplikacja, która otrzymuje dane wejściowe z Twojej aplikacji. Ten przypadek ma zastosowanie tylko wtedy, gdy aplikacja wprowadza dane wejściowe jako edytor metody wprowadzania.

Pakiety systemowe widoczne automatycznie

Niektóre pakiety systemowe, które implementują podstawowe funkcje Androida, są automatycznie widoczne dla aplikacji, nawet jeśli jest ona kierowana na Androida 11 lub nowszego. Konkretny zestaw pakietów zależy od urządzenia, na którym działa Twoja aplikacja.

Aby wyświetlić pełną listę pakietów dla konkretnego urządzenia, uruchom to polecenie w terminalu na maszynie do programowania:

adb shell dumpsys package queries

W danych wyjściowych polecenia znajdź sekcję forceQueryable. Ta sekcja zawiera listę pakietów, które urządzenie automatycznie udostępniło Twojej aplikacji.