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

System automatycznie ujawnia niektóre aplikacje, aby Twoja aplikacja mogła z nimi współpracować bez konieczności deklarowania elementu <queries>. Takie działanie pomaga obsługiwać podstawowe funkcje i typowe przypadki użycia.

Typy aplikacji, które są widoczne automatycznie

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

  • własną aplikację,
  • Niektóre pakiety systemowe, takie jak dostawca multimediów, które implementują podstawowe funkcje Androida.
  • Aplikacja, która zainstalowała Twoją aplikację.
  • Każda aplikacja, która uruchamia aktywność w Twojej aplikacji za pomocą metody startActivityForResult(), zgodnie z opisem w przewodniku dotyczącym uzyskiwania wyniku z aktywności.
  • każda aplikacja, która uruchamia lub łączy się z usługą w Twojej aplikacji;
  • każda aplikacja, która uzyskuje dostęp do dostawcy treści w Twojej aplikacji;
  • każda aplikacja, która ma dostawcę treści, do którego Twoja aplikacja ma przyznane uprawnienia URI do dostępu.
  • Każda aplikacja, która otrzymuje dane wejściowe od Twojej aplikacji. Ten przypadek ma zastosowanie tylko wtedy, gdy Twoja aplikacja udostępnia dane wejściowe jako metoda wprowadzania.

Pakiety systemowe, które są widoczne automatycznie

Niektóre pakiety systemowe, które implementują podstawowe funkcje Androida, są automatycznie widoczne dla Twojej 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 aplikacja.

Aby wyświetlić pełną listę pakietów na konkretnym urządzeniu, uruchom w terminalu na komputerze deweloperskim to polecenie:

adb shell dumpsys package queries

W wyniku działania polecenia odszukaj sekcję forceQueryable. Ta sekcja zawiera listę pakietów, które urządzenie automatycznie udostępniło Twojej aplikacji.