كان Photo Picker عبارة عن واجهة برمجة تطبيقات اختيارية للتطبيقات التي أرادت الوصول إلى معرض الصور الخاص بك في Android 13 ، لكنه أصبح إلزاميًا إلى حد ما في Android 14.
إحدى الميزات البارزة في Android 13 هي Photo Picker ، وهو مكون نظام جديد يتيح للمستخدمين اختيار الصور ومقاطع الفيديو لمنح التطبيق إمكانية الوصول إليها. لا تحتاج التطبيقات إلى طلب أي أذونات للوصول إلى العناصر التي يحددها المستخدم عبر Photo Picker ، مما يجعلها طريقة للحفاظ على الخصوصية لمشاركة الصور ومقاطع الفيديو مع التطبيقات. يوفر منتقي ملفات النظام الموجود منذ Android 4.4 وظائف أكثر من Photo Picker ، ولكن واجهة المستخدم قديمة بالمقارنة.
يحمي Photo Picker (ومنتقي ملفات النظام قبله) خصوصيتك من خلال السماح لك بتقييد الصور ومقاطع الفيديو التي يمكن للتطبيق الوصول إليها. لسوء الحظ ، لا تدعم العديد من التطبيقات Photo Picker ، على الرغم من توفر إصدار متوافق منه مع الإصدارات السابقة لنظام التشغيل Android 4.4 والإصدارات الأحدث. يجب على التطبيقات استدعاء Photo Picker على وجه التحديد باستخدام نية ، لكن العديد من التطبيقات تختار عدم استخدامه لسبب أو لآخر. لحسن الحظ ، قد لا يكون هذا مهمًا بعد الآن
أندرويد 14، والذي يختبر طريقة للمستخدمين لاختيار تطبيقات الصور ومقاطع الفيديو التي يمكن الوصول إليها من خلال Photo Picker بغض النظر عما إذا كانت هذه التطبيقات تستخدم واجهة برمجة التطبيقات أم لا.تصل العديد من التطبيقات إلى ملفات الوسائط من خلال ملف متجر الوسائط API. يقوم النظام بفهرسة الملفات حسب نوعها ، والتي تسمى مجموعات تخزين الوسائط ، ويحافظ على قاعدة بيانات يمكن للتطبيقات الاستعلام عنها باستخدام واجهة برمجة تطبيقات متجر الوسائط. لا تحتاج التطبيقات التي تستخدم واجهة برمجة تطبيقات متجر الوسائط إلى طلب إذن لقراءة الملفات التي تمتلكها أو تعديلها ، ولكنها تحتاج إلى الحصول على إذن من المستخدم للوصول إلى الملفات المملوكة لتطبيقات أخرى.
بدءًا من Android 10 ، يجب منح التطبيقات التي تستهدف مستوى API 29 أو أعلى إذن READ_EXTERNAL_STORAGE من قبل المستخدم قبل أن يتمكنوا من استخدام واجهة برمجة تطبيقات مخزن الوسائط للوصول إلى الملفات مملوكة لتطبيقات أخرى. في Android 13 ، تم تقسيم إذن READ_EXTERNAL_STORAGE إلى ثلاثة أذونات مختلفة (READ_MEDIA_AUDIO و READ_MEDIA_VIDEO و READ_MEDIA_IMAGES) يمنح كل تطبيق يستهدف API المستوى 33 القدرة على استخدام واجهة برمجة تطبيقات متجر الوسائط للوصول إلى ملفات الصوت والفيديو والصور على التوالي التي يملكها الآخرون تطبيقات.
يغير Android 14 أذونات الوصول إلى الوسائط مرة أخرى من خلال الجمع بين READ_MEDIA_VIDEO و READ_MEDIA_IMAGES و ACCESS_MEDIA_LOCATION في إذن جديد يسمى READ_MEDIA_VISUAL_USER_SELECTED. يسمح هذا الإذن للتطبيق الذي يستهدف مستوى API 34 "بقراءة ملفات الصور والفيديو التي يختارها المستخدم من التخزين المشترك" ، وفقًا لوصفه. ومع ذلك ، قد يطبق Android 14 بأثر رجعي هذا السلوك الجديد على التطبيقات الحالية التي تستهدف مستوى API 33 (على سبيل المثال. Android 13) واطلب READ_MEDIA_VIDEO أو READ_MEDIA_IMAGES.
عندما يقوم أحد التطبيقات التي تستهدف مستوى API 33 بتشغيل مربع حوار إذن وقت التشغيل لمطالبة المستخدم بمنحه READ_MEDIA_VIDEO أو READ_MEDIA_IMAGES (أو كليهما) ، فقد يقوم Android 14 بإدراج إدخال جديد في مربع حوار الإذن الذي يقول "حدد الصور". سيؤدي النقر فوق هذا الإدخال إلى تشغيل إصدار جديد من Photo Picker يسمح للمستخدم بتحديد الصور أو مقاطع الفيديو التي يريد منح التطبيق حق الوصول إليها ل. بعد ذلك ، يتمتع التطبيق بإمكانية الوصول إلى عناصر الوسائط التي حددها المستخدم على وجه التحديد ، ما لم يختار المستخدم ذلك قم بتوسيع الوصول إلى عناصر وسائط إضافية أو منح التطبيق حق الوصول إلى مجموعات متجر الوسائط بالكامل للصور و أشرطة فيديو.
لا يتم عرض هذا الإدخال في مربع حوار الأذونات افتراضيًا في Android 14 DP1 ، نظرًا لأن رؤيته محكومة بعلامة مطور كان علي تبديلها. إذا نجحت هذه الميزة في الإصدار ، فسيكون ذلك مكسبًا كبيرًا للخصوصية ، حيث يعني ذلك أنه سيكون لدى المستخدمين دائمًا القدرة على تحديد الصور أو مقاطع الفيديو التي يجب أن يتمكن التطبيق من الوصول إليها.
عدد قليل جدًا من التطبيقات يستخدم Photo Picker API كما هي ، مما يدفع Google إلى التجربة اعتراض نية موجودة التي تستخدمها التطبيقات لتشغيل منتقي ملفات النظام بحيث تقوم بدلاً من ذلك بتشغيل Photo Picker. بينما يحتوي Photo Picker على بعض العيوب ، مثل عدم عرض الملفات من موفري الوسائط السحابية حتى الآن (ربما سيظهر قريبًا تمديد SDK الإصدار 5!) و تظهر فقط ألبومات معينة على الجهاز ، فهو أفضل من منتقي ملفات النظام القديم وهو بالتأكيد مفضل لكل تطبيق لديه حق الوصول إلى كل صورة ومقطع فيديو في المعرض.
يجب على المطورين المهتمين بتنفيذ Photo Picker API الترقية إلى أحدث إصدار من مكتبة نشاط Jetpack، الذي يتعامل مع الاتصال بالإصدار المتوافق مع الإصدارات السابقة والذي يتم توفيره من خلال خدمات Google Play على Android 4.4-Android 10 أو الإصدار المزود بإطار العمل المقدم من خلال وحدة MediaProvider Mainline.