לדעת אילו חבילות גלויות באופן אוטומטי

המערכת הופכת אפליקציות מסוימות לגלויות באופן אוטומטי כדי שהאפליקציה שלכם תוכל לקיים איתן אינטראקציה בלי שתצטרכו להצהיר על הרכיב <queries>. ההתנהגות הזו עוזרת לתמוך בפונקציונליות בסיסית ובתרחישים נפוצים לדוגמה.

סוגי האפליקציות שגלויים באופן אוטומטי

סוגי האפליקציות הבאים תמיד גלויים לאפליקציה, גם כשהאפליקציה מטרגטת את Android 11 (רמת API 30) ואילך:

  • אפליקציה משלכם.
  • חבילות מערכת מסוימות, כמו ספק המדיה, שמטמיעות פונקציונליות ליבה של Android.
  • האפליקציה שדרכה האפליקציה שלכם הותקנה.
  • כל אפליקציה שמפעילה פעילות באפליקציה שלכם באמצעות השיטה startActivityForResult(), כפי שמתואר במדריך בנושא קבלת תוצאה מפעילות.
  • כל אפליקציה שמתחילה בשירות באפליקציה או מקושרת אליו.
  • כל אפליקציה שמקבלת גישה לספק תוכן באפליקציה שלכם.
  • כל אפליקציה שיש לה ספק תוכן שאפליקצייתכם קיבלה הרשאות URI לגישה אליו.
  • כל אפליקציה שמקבלת קלט מהאפליקציה שלכם. התרחיש הזה רלוונטי רק אם האפליקציה מספקת קלט בתור עורך של שיטת קלט.

חבילות מערכת שגלויות באופן אוטומטי

חלק מחבילות המערכת שמטמיעות פונקציונליות ליבה של Android גלויות לאפליקציה באופן אוטומטי, גם אם האפליקציה מטרגטת את Android מגרסה 11 ואילך. קבוצת החבילות הספציפית תלויה במכשיר שבו פועלת האפליקציה.

כדי להציג את הרשימה המלאה של החבילות למכשיר ספציפי, מריצים את הפקודה הבאה בטרמינל במכונה לפיתוח:

adb shell dumpsys package queries

בפלט הפקודה, מאתרים את הקטע forceQueryable. בקטע הזה מופיעה רשימת החבילות שהמכשיר הגדיר כגלויה לאפליקציה באופן אוטומטי.