המערכת מגדירה אפליקציות מסוימות באופן אוטומטי כגלויות כדי שהאפליקציה
יכול לקיים איתם אינטראקציה בלי להצהיר
<queries>
. ההתנהגות הזו
עוזרת לתמוך בפונקציונליות בסיסית ובתרחישים נפוצים לדוגמה.
סוגי האפליקציות שמוצגות באופן אוטומטי
סוגי האפליקציות הבאים תמיד גלויים לאפליקציה שלך, גם כשהאפליקציה שלך מטרגטת את Android 11 (רמת API 30) ואילך:
- אפליקציה משלך.
- חבילות מערכת מסוימות, כמו ספק מדיה שמטמיע את הפונקציונליות הבסיסית של Android.
- האפליקציה שדרכה הותקנה האפליקציה.
- כל אפליקציה שמפעילה פעילות באפליקציה באמצעות
startActivityForResult()
, כפי שמתואר במדריך איך מקבלים תוצאות פעילות. - כל אפליקציה שמתחילה בשירות או מקושרת אליו ב- באפליקציה שלך.
- כל אפליקציה שניגשת לתוכן ספק באפליקציה.
- כל אפליקציה שיש לה ספק תוכן שהאפליקציה שלך קיבלה URI הרשאות כדי לגשת אליה.
- כל אפליקציה שמקבלת קלט מהאפליקציה שלכם. מקרה זה רלוונטי רק כאשר האפליקציה מספקת קלט כשיטת קלט Editor.
חבילות מערכת שגלויות באופן אוטומטי
חלק מחבילות המערכת שמטמיעות פונקציונליות ליבה של Android מופעלות באופן אוטומטי גלויות לאפליקציה, גם אם האפליקציה מטרגטת ל-Android 11 גבוהה יותר. הקבוצה הספציפית של החבילות תלויה במכשיר שבו פועלת האפליקציה.
כדי להציג את הרשימה המלאה של החבילות למכשיר ספציפי, מריצים את הפקודה הבאה בפקודה בטרמינל במכונת הפיתוח:
adb shell dumpsys package queries
מחפשים את הקטע forceQueryable
בפלט הפקודה. הקטע הזה כולל
רשימת החבילות שהמכשיר הפך לגלוי לאפליקציה שלך באופן אוטומטי.