אנדרואיד 14 יאפשר לך להגביל לאילו תמונות אפליקציות יכולות לגשת גם אם הן אינן משתמשות בבורר התמונות

בוחר התמונות היה ממשק API אופציונלי עבור אפליקציות שרצו לגשת לגלריה שלך ב-Android 13, אבל זה הופך להיות קצת חובה באנדרואיד 14.

אחת מתכונות השיא של אנדרואיד 13 היא ה-Photo Picker, רכיב מערכת חדש המאפשר למשתמשים לבחור לאילו תמונות וסרטונים לתת לאפליקציה גישה. אפליקציות אינן צריכות לבקש הרשאות כלשהן כדי לקבל גישה לפריטים שהמשתמש בוחר באמצעות בוחר התמונות, מה שהופך אותה לדרך השומרת על הפרטיות לשתף תמונות וסרטונים עם אפליקציות. בורר קבצי המערכת שקיים מאז אנדרואיד 4.4 מציע יותר פונקציונליות מאשר בורר התמונות, אך ממשק המשתמש שלו מתוארך בהשוואה.

בוחר התמונות (ובוחר קבצי המערכת לפניו) מגן על הפרטיות שלך בכך שהוא מאפשר לך להגביל לאילו תמונות וסרטונים יש לאפליקציה גישה. למרבה הצער, אפליקציות רבות אינן תומכות ב-Photo Picker, למרות שגרסה תואמת לאחור שלו זמינה עבור אנדרואיד 4.4+. אפליקציות צריכות להפעיל באופן ספציפי את בוחר התמונות באמצעות כוונה, אך אפליקציות רבות בוחרות שלא להשתמש בו מסיבה זו או אחרת. למרבה המזל, אולי זה כבר לא משנה אנדרואיד 14, שבודקת דרך למשתמשים לבחור לאילו תמונות וסרטונים אפליקציות יכולות לגשת דרך בורר התמונות ללא קשר לשאלה אם אפליקציות אלו באמת משתמשות ב-API או לא.

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

החל מ-Android 10, אפליקציות שמתמקדות ב-API ברמה 29 ומעלה היו צריכים לקבל את READ_EXTERNAL_STORAGE הרשאת המשתמש לפני שיוכל להשתמש ב-API של חנות המדיה כדי לגשת לקבצים בבעלות אפליקציות אחרות. באנדרואיד 13, הרשאת READ_EXTERNAL_STORAGE פוצלה לשלוש הרשאות שונות (READ_MEDIA_AUDIO, READ_MEDIA_VIDEO ו-READ_MEDIA_IMAGES) כל אחד מהם מעניק לאפליקציה המיקוד API ברמה 33 את היכולת להשתמש ב-API של חנות המדיה כדי לגשת לקבצי אודיו, וידאו ותמונה בהתאמה שבבעלות אחרים אפליקציות.

אנדרואיד 14 משנה שוב את הרשאות הגישה למדיה על ידי שילוב של READ_MEDIA_VIDEO, READ_MEDIA_IMAGES ו-ACCESS_MEDIA_LOCATION להרשאה חדשה בשם READ_MEDIA_VISUAL_USER_SELECTED. הרשאה זו מאפשרת לאפליקציה המכוונת ל-API ברמה 34 "לקרוא קבצי תמונה ווידאו שנבחרו על ידי המשתמש מאחסון משותף", על פי התיאור שלה. עם זאת, אנדרואיד 14 עשויה להחיל רטרואקטיבית התנהגות חדשה זו על אפליקציות קיימות המכוונות לרמת API 33 (כלומר. Android 13) ובקש READ_MEDIA_VIDEO או READ_MEDIA_IMAGES.

כאשר אפליקציה המכוונת לרמת API 33 מפעילה את תיבת הדו-שיח של הרשאת זמן ריצה כדי לבקש מהמשתמש להעניק לו READ_MEDIA_VIDEO או READ_MEDIA_IMAGES (או שניהם), אנדרואיד 14 עשויה להוסיף ערך חדש ב- תיבת דו-שיח של הרשאה שאומרת "בחר תמונות". הקשה על ערך זה תפעיל גרסה חדשה של בוחר התמונות המאפשרת למשתמש לבחור אילו תמונות או סרטונים הוא רוצה להעניק לאפליקציה גישה ל. לאחר מכן, לאפליקציה יש גישה רק לאותם פריטי מדיה שהמשתמש בחר במפורש, אלא אם כן המשתמש יבחר בכך להרחיב את הגישה לפריטי מדיה נוספים או להעניק לאפליקציה גישה לכל אוספי חנות המדיה עבור תמונות ו סרטונים.

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

מעט מדי אפליקציות משתמשות ב-Photo Picker API כפי שהוא, מה שמבקש מגוגל להתנסות יירוט כוונה קיימת שיישומים משתמשים בהם כדי להפעיל את בוחר קבצי המערכת, כך שהם מפעילים במקום את בוחר התמונות. בעוד שלבוחר התמונות יש כמה פגמים, כמו אי הצגת קבצים מספקי מדיה בענן עדיין (אולי בקרוב SDK של הרחבה גרסה 5!) ו מציג רק אלבומים מסוימים במכשיר, זה טוב יותר מבורר קבצי המערכת הישן והוא בהחלט עדיף על פני כל אפליקציה שיש לה גישה לכל תמונה ווידאו בגלריה.

מפתחים המעוניינים ליישם את ה-API של Photo Picker צריכים לשדרג לגרסה העדכנית ביותר של ספריית Jetpack Activity, המטפלת בהתקשרות לגרסה התואמת לאחור הניתנת דרך שירותי Google Play ב-Android 4.4-Android 10 או לגרסת המסגרת המסופקת דרך מודול MediaProvider Mainline.