Android 14 pozwoli Ci ograniczyć dostęp do zdjęć aplikacji, nawet jeśli nie korzystają one z Selektora zdjęć

Selektor zdjęć był opcjonalnym interfejsem API dla aplikacji, które chciały uzyskać dostęp do Twojej galerii w Androidzie 13, ale staje się nieco obowiązkowy w Androidzie 14.

Jedną z najważniejszych funkcji Androida 13 jest Selektor zdjęć, nowy składnik systemu, który pozwala użytkownikom wybierać zdjęcia i filmy, do których mają mieć dostęp aplikacja. Aplikacje nie muszą prosić o żadne uprawnienia, aby uzyskać dostęp do elementów wybranych przez użytkownika za pomocą Selektora zdjęć, dzięki czemu udostępnianie zdjęć i filmów aplikacjom pozwala zachować prywatność. Systemowy selektor plików, który istnieje od Androida 4.4, oferuje więcej funkcji niż selektor zdjęć, ale jego interfejs użytkownika jest przestarzały w porównaniu.

Selektor zdjęć (i poprzedzający go selektor plików systemowych) chroni Twoją prywatność, umożliwiając ograniczenie dostępu do zdjęć i filmów, do których aplikacja ma dostęp. Niestety, wiele aplikacji nie obsługuje Selektora zdjęć, mimo że jego wstecznie kompatybilna wersja jest dostępna dla systemu Android 4.4+. Aplikacje muszą specjalnie wywoływać selektor zdjęć za pomocą intencji, ale wiele aplikacji decyduje się nie używać go z tego czy innego powodu. Na szczęście może to już nie mieć znaczenia

Androida 14, który testuje sposób, w jaki użytkownicy mogą wybrać, które aplikacje do zdjęć i filmów mogą uzyskać dostęp za pośrednictwem narzędzia Photo Picker, niezależnie od tego, czy te aplikacje faktycznie korzystają z interfejsu API.

Wiele aplikacji uzyskuje dostęp do plików multimedialnych za pośrednictwem API sklepu z mediami. System indeksuje pliki według ich typów, zwanych kolekcjami sklepów multimedialnych, i utrzymuje bazę danych, do której aplikacje mogą wysyłać zapytania za pomocą interfejsu API sklepu multimedialnego. Aplikacje korzystające z interfejsu API magazynu multimediów nie muszą prosić o pozwolenie na odczytywanie lub modyfikowanie plików, których są właścicielami, ale muszą uzyskać zgodę użytkownika na dostęp do plików należących do innych aplikacji.

Począwszy od systemu Android 10, aplikacjom, których celem jest API na poziomie 29 lub wyższym, należało przyznać READ_EXTERNAL_STORAGE uprawnienia użytkownika, zanim będzie mógł korzystać z interfejsu API magazynu multimediów w celu uzyskania dostępu do plików należących do innych aplikacji. W systemie Android 13 uprawnienie READ_EXTERNAL_STORAGE zostało podzielone na trzy różne uprawnienia (READ_MEDIA_AUDIO, READ_MEDIA_VIDEO i READ_MEDIA_IMAGES), które każdy przyznaje aplikacji docelowej API poziomu 33 możliwość korzystania z interfejsu API magazynu multimediów w celu uzyskania dostępu odpowiednio do plików audio, wideo i obrazów, które są własnością innych aplikacje.

Android 14 ponownie zmienia uprawnienia dostępu do multimediów, łącząc READ_MEDIA_VIDEO, READ_MEDIA_IMAGES i ACCESS_MEDIA_LOCATION w nowe uprawnienie o nazwie READ_MEDIA_VISUAL_USER_SELECTED. To uprawnienie umożliwia aplikacji kierowanej na poziom API 34 „odczytywanie wybranych przez użytkownika plików graficznych i wideo ze współdzielonej pamięci”, zgodnie z jej opisem. Jednak Android 14 może wstecznie zastosować to nowe zachowanie do istniejących aplikacji, które celują w interfejs API poziomu 33 (tj. Android 13) i zażądaj READ_MEDIA_VIDEO lub READ_MEDIA_IMAGES.

Gdy aplikacja, której celem jest interfejs API poziomu 33, uruchamia okno dialogowe uprawnień środowiska wykonawczego, aby poprosić użytkownika o przyznanie im READ_MEDIA_VIDEO lub READ_MEDIA_IMAGES (lub obu), Android 14 może wstawić nowy wpis w okno dialogowe uprawnień z napisem „Wybierz zdjęcia”. Dotknięcie tego wpisu uruchomi nową wersję Selektora zdjęć, która umożliwia użytkownikowi wybranie zdjęć lub filmów, które chcą przyznać aplikacji dostęp Do. Następnie aplikacja ma dostęp tylko do tych elementów multimedialnych, które użytkownik specjalnie wybrał, chyba że użytkownik zdecyduje się na to rozszerz dostęp do dodatkowych elementów multimedialnych lub przyznaj aplikacji dostęp do całej kolekcji sklepu multimedialnego dla obrazów i wideo.

Ten wpis w oknie dialogowym uprawnień nie jest domyślnie wyświetlany w systemie Android 14 DP1, ponieważ jego widoczność jest ograniczona przez flagę programisty, którą musiałem przełączać. Jeśli jednak ta funkcja zostanie wydana, będzie to duża wygrana dla prywatności, ponieważ oznacza to, że użytkownicy zawsze będą mogli decydować, do których zdjęć lub filmów aplikacja powinna mieć dostęp.

Zdecydowanie zbyt mało aplikacji korzysta z interfejsu Photo Picker API w obecnej postaci, co skłania Google do eksperymentowania przechwytywanie istniejącej intencji których aplikacje używają do uruchamiania selektora plików systemowych, aby zamiast tego uruchamiały selektor zdjęć. Chociaż Selektor zdjęć ma pewne wady, takie jak nie wyświetlanie jeszcze plików od dostawców multimediów w chmurze (być może wkrótce SDK rozszerzenia wersja 5!) i pokazuje tylko niektóre albumy na urządzeniu jest lepszy niż stary selektor plików systemowych iz pewnością jest lepszy niż każda aplikacja mająca dostęp do każdego zdjęcia i filmu w galerii.

Deweloperzy zainteresowani implementacją interfejsu Photo Picker API powinni dokonać aktualizacji do najnowszej wersji biblioteka działań Jetpack, która obsługuje wywołanie wstecznie kompatybilnej wersji udostępnianej za pośrednictwem Usług Google Play na Androida 4.4-Android 10 lub wersji udostępnianej przez platformę za pośrednictwem moduł MediaProvider Mainline.