סינון לפי הרשאות גישה של חבילות ב-Android

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

בנוסף, הרשאות גישה של חבילות מסוננות עוזרות לאפליקציות חנויות כמו Google Play בודקות את רמת הפרטיות והאבטחה שהאפליקציה מספקת למשתמשים. לדוגמה, Google Play מתייחסת לרשימת האפליקציות המותקנות משתמש אישי ורגיש .

חשיפה מוגבלת של אפליקציה משפיעה על התוצאות שהוחזרו באמצעות שיטות מידע על אפליקציות אחרות, כמו queryIntentActivities() getPackageInfo(), וגם getInstalledApplications(). החשיפה המוגבלת משפיעה גם על אינטראקציות מפורשות עם אפליקציות אחרות, כגון כשמתחילים שירות של אפליקציה אחרת.

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

במקרים הנדירים שבהם הרכיב <queries> לא מספק חבילה הולמת הרשאות הגישה, אפשר להשתמש בהרשאה QUERY_ALL_PACKAGES. אם מפרסמים את ב-Google Play, השימוש של האפליקציה שלך בהרשאה הזו הוא כפוף לאישור.

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

מקורות מידע נוספים

למידע נוסף על הצגת חבילות ב-Android, כדאי לעיין בחומרים הבאים:

פוסטים בבלוגים