Fotovalija oli valikuline API rakendustele, mis soovisid Android 13-s juurdepääsu teie galeriile, kuid Android 14 puhul muutub see mõnevõrra kohustuslikuks.
Üks Android 13 põhifunktsioone on Photo Picker, uus süsteemikomponent, mis võimaldab kasutajatel valida, millistele fotodele ja videotele rakendusele juurdepääs anda. Rakendused ei pea taotlema lubasid, et saada juurdepääs üksustele, mille kasutaja valib fotovalija kaudu, muutes selle privaatsust säilitavaks viisiks fotode ja videote jagamiseks rakendustega. Süsteemifailide valija, mis on kasutusel olnud alates Android 4.4-st, pakub rohkem funktsioone kui Photo Picker, kuid selle kasutajaliides on võrreldes vananenud.
Fotovalija (ja enne seda olev süsteemifailide valija) kaitseb teie privaatsust, võimaldades teil piirata, millistele fotodele ja videotele rakendusel on juurdepääs. Kahjuks ei toeta paljud rakendused Photo Pickerit, kuigi selle tagasiühilduv versioon on saadaval operatsioonisüsteemile Android 4.4+. Rakendused peavad spetsiaalselt fotovalijat kavatsusega kutsuma, kuid paljud rakendused otsustavad seda ühel või teisel põhjusel mitte kasutada. Õnneks ei pruugi see enam olla oluline
Android 14, mis testib viisi, kuidas kasutajad saavad valida, millistele fotodele ja videotele rakendused Photo Pickeri kaudu juurde pääsevad, olenemata sellest, kas need rakendused API-d tegelikult kasutavad või mitte.Paljud rakendused pääsevad meediumifailidele juurde selle kaudu meediapoe API. Süsteem indekseerib failid nende tüübi järgi, mida nimetatakse meediumipoe kogudeks, ja haldab andmebaasi, millest rakendused saavad meediumipoe API abil päringuid teha. Rakendused, mis kasutavad meediapoe API-d, ei pea küsima luba neile kuuluvate failide lugemiseks või muutmiseks, kuid kasutaja peab neile andma loa juurdepääsuks teistele rakendustele kuuluvatele failidele.
Alates operatsioonisüsteemist Android 10 tuli rakendustele, mis sihivad API taset 29 või kõrgemat, anda see READ_EXTERNAL_STORAGE kasutajalt luba, enne kui nad saavad failidele juurdepääsuks kasutada meediapoe API-t mis kuuluvad teistele rakendustele. Operatsioonisüsteemis Android 13 jagati READ_EXTERNAL_STORAGE luba kolmeks erinevaks loaks (READ_MEDIA_AUDIO, READ_MEDIA_VIDEO ja READ_MEDIA_IMAGES), mis igaüks annab rakenduse sihtimise API tasemele 33 võimaluse kasutada meediapoe API-t, et pääseda juurde vastavalt heli-, video- ja pildifailidele, mis kuuluvad teistele rakendusi.
Android 14 muudab taas meediajuurdepääsulube, ühendades READ_MEDIA_VIDEO, READ_MEDIA_IMAGES ja ACCESS_MEDIA_LOCATION uueks loaks nimega READ_MEDIA_VISUAL_USER_SELECTED. See luba lubab API-taseme 34 sihtival rakendusel vastavalt selle kirjeldusele „lugeda jagatud salvestusruumist kasutaja valitud pildi- ja videofaile”. Android 14 võib aga seda uut käitumist tagasiulatuvalt rakendada olemasolevatele rakendustele, mis sihivad API taset 33 (st. Android 13) ja taotlege READ_MEDIA_VIDEO või READ_MEDIA_IMAGES.
Kui rakendus, mis sihib API taset 33, käivitab käitusaja lubade dialoogi, et paluda kasutajal lubada neile READ_MEDIA_VIDEO või READ_MEDIA_IMAGES (või mõlemad), võib Android 14 sisestada uue kirje loa dialoog, mis ütleb "Vali fotod". Selle kirje puudutamine käivitab fotovalija uue versiooni, mis võimaldab kasutajal valida, millistele fotodele või videotele ta soovib rakendusele juurdepääsu anda juurde. Rakendusel on seejärel juurdepääs ainult neile meediumiüksustele, mille kasutaja on konkreetselt valinud, välja arvatud juhul, kui kasutaja seda otsustab laiendage juurdepääsu täiendavatele meediumiüksustele või andke rakendusele juurdepääs kogu meediumipoe kogudele piltide ja videod.
Seda lubade dialoogikirjet ei kuvata vaikimisi operatsioonisüsteemis Android 14 DP1, kuna selle nähtavust piirab arendaja lipp, mille pidin ümber lülitama. Kui see funktsioon siiski välja laseb, on see privaatsuse jaoks suur võit, kuna see tähendab, et kasutajatel on alati võimalus otsustada, millistele fotodele või videotele rakendusel juurdepääs peaks olema.
Liiga vähesed rakendused kasutavad Photo Picker API-d sellisel kujul, nagu see on, ajendades Google'it katsetama olemasoleva kavatsuse pealtkuulamine mida rakendused kasutavad süsteemifailide valija käivitamiseks, et käivitada hoopis fotovalija. Kuigi fotovalijal on mõned vead, näiteks ei kuvata veel pilvmeedia pakkujate faile (võib-olla laiendi SDK versioon 5!) ja ainult teatud albumite kuvamine seadmes on see parem kui vana süsteemifailide valija ja on kindlasti eelistatavam igale rakendusele, millel on juurdepääs galeriis olevatele fotodele ja videotele.
Arendajad, kes on huvitatud Photo Picker API juurutamisest, peaksid üle minema uuemale versioonile Jetpack Activity raamatukogu, mis helistab tagasiühilduvale versioonile, mis on saadaval Google Play teenuste kaudu operatsioonisüsteemides Android 4.4–Android 10 või raamistiku pakutava versiooni kaudu moodul MediaProvider Mainline.