بدانید کدام بسته‌ها به‌طور خودکار نمایان هستند

سیستم به‌طور خودکار برخی‌از برنامه‌ها را نمایان می‌کند تا برنامه‌تان بتواند بدون نیاز به اعلام عنصر <queries> با آن‌ها تعامل داشته باشد. این رفتار به پشتیبانی از عملکرد پایه و موارد استفاده رایج کمک می‌کند.

انواع برنامه‌هایی که به‌طور خودکار نمایان می‌شوند

انواع برنامه‌های زیر همیشه برای برنامه شما قابل‌مشاهده هستند، حتی زمانی که برنامه شما Android 11 (سطح میانای برنامه‌سازی کاربردی ۳۰) یا بالاتر را هدف قرار می‌دهد:

  • برنامه خودتان.
  • بسته‌های سیستم خاص، مانند ارائه‌دهنده رسانه، که عملکرد اصلی Android را پیاده‌سازی می‌کنند.
  • برنامه‌ای که برنامه شما را نصب کرده است.
  • هر برنامه‌ای که فعالیتی را در برنامه شما بااستفاده از روش startActivityForResult() راه‌اندازی می‌کند، همان‌طور که در راهنمای مربوط به دریافت نتیجه از فعالیت شرح داده شده است.
  • هر برنامه‌ای که سرویسی را در برنامه شما شروع کند یا به آن متصل شود.
  • هر برنامه‌ای که به ارائه‌دهنده محتوا در برنامه شما دسترسی داشته باشد.
  • هر برنامه‌ای که ارائه‌دهنده محتوایی داشته باشد که برنامه شما اجازه‌های URI برای دسترسی به آن را دریافت کرده باشد.
  • هر برنامه‌ای که از برنامه شما ورودی دریافت می‌کند. این مورد فقط زمانی اعمال می‌شود که برنامه شما ورودی را به‌عنوان ویرایشگر روش ورودی ارائه دهد.

بسته‌های سیستم که به‌طور خودکار نمایان هستند

برخی‌از بسته‌های سیستم که عملکرد اصلی Android را پیاده‌سازی می‌کنند، به‌طور خودکار برای برنامه‌تان قابل‌مشاهده هستند، حتی وقتی برنامه‌تان Android 11 یا نسخه بالاتر را هدف قرار می‌دهد. مجموعه خاص بسته‌ها به دستگاهی که برنامه‌تان را اجرا می‌کند بستگی دارد.

برای مشاهده فهرست کامل بسته‌های دستگاهی خاص، فرمان زیر را در پایانه ماشین توسعه نرم‌افزارتان اجرا کنید:

adb shell dumpsys package queries

در خروجی فرمان، بخش forceQueryable را پیدا کنید. این بخش شامل فهرست بسته‌هایی است که دستگاه به‌طور خودکار برای برنامه‌تان نمایان کرده است.