Android 14 omogućit će vam da ograničite kojim fotografijama aplikacije mogu pristupiti čak i ako ne koriste Photo Picker

Odabir fotografija bio je izborni API za aplikacije koje su htjele pristupiti vašoj galeriji u Androidu 13, ali u Androidu 14 postaje donekle obavezan.

Jedna od istaknutih značajki Androida 13 je Photo Picker, nova komponenta sustava koja korisnicima omogućuje odabir kojim će fotografijama i videozapisima dati pristup aplikaciji. Aplikacije ne trebaju zahtijevati nikakva dopuštenja za pristup stavkama koje korisnik odabere putem alata za odabir fotografija, što ga čini načinom dijeljenja fotografija i videozapisa s aplikacijama koji čuva privatnost. Birač sistemskih datoteka koji postoji od Androida 4.4 nudi više funkcionalnosti od Birača fotografija, ali njegovo korisničko sučelje je zastarjelo u usporedbi s njim.

Birač fotografija (i birač sistemskih datoteka prije njega) štiti vašu privatnost dopuštajući vam da ograničite kojim fotografijama i videozapisima aplikacija ima pristup. Nažalost, mnoge aplikacije ne podržavaju Photo Picker, iako je njegova kompatibilna verzija dostupna za Android 4.4+. Aplikacije moraju posebno pozvati alat za odabir fotografija koristeći namjeru, ali mnoge aplikacije ga odluče ne koristiti iz ovog ili onog razloga. Srećom, to možda više nije važno u

Android 14, koji testira način na koji korisnici mogu odabrati kojim fotografijama i videozapisima aplikacije mogu pristupiti putem alata za odabir fotografija bez obzira koriste li te aplikacije API.

Mnoge aplikacije pristupaju medijskim datotekama putem API trgovine medija. Sustav indeksira datoteke prema njihovoj vrsti, koje se nazivaju zbirkama pohrane medija, i održava bazu podataka kojoj aplikacije mogu postavljati upite pomoću API-ja pohrane medija. Aplikacije koje koriste API za medijsku trgovinu ne trebaju tražiti dopuštenje za čitanje ili izmjenu datoteka koje posjeduju, ali korisnik im mora dati dopuštenje za pristup datotekama u vlasništvu drugih aplikacija.

Počevši od Androida 10, aplikacijama koje ciljaju API razinu 29 ili višu moralo se odobriti READ_EXTERNAL_STORAGE dopuštenje korisnika prije nego što su mogli koristiti API trgovine medija za pristup datotekama u vlasništvu drugih aplikacija. U Androidu 13 dopuštenje READ_EXTERNAL_STORAGE podijeljeno je u tri različita dopuštenja (READ_MEDIA_AUDIO, READ_MEDIA_VIDEO i READ_MEDIA_IMAGES) koja svaki daje aplikaciji koja cilja API razine 33 mogućnost korištenja API-ja trgovine medijima za pristup audio, video i slikovnim datotekama koje su u vlasništvu drugih aplikacije.

Android 14 još jednom mijenja dozvole za pristup medijima kombinirajući READ_MEDIA_VIDEO, READ_MEDIA_IMAGES i ACCESS_MEDIA_LOCATION u novu dozvolu pod nazivom READ_MEDIA_VISUAL_USER_SELECTED. Ovo dopuštenje omogućuje aplikaciji koja cilja API razinu 34 da "čita slikovne i videodatoteke odabrane od strane korisnika iz dijeljene pohrane", prema njezinom opisu. Međutim, Android 14 može retroaktivno primijeniti ovo novo ponašanje na postojeće aplikacije koje ciljaju API razinu 33 (tj. Android 13) i zatražite READ_MEDIA_VIDEO ili READ_MEDIA_IMAGES.

Kada aplikacija koja cilja API razinu 33 pokrene dijalog za dopuštenje za vrijeme izvođenja kako bi od korisnika zatražila da im odobri READ_MEDIA_VIDEO ili READ_MEDIA_IMAGES (ili oboje), Android 14 može umetnuti novi unos u dijaloški okvir dopuštenja koji kaže "Odaberite fotografije". Dodirom ovog unosa pokrenut će se nova verzija alata za odabir fotografija koji korisniku omogućuje odabir kojim fotografijama ili videozapisima želi odobriti pristup aplikaciji do. Aplikacija naknadno ima pristup samo onim medijskim stavkama koje je korisnik posebno odabrao, osim ako korisnik to ne odluči proširiti pristup dodatnim medijskim stavkama ili dodijeliti aplikaciji pristup cjelokupnim zbirkama pohrane medija za slike i videa.

Ovaj unos u dijaloškom okviru dopuštenja nije prikazan prema zadanim postavkama u Androidu 14 DP1 jer je njegova vidljivost ograničena zastavom programera koju sam morao promijeniti. Međutim, ako ova značajka bude objavljena, to će biti velika pobjeda za privatnost, jer to znači da će korisnici uvijek imati mogućnost odlučiti kojim fotografijama ili videozapisima neka aplikacija treba imati pristup.

Premalo aplikacija koristi API za odabir fotografija takav kakav jest, što je Google navelo na eksperimentiranje presretanje postojeće namjere koje aplikacije koriste za pokretanje birača sistemskih datoteka tako da umjesto toga pokreću birač fotografija. Iako Birač fotografija ima neke nedostatke, kao što je još uvijek ne prikazivanje datoteka od pružatelja medijskih usluga u oblaku (možda će uskoro s SDK proširenja verzija 5!) i prikazuje samo određene albume na uređaju, bolji je od starog birača sistemskih datoteka i svakako je bolji od svake aplikacije koja ima pristup svakoj fotografiji i videozapisu u galeriji.

Programeri koji su zainteresirani za implementaciju Photo Picker API-ja trebaju nadograditi na najnoviju verziju knjižnica Jetpack Activity, koji upravlja pozivanjem verzije kompatibilne s prethodnim verzijama koju pruža Google Play Services na Androidu 4.4-Android 10 ili verziju okvira koju pruža putem glavni modul MediaProvider.