Android 14:n avulla voit rajoittaa sitä, mitä kuvia sovellukset voivat käyttää, vaikka ne eivät käyttäisi valokuvavalitsinta

Photo Picker oli valinnainen sovellusliittymä sovelluksille, jotka halusivat käyttää galleriaasi Android 13:ssa, mutta siitä on tulossa jossain määrin pakollinen Android 14:ssä.

Yksi Android 13:n kohokohdista on Photo Picker, uusi järjestelmäkomponentti, jonka avulla käyttäjät voivat valita, mitkä valokuvat ja videot antavat sovellukselle pääsyn. Sovellusten ei tarvitse pyytää oikeuksia päästäkseen käsiksi kohteisiin, jotka käyttäjä valitsee Photo Pickerin kautta, joten se on yksityisyyttä suojeleva tapa jakaa valokuvia ja videoita sovellusten kanssa. Järjestelmätiedostojen valitsin, joka on ollut käytössä Android 4.4:stä lähtien, tarjoaa enemmän toimintoja kuin Photo Picker, mutta sen käyttöliittymä on vanhentunut verrattuna.

Valokuvavalitsin (ja sitä edeltävä järjestelmätiedostojen valitsin) suojaa yksityisyyttäsi sallimalla sinun rajoittaa sitä, mitä kuvia ja videoita sovelluksella voi käyttää. Valitettavasti monet sovellukset eivät tue Photo Picker -sovellusta, vaikka siitä on saatavilla taaksepäin yhteensopiva versio Android 4.4+ -versiolle. Sovellusten on erityisesti kutsuttava Photo Picker -toimintoa tarkoituksella, mutta monet sovellukset päättävät olla käyttämättä sitä syystä tai toisesta. Onneksi sillä ei ehkä ole enää väliä

Android 14, joka testaa tapaa, jolla käyttäjät voivat valita, mitä kuvia ja videoita sovellukset voivat käyttää Photo Pickerin kautta riippumatta siitä, käyttävätkö kyseiset sovellukset sovellusliittymää vai eivät.

Monet sovellukset käyttävät mediatiedostoja sovelluksen kautta mediakaupan API. Järjestelmä indeksoi tiedostot niiden tyypin mukaan, joita kutsutaan mediakaupan kokoelmiksi, ja ylläpitää tietokantaa, josta sovellukset voivat tehdä kyselyjä mediakaupan API: n avulla. Mediakaupan sovellusliittymää käyttävien sovellusten ei tarvitse pyytää lupaa lukea tai muokata omistamiaan tiedostoja, mutta niille on annettava käyttäjän lupa käyttää muiden sovellusten omistamia tiedostoja.

Android 10:stä alkaen sovelluksille, jotka kohdistavat API-tasolle 29 tai uudempaan, oli myönnettävä READ_EXTERNAL_STORAGE-lupa käyttäjältä, ennen kuin hän voi käyttää mediakaupan sovellusliittymää tiedostojen käyttämiseen muiden sovellusten omistama. Android 13:ssa READ_EXTERNAL_STORAGE-lupa jaettiin kolmeen eri käyttöoikeuteen (READ_MEDIA_AUDIO, READ_MEDIA_VIDEO ja READ_MEDIA_IMAGES), jotka kukin antaa sovelluksen kohdistussovellusliittymän tasolle 33 mahdollisuuden käyttää mediakaupan sovellusliittymää muiden omistamien ääni-, video- ja kuvatiedostojen käyttämiseen. sovelluksia.

Android 14 muuttaa median käyttöoikeuksia jälleen yhdistämällä READ_MEDIA_VIDEO, READ_MEDIA_IMAGES ja ACCESS_MEDIA_LOCATION uudeksi luvaksi nimeltä READ_MEDIA_VISUAL_USER_SELECTED. Tämä lupa antaa sovellusliittymätasolle 34 kohdistetun sovelluksen "lukea käyttäjän valitsemia kuva- ja videotiedostoja jaetusta tallennustilasta" sen kuvauksen mukaisesti. Android 14 voi kuitenkin soveltaa tätä uutta toimintaa takautuvasti olemassa oleviin sovelluksiin, jotka kohdistavat API-tasolle 33 (esim. Android 13) ja pyydä READ_MEDIA_VIDEO tai READ_MEDIA_IMAGES.

Kun API-tasolle 33 kohdistava sovellus käynnistää suoritusaikaisen lupaikkunan pyytääkseen käyttäjää myöntämään heille READ_MEDIA_VIDEO tai READ_MEDIA_IMAGES (tai molemmat), Android 14 voi lisätä uuden merkinnän lupavalintaikkuna, jossa lukee "Valitse valokuvat". Tämän kohdan napauttaminen käynnistää Photo Pickerin uuden version, jonka avulla käyttäjä voi valita, mitkä valokuvat tai videot haluavat myöntää sovellukselle pääsyn to. Sovelluksella on myöhemmin pääsy vain niihin mediakohteisiin, jotka käyttäjä on erikseen valinnut, ellei käyttäjä niin halua laajentaa pääsyä muihin mediakohteisiin tai myöntää sovellukselle pääsyn koko mediakaupan kokoelmiin kuville ja Videot.

Tätä lupavalintaikkunan merkintää ei näytetä oletusarvoisesti Android 14 DP1:ssä, koska sen näkyvyyttä rajoittaa kehittäjälippu, jota minun piti vaihtaa. Jos tämä ominaisuus kuitenkin julkaistaan, se on suuri voitto yksityisyyden kannalta, koska se tarkoittaa, että käyttäjät voivat aina päättää, mihin kuviin tai videoihin sovelluksella on pääsy.

Liian harvat sovellukset käyttävät Photo Picker APIa sellaisenaan, mikä saa Googlen kokeilemaan siepata olemassa olevaa tarkoitusta joita sovellukset käyttävät käynnistääkseen järjestelmätiedostovalitsimen, jotta ne käynnistävät sen sijaan Photo Pickerin. Vaikka Photo Pickerissä on joitain puutteita, kuten se ei vielä näytä pilvimedian tarjoajien tiedostoja (ehkä pian laajennuksen SDK versio 5!) ja näyttää vain tietyt albumit laitteella, se on parempi kuin vanha järjestelmätiedostojen valitsin ja on varmasti parempi kuin jokaisella sovelluksella, jolla on pääsy kaikkiin gallerian valokuviin ja videoihin.

Kehittäjien, jotka ovat kiinnostuneita Photo Picker API: n käyttöönotosta, tulee päivittää uusimpaan versioon Jetpack Activity -kirjasto, joka käsittelee soittamisen taaksepäin yhteensopivaan versioon, joka tarjotaan Google Play -palveluiden kautta Android 4.4-Android 10 -käyttöjärjestelmässä tai kehyksen tarjoamaan versioon, joka toimitetaan MediaProvider Mainline -moduuli.