Android 14 ще ви позволи да ограничите до какви снимки приложенията имат достъп, дори ако не използват Photo Picker

click fraud protection

Photo Picker беше незадължителен API за приложения, които искаха достъп до вашата галерия в Android 13, но става донякъде задължителен в Android 14.

Една от основните характеристики на Android 13 е Photo Picker, нов системен компонент, който позволява на потребителите да избират до кои снимки и видеоклипове да предоставят достъп на приложението. Приложенията не трябва да изискват никакви разрешения, за да получат достъп до елементите, които потребителят избира чрез инструмента за избор на снимки, което го прави начин за запазване на поверителността за споделяне на снимки и видеоклипове с приложения. Инструментът за избор на системни файлове, който съществува от Android 4.4, предлага повече функционалност от инструмента за избор на снимки, но потребителският му интерфейс е остарял в сравнение с него.

Инструментът за избор на снимки (и инструментът за избор на системни файлове преди него) защитава вашата поверителност, като ви позволява да ограничите до какви снимки и видеоклипове дадено приложение има достъп. За съжаление, много приложения не поддържат Photo Picker, въпреки че е налична негова версия с обратна съвместимост за Android 4.4+. Приложенията трябва специално да извикат Photo Picker, използвайки намерение, но много приложения избират да не го използват по една или друга причина. За щастие, това вече може да няма значение в

Android 14, който тества начин за потребителите да избират до кои снимки и видеоклипове приложенията да имат достъп чрез Photo Picker, независимо дали тези приложения действително използват API или не.

Много приложения имат достъп до медийни файлове чрез API на медийния магазин. Системата индексира файловете по техния тип, наречен колекции от медийни магазини, и поддържа база данни, към която приложенията могат да правят заявки, използвайки API на медийния магазин. Приложенията, които използват API на медийния магазин, не трябва да искат разрешение за четене или промяна на файлове, които притежават, но трябва да получат разрешение от потребителя за достъп до файлове, притежавани от други приложения.

Започвайки с Android 10, приложенията, които са насочени към API ниво 29 или по-високо, трябваше да получат READ_EXTERNAL_STORAGE разрешение от потребителя, преди да може да използва API за съхранение на медии за достъп до файлове притежавани от други приложения. В Android 13 разрешението READ_EXTERNAL_STORAGE беше разделено на три различни разрешения (READ_MEDIA_AUDIO, READ_MEDIA_VIDEO и READ_MEDIA_IMAGES), които всеки предоставя на приложение, насочено към API ниво 33, възможността да използва API на медийния магазин за достъп съответно до аудио, видео и файлове с изображения, които са собственост на други приложения.

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, тъй като видимостта му се ограничава от флаг на разработчици, който трябваше да превключвам. Ако тази функция бъде пусната обаче, това ще бъде голяма победа за поверителността, тъй като означава, че потребителите винаги ще имат възможността да решат до кои снимки или видеоклипове да има достъп дадено приложение.

Твърде малко приложения използват API за избор на снимки такъв, какъвто е, което кара Google да експериментира прихващане на съществуващо намерение които приложенията използват за стартиране на инструмента за избор на системни файлове, така че вместо това да стартират инструмента за избор на снимки. Въпреки че инструментът за избор на снимки има някои недостатъци, като например все още да не показва файлове от доставчици на облачна медия (може би скоро с разширение SDK версия 5!) и показва само определени албуми на устройството, той е по-добър от стария инструмент за избор на системни файлове и със сигурност е за предпочитане пред всяко приложение, което има достъп до всяка снимка и видео в галерията.

Разработчиците, които се интересуват от прилагането на API за избор на снимки, трябва да надстроят до най-новата версия на библиотеката Jetpack Activity, който обработва извикването на обратно съвместимата версия, предоставена чрез услугите на Google Play на Android 4.4-Android 10 или предоставената от рамката версия, предоставена чрез модула MediaProvider Mainline.