Android 10 uvaja zastavico Manifest za razvijalce aplikacij, ki, ko je omogočena, omogoča uporabniku, da ohrani podatke aplikacije, ko odstrani aplikacijo. Berite naprej za več!
Android 10 je najnovejša Googlova posodobitev za Android, ki prinaša a kar nekaj izboljšav zrelega operacijskega sistema. Večino sprememb in novih funkcij pri najnovejši posodobitvi dobite izpostavil Google sam med Google I/O ali so našli v kratkem po objava javnega vira. Toda nekatere opazne spremembe ponavadi uidejo izpod radarja in se pojavijo mesece kasneje, ko nekdo slučajno naleti nanje. To se dogaja v tem primeru, ker kot se je izkazalo, Android 10 omogoča razvijalcem, da vprašajo svoje uporabnike, ali želijo obdržati podatke aplikacije, preden se njihova aplikacija odstrani.
Nedavna poročilo iz AndroidPolice poudaril to funkcijo. Aplikacije, kot so WhatsApp in Snemalnik zvoka ASR uporabnikom Androida 10 začeli ponujati možnost, da obdržijo podatke aplikacije, ki bo kmalu odstranjena.
Če potrdite zgoraj prikazano polje, se podatki o aplikaciji ohranijo v telefonu, čeprav je aplikacija odstranjena. Ko znova namestite aplikacijo, se boste v aplikaciji vrnili v isto stanje, kot če je sploh ne bi nikoli odstranili.
Mishaal je malo raziskal, kaj se dogaja v zakulisju. Če želite to razumeti, morate najprej razumeti, kako lahko aplikacije v sistemu Android shranjujejo datoteke v vaši napravi, in obstajajo tri glavne lokacije za shranjevanje datotek:
- Imenik, specifičen za aplikacijo, v notranjem (uporabniku nedostopnem brez root) pomnilniku: te mape se nahajajo na /data/data in niso dostopni drugim aplikacijam ali ko uporabnik običajno priključi svoj telefon na osebni računalnik. Aplikacije ne potrebujejo dovoljenja za pisanje datotek v lasten imenik, specifičen za aplikacijo, na tej lokaciji.
- Imenik, specifičen za aplikacijo, v zunanjem (uporabniku dostopnem) pomnilniku: te mape se nahajajo na /data/media/{user}/Android/data in so dostopni drugim aplikacijam s pravim dovoljenjem ter uporabniku, ko svoj telefon običajno priključi na računalnik. Aplikacije ne potrebujejo dovoljenja za pisanje datotek v svoj imenik, specifičen za aplikacijo, na tej lokaciji, potrebujejo pa dovoljenje za dostop do podatkov iz drugih aplikacij, kot je bilo omenjeno prej.
- Kateri koli imenik v zunanjem (uporabniku dostopnem) pomnilniku: aplikacije lahko zahtevajo dovoljenje za dostop do zunanjega pomnilnika, omogoča aplikaciji, da ustvari poljubno mapo v zunanjem pomnilniku, da shrani vse, kar želi shraniti tukaj
Če razširimo primer WhatsAppa, se imenik aplikacije WhatsApp v notranjem pomnilniku nahaja na /data/data/com.whatsapp; njegov imenik, specifičen za aplikacijo, v zunanjem pomnilniku je na /data/media/{user}/Android/data/com.whatsapp; in njegov imenik po meri v zunanjem pomnilniku se nahaja na /data/media/{user}/WhatsApp.
Pred Androidom 10 in preden razvijalci to omogočijo za svoje aplikacije, ko uporabnik odstrani aplikacijo, njeni specifični imeniki v obeh notranjih (/data/data) in zunanji (/data/media) so privzeto izbrisani. Dodatni imeniki v zunanjem pomnilniku se ne izbrišejo in morate se jih znebiti ročno ali uporabiti aplikacijo, npr. SD Maid da to naredi namesto tebe.
Z Androidom 10 lahko razvijalci aplikacij svojemu manifestu dodajo posebno zastavico, imenovano "hasFragileUserData", ki jim omogoča, da vprašajo uporabnika, ali želijo obdržati podatke aplikacije po odstranitvi aplikacije, kar vidite zgoraj na posnetku zaslona. Ko odstranite aplikacijo s preklopnim potrditvenim poljem za ohranitev podatkov aplikacije, bo Android obdržal in ne izbrisal imenikov, specifičnih za aplikacijo, v notranjem in zunanjem pomnilniku. To smo potrdili tako, da smo v imenikih preverili aplikacije, ki niso dodale zastavice Manifest, in tiste, kot je WhatsApp, ki so dodale zastavico Manifest.
Na prvi pogled je ta možnost smiselna, saj lahko uporabniki začasno odstranijo aplikacije in se še vedno vrnejo k svojim prejšnje stanje ob ponovni namestitvi, kar bi moralo prihraniti nekaj težav pri varnostnem kopiranju in obnavljanju aplikacije na isti napravo. Vendar ne pozabite na to /data/data ni dostopen brez korena, zato kot uporabnik ne morete uporabljati tega postopka za brezkorensko varnostno kopiranje in obnovitev v napravah. Prav tako uporabniki ne morejo izbrisati datotek, ki so ostale v /data/data brez korenine; če boste v prihodnje vseeno želeli počistiti datoteke, boste morali znova namestiti aplikacijo in jo nato odstraniti, ne da bi označili potrditveno polje. Uporabite to možnost za preveč aplikacij in verjetno boste pozabili, katere aplikacije ste kot uporabnik izbrali. Ker je to izbirno za razvijalce, nato pa izbirno za uporabnike, menimo, da je to na splošno pozitivna sprememba, ki daje več moči končnemu uporabniku.