Android 14 ima težave z ozadjem

Če za prilagajanje ozadja radi uporabljate aplikacije drugih proizvajalcev, boste morda šokirani, če uporabljate Android 13 ali novejši.

Google se je vedno delal, kot da je zavezan k zasebnosti, in v zadnjih nekaj izdajah Androida bi bilo težko trditi nasprotno. Podjetje očitno poskuša izboljšati varnost svoje platforme, hkrati pa ji dodaja nove funkcije Android 13 in Android 14, vendar ni vsaka sprememba dobra. Pravzaprav se zdi, da ima ena taka sprememba, ki jo podjetje (tiho) oglašuje kot varnostno izboljšavo implementiran po naključju in omogoča, da aplikacije tretjih oseb ne morejo zares dostopati do vašega ozadja.

V Nit Mastodon, ki jo je delil razvijalec Android Zachary Wander, opisuje, kako razdelitev dovoljenja READ_EXTERNAL_STORAGE na tri ločena dovoljenja prekine aplikacije, ki komunicirajo z uporabnikovim ozadjem. Ta tri dovoljenja so za dostop do slik, videoposnetkov in zvočnih datotek, kar je nedvomno dobra sprememba. Vendar API-ji za ozadje (vključno s pridobivanjem uporabnikovega ozadja)

tudi prej zahteval to dovoljenje. Ker tudi niso dobili novega dovoljenja in Android 13 ne podpira več odobritve dovoljenja READ_EXTERNAL_STORAGE, ni druge možnosti.

To vedenje je bilo prijavljeno kot napaka lani pred izdajo Androida 13 in Google se več mesecev ni odzval (razen začetne zahteve za več informacij). V maju dne to leto, je Googlov uslužbenec odgovoril, da tega ne bo mogoče popraviti, in dodal naslednje:

"O vedenju smo razpravljali z našo ekipo za izdelke in inženirje in podprli so ohranitev dostopa API-ja samo za privilegirane sistemske aplikacije."

Zakaj je to pomembno, je večplastno. Če uporabljate svoj telefon samo s privzetim ozadjem (ali katerim koli drugim privzetim ozadjem) in se ne poglabljate preveč v prilagajanje, potem ste verjetno v redu. Vendar vse aplikacije, ki lahko upravljajo vaše ozadje zate bo zaradi tega prizadet. LWP+ na primer zahteva dostop do varnostnega kopiranja, uvoza in izvoza vašega ozadja, vendar tega ne bo mogel, ko bo potreben za ciljanje na novejše različice Androida. Ta aplikacija se uporablja tudi za nastavitev barv Material You po meri, vendar tega v prihodnje ne boste mogli, razen če se to spremeni. Google trenutno objavljene časovnice država da bodo morale aplikacije ciljati na Android 13 do konca avgusta.

Še huje, Wander poroča, da je imel težave z zaganjalniki tretjih oseb, ki niso mogli prikazati njegovega ozadja po meri. Čeprav nam ni uspelo ponoviti tega natančnega vedenja, smo preizkusili številne zaganjalnike drugih proizvajalcev na najnovejši Android 14 beta in ugotovil, da je en zaganjalnik, Lynx Launcher, naletel na težave, povezane z dovoljenji vprašanja. Prikaže se napaka, ki pravi, da ni mogel pridobiti vseh dovoljenj, ki jih potrebuje, ki jih nismo mogli popraviti, in nismo mogli nastaviti ozadja po meri iz Google Photos.

Za komentar smo se obrnili na Nova Launcher in povedali so nam, da čeprav so do zdaj opazili samo težave, povezane z dovoljenji, ki so se pojavljale na napravah, povezanih s Samsungom, tiskovni predstavnik podjetja mi je povedal, da "žalostno vidim, da so to zdaj označili kot predvideno vedenje." Ena takih težav z dovoljenji na napravi Samsung prikazano mi je bilo to, da se je pri nastavitvi ozadja v izbirniku ozadja Nova pojavila napaka, ki pravi »Dovoljenje zavrnjeno«, ozadje pa ni set. Ta poročila so prihajala samo iz naprav Samsung in ekipa jih ni mogla ponoviti na Google Pixel še.

Če želite biti jasni, ta API nikoli ni bil dostopen le privilegiranim sistemskim aplikacijam in je bil posledica tega, kar se zdi spregled pri razdelitvi dovoljenja READ_EXTERNAL_STORAGE, ki je privedel do te situacije v prvem mesto. To dovoljenje dejansko še vedno obstaja tudi v sistemu Android 13 in krmilnik dovoljenj ga preprosto zavrne kateri koli aplikaciji, ki ga zahteva, če ta aplikacija cilja na Android 13. Androidov Krmilnik dovoljenj je Projekt Mainline modul, torej Google lahko teoretično popravi to vedenje v napravah s sistemom Android 13. V sedanjem stanju bo Google kmalu zahteval posodobitev vseh aplikacij, ki so namenjene sistemu Android 13 ali novejšemu, kar pomeni, da te aplikacije ne bodo mogle več dostopati do vašega ozadja.

Googlova lastna dokumentacija o WallpaperManager razred je podobno lahkomiseln. Navaja, da "od T naprej neposredni dostop do ozadja ni več mogoč, namesto privzetega sistemsko ozadje je vrnjeno« in da od različice U (Android 15) nekaterih metod razreda ne bi smeli uporabljati pri vse.

Če bi šlo za varnostno izboljšavo, je vsekakor nenavadno, da podjetje ni opozorilo na vse to, in težko je videti, kako točno bi to sploh bilo. Obrnili smo se na Google in posodobili bomo ta članek, če se nam oglasi.