System automatycznie udostępnia niektóre aplikacje, aby Twoja aplikacja mogła z nimi współdziałać 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 (API na poziomie 30) lub nowszego:
- Twoja aplikacja.
- 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 na temat uzyskiwania wyniku z aktywności. - dowolna aplikacja, która uruchamia usługę w Twojej aplikacji lub się z nią wiąże;
- każda aplikacja, która uzyskuje dostęp do mechanizmu dostarczania treści w Twojej aplikacji;
- każda aplikacja, która ma mechanizm dostarczania treści, do którego Twoja aplikacja ma przyznane uprawnienia URI;
- Każda aplikacja, która otrzymuje dane wejściowe z Twojej aplikacji. Ten przypadek dotyczy tylko sytuacji, gdy Twoja aplikacja udostępnia dane wejściowe jako edytor metody wprowadzania.
pakiety systemowe, które są 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 aplikacja.
Aby wyświetlić pełną listę pakietów dla konkretnego urządzenia, uruchom to polecenie w terminalu na komputerze używanym do programowania:
adb shell dumpsys package queries
W wyniku polecenia znajdź sekcję forceQueryable. Ta sekcja zawiera listę pakietów, które urządzenie automatycznie udostępniło Twojej aplikacji.