„Photo Picker“ buvo pasirenkama API programoms, kurios norėjo pasiekti jūsų galeriją naudojant „Android 13“, tačiau ji tampa šiek tiek privaloma naudojant „Android 14“.
Viena iš svarbiausių „Android 13“ funkcijų yra nuotraukų rinkiklis – naujas sistemos komponentas, leidžiantis vartotojams pasirinkti, prie kurių nuotraukų ir vaizdo įrašų programai suteikti prieigą. Programoms nereikia prašyti jokių leidimų, kad gautų prieigą prie elementų, kuriuos vartotojas pasirenka naudodamas nuotraukų rinkiklį, todėl tai yra privatumą išsaugantis būdas bendrinti nuotraukas ir vaizdo įrašus su programomis. Sistemos failų rinkiklis, naudojamas nuo 4.4 versijos Android, siūlo daugiau funkcijų nei nuotraukų rinkiklis, tačiau jo vartotojo sąsaja yra pasenusi.
Nuotraukų rinkiklis (ir prieš jį esantis sistemos failų rinkiklis) apsaugo jūsų privatumą leisdamas apriboti, prie kokių nuotraukų ir vaizdo įrašų programa gali pasiekti. Deja, daugelis programų nepalaiko nuotraukų rinkiklio, nors galima atgal suderinama jo versija, skirta 4.4 ir naujesnės versijos „Android“. Programos turi specialiai iškviesti nuotraukų parinkiklį naudodamos tikslą, tačiau daugelis programų nusprendžia jo nenaudoti dėl vienos ar kitos priežasties. Laimei, tai gali nebebūti svarbu
Android 14, kuri išbando būdą, kaip vartotojai gali pasirinkti, kurias nuotraukų ir vaizdo įrašų programas gali pasiekti naudodami nuotraukų rinkiklį, nepaisant to, ar tos programos iš tikrųjų naudoja API, ar ne.Daugelis programų pasiekia medijos failus per medijos parduotuvės API. Sistema indeksuoja failus pagal jų tipą, vadinamą medijos saugyklos rinkiniais, ir palaiko duomenų bazę, kurios užklausą programos gali pateikti naudodamos medijos parduotuvės API. Programoms, naudojančioms medijos parduotuvės API, nereikia prašyti leidimo skaityti ar keisti joms priklausančius failus, tačiau naudotojas turi joms suteikti leidimą pasiekti failų, priklausančių kitoms programoms.
Nuo 10 versijos „Android“ programoms, kurios taikomos 29 ar aukštesnio API lygio, turėjo būti suteiktas READ_EXTERNAL_STORAGE naudotojas gavo leidimą, kad galėtų naudotis medijos parduotuvės API failams pasiekti priklauso kitoms programoms. 13 versijos „Android“ leidimas READ_EXTERNAL_STORAGE buvo padalintas į tris skirtingus leidimus (READ_MEDIA_AUDIO, READ_MEDIA_VIDEO ir READ_MEDIA_IMAGES). Kiekvienas iš jų suteikia 33 lygio taikomosios programos API galimybę naudoti medijos parduotuvės API, kad pasiektų atitinkamai garso, vaizdo ir vaizdo failus, kurie priklauso kitiems programėlės.
„Android 14“ dar kartą pakeičia medijos prieigos leidimus, sujungdama READ_MEDIA_VIDEO, READ_MEDIA_IMAGES ir ACCESS_MEDIA_LOCATION į naują leidimą, pavadintą READ_MEDIA_VISUAL_USER_SELECTED. Šis leidimas leidžia programai, taikomai pagal 34 API lygį, „skaityti naudotojo pasirinktus vaizdo ir vaizdo įrašų failus iš bendrinamos saugyklos“ pagal aprašą. Tačiau „Android 14“ gali atgaline data taikyti šią naują elgseną esamoms programoms, kurios taikomos 33 API lygiui (ty. Android 13) ir paprašykite READ_MEDIA_VIDEO arba READ_MEDIA_IMAGES.
Kai programa, skirta 33 API lygiui, suaktyvina vykdymo laiko leidimo dialogo langą ir paprašo vartotojo suteikti jiems READ_MEDIA_VIDEO arba READ_MEDIA_IMAGES (arba abu), „Android 14“ gali įterpti naują įrašą leidimo dialogo langas su užrašu „Pasirinkite nuotraukas“. Palietus šį įrašą, bus paleista nauja nuotraukų rinkiklio versija, leidžianti vartotojui pasirinkti, kurioms nuotraukoms ar vaizdo įrašams suteikti programos prieigą. į. Vėliau programa turi prieigą tik prie tų medijos elementų, kuriuos vartotojas konkrečiai pasirinko, nebent vartotojas pasirinktų išplėsti prieigą prie papildomų medijos elementų arba suteikti programai prieigą prie visų medijos parduotuvės kolekcijų vaizdams ir vaizdo įrašus.
Šis įrašas leidimo dialogo lange pagal numatytuosius nustatymus nerodomas naudojant „Android 14 DP1“, nes jo matomumą riboja kūrėjo vėliavėlė, kurią turėjau perjungti. Tačiau jei ši funkcija bus išleista, tai bus didelis laimėjimas privatumui, nes tai reiškia, kad vartotojai visada turės galimybę nuspręsti, prie kurių nuotraukų ar vaizdo įrašų programa turėtų turėti prieigą.
Per mažai programų naudoja Photo Picker API tokią, kokia ji yra, todėl „Google“ eksperimentuoja perimant esamą tyčią kuriuos programos naudoja sistemos failų rinkikliui paleisti, kad vietoj to paleistų nuotraukų rinkiklį. Nors nuotraukų rinkiklis turi tam tikrų trūkumų, pvz., dar nerodo failų iš debesies medijos teikėjų (galbūt netrukus bus su plėtinio SDK 5 versija!) ir rodomi tik tam tikri albumai įrenginyje, jis yra geresnis nei senas sistemos failų rinkiklis ir tikrai yra geresnis už kiekvieną programą, turinčią prieigą prie kiekvienos galerijos nuotraukos ir vaizdo įrašo.
Kūrėjai, norintys įdiegti „Photo Picker“ API, turėtų atnaujinti į naujausią versiją Jetpack veiklos biblioteka, kuri tvarko skambučius atgal suderinamai versijai, teikiamai per „Google Play“ paslaugas, naudojant „Android 4.4“ – „Android 10“, arba sistemos teikiamą versiją, pateiktą per „MediaProvider Mainline“ modulis.