Fotoğraf Seçici, Android 13'te galerinize erişmek isteyen uygulamalar için isteğe bağlı bir API idi, ancak Android 14'te biraz zorunlu hale geliyor.
Android 13'ün öne çıkan özelliklerinden biri, kullanıcıların bir uygulamaya erişim izni verecekleri fotoğrafları ve videoları seçmelerine olanak tanıyan yeni bir sistem bileşeni olan Fotoğraf Seçici'dir. Uygulamaların, kullanıcının Fotoğraf Seçici aracılığıyla seçtiği öğelere erişim elde etmek için herhangi bir izin istemesine gerek yoktur; Android 4.4'ten beri var olan sistem dosyası seçici, Fotoğraf Seçici'den daha fazla işlevsellik sunar, ancak kullanıcı arayüzü buna kıyasla eskidir.
Fotoğraf Seçici (ve ondan önceki sistem dosyası seçici), bir uygulamanın erişebileceği fotoğraf ve videoları kısıtlamanıza izin vererek gizliliğinizi korur. Ne yazık ki birçok uygulama, Android 4.4+ için geriye dönük uyumlu bir sürümü mevcut olmasına rağmen Fotoğraf Seçici'yi desteklemiyor. Uygulamaların bir amaç kullanarak Fotoğraf Seçici'yi özel olarak çağırması gerekir, ancak birçok uygulama şu veya bu nedenle onu kullanmamayı seçer. Neyse ki, bu artık önemli olmayabilir
Birçok uygulama, medya dosyalarına medya deposu API'sı. Sistem, dosyaları ortam deposu koleksiyonları adı verilen türlerine göre dizine ekler ve uygulamaların ortam deposu API'sini kullanarak sorgulayabileceği bir veritabanı tutar. Medya deposu API'sini kullanan uygulamaların, sahip oldukları dosyaları okumak veya değiştirmek için izin istemeleri gerekmez, ancak diğer uygulamaların sahip olduğu dosyalara erişmeleri için kullanıcı tarafından izin verilmesi gerekir.
Android 10'dan başlayarak, API düzeyi 29 veya üstünü hedefleyen uygulamalara Dosyalara erişmek için medya deposu API'sini kullanmadan önce kullanıcının READ_EXTERNAL_STORAGE izni diğer uygulamalara aittir. Android 13'te, READ_EXTERNAL_STORAGE izni üç farklı izne (READ_MEDIA_AUDIO, READ_MEDIA_VIDEO ve READ_MEDIA_IMAGES) ayrılmıştır. her biri, API düzeyi 33'ü hedefleyen bir uygulamaya, sırasıyla başkalarına ait olan ses, video ve görüntü dosyalarına erişmek için medya deposu API'sini kullanma yeteneği verir. uygulamalar.
Android 14, READ_MEDIA_VIDEO, READ_MEDIA_IMAGES ve ACCESS_MEDIA_LOCATION'ı READ_MEDIA_VISUAL_USER_SELECTED adlı yeni bir izinde birleştirerek medya erişim izinlerini bir kez daha değiştirir. Bu izin, API düzeyi 34'ü hedefleyen bir uygulamanın, açıklamasına göre "paylaşılan depolama alanından kullanıcı tarafından seçilen görüntü ve video dosyalarını okumasına" olanak tanır. Ancak Android 14, bu yeni davranışı API düzeyi 33'ü (ör. Android 13) ve READ_MEDIA_VIDEO veya READ_MEDIA_IMAGES isteyin.
API düzeyi 33'ü hedefleyen bir uygulama, kullanıcıdan READ_MEDIA_VIDEO veya READ_MEDIA_IMAGES (veya her ikisini birden) vermesini istemek için çalışma zamanı izin iletişim kutusunu tetiklediğinde, Android 14, "Fotoğrafları Seçin" yazan izin iletişim kutusu. Bu girişe dokunmak, kullanıcının uygulamaya erişim izni vermek istediği fotoğrafları veya videoları seçmesine olanak tanıyan Fotoğraf Seçici'nin yeni bir sürümünü başlatır. ile. Uygulama daha sonra, kullanıcı seçmediği sürece yalnızca kullanıcının özel olarak seçtiği medya öğelerine erişebilir. ek medya öğelerine erişimi genişletin veya uygulamaya resimler için tüm medya mağazası koleksiyonlarına erişim izni verin ve videolar.
İzin iletişim kutusundaki bu giriş, Android 14 DP1'de varsayılan olarak gösterilmiyor, çünkü görünürlüğü, değiştirmem gereken bir geliştirici bayrağı tarafından sınırlanıyor. Ancak bu özelliğin kullanıma sunulmasını sağlarsa, gizlilik açısından büyük bir kazanç olacaktır, çünkü bu, kullanıcıların her zaman bir uygulamanın hangi fotoğraf veya videolara erişmesi gerektiğine karar verme olanağına sahip olacağı anlamına gelir.
Çok az sayıda uygulama, Fotoğraf Seçici API'sini olduğu gibi kullanır ve bu da Google'ı denemeye sevk eder. mevcut bir niyeti ele geçirmek bu uygulamalar sistem dosyası seçiciyi başlatmak için kullanır, böylece bunun yerine Fotoğraf Seçici'yi başlatırlar. Fotoğraf Seçici'nin bulut medya sağlayıcılarından dosyaları henüz göstermemesi gibi bazı kusurları olsa da (belki yakında uzantı SDK'sı sürüm 5!) ve sadece belirli albümleri gösteriyor cihazda, eski sistem dosya seçicisinden daha iyidir ve galerideki her fotoğrafa ve videoya erişimi olan her uygulamaya kesinlikle tercih edilir.
Fotoğraf Seçici API'sini uygulamakla ilgilenen geliştiriciler, en son sürümüne geçmelidir. Jetpack Etkinlik kitaplığı, Android 4.4-Android 10'da Google Play Hizmetleri aracılığıyla sağlanan geriye dönük uyumlu sürümü veya aracılığıyla sağlanan çerçeve tarafından sağlanan sürümü çağırmayı işler. MediaProvider Ana Hat modülü.