Android 10 introduserer et Manifest-flagg for apputviklere som når aktivert lar brukeren beholde appdata når de avinstallerer appen. Les videre for mer!
Android 10 er den siste oppdateringen til Android fra Google, og tar med en ganske få forbedringer til det modne operativsystemet. De fleste endringer og nye funksjoner på den nyeste oppdateringen får enten fremhevet av Google selv under Google I/O eller er funnet snart etter offentlig kildeutgivelse. Men noen bemerkelsesverdige endringer har en tendens til å skli under radaren, og dukker opp måneder senere når noen ved et uhell snubler over dem. Det er det som skjer i dette tilfellet fordi det viser seg at Android 10 lar utviklere spørre brukerne om de vil beholde appdata før appen deres avinstalleres.
En nylig rapport fra Android-politiet fremhevet denne funksjonaliteten. Apper som Hva skjer og ASR stemmeopptaker har begynt å tilby Android 10-brukere muligheten til å beholde dataene til en app som er i ferd med å bli avinstallert.
Ved å merke av i boksen ovenfor beholdes appdataene på telefonen til tross for at appen avinstalleres. Når du installerer appen på nytt, vil du være tilbake til samme tilstand i appen som om du aldri hadde avinstallert den i utgangspunktet.
Mishaal undersøkte litt om hva som skjer bak kulissene. For å forstå det, må du først forstå hvordan apper på Android kan lagre filer på enheten din, og det er tre hovedplasseringer for lagring av filer:
- Appspesifikk katalog i intern (brukerutilgjengelig uten rot) lagring: Disse mappene er plassert på /data/data og ikke er tilgjengelige for andre apper, eller når brukeren vanligvis kobler telefonen til en PC. Apper trenger ikke tillatelse til å skrive filer til sin egen appspesifikke katalog på dette stedet.
- Appspesifikk katalog i den eksterne (brukertilgjengelige) lagringen: Disse mappene er plassert på /data/media/{user}/Android/data og er tilgjengelige for andre apper med riktig tillatelse, og for brukeren når de vanligvis kobler telefonen til en datamaskin. Apper trenger ikke tillatelse til å skrive filer til sin egen appspesifikke katalog på dette stedet, men de trenger tillatelse for å få tilgang til data fra andre apper, som nevnt tidligere.
- Enhver katalog i den eksterne (brukertilgjengelige) lagringen: Apper kan be om tillatelse til å få tilgang til den eksterne lagringen, lar appen lage den mappen den trenger på den eksterne lagringen for å lagre det den vil lagre her.
For å utvide WhatsApps eksempel, ligger WhatsApps appspesifikke katalog i intern lagring på /data/data/com.whatsapp; dens appspesifikke katalog i ekstern lagring ligger på /data/media/{user}/Android/data/com.whatsapp; og dens egendefinerte katalog i ekstern lagring ligger på /data/media/{user}/WhatsApp.
Før Android 10 og før utviklere aktiverer dette for appene sine, når en bruker avinstallerer en app, appspesifikke kataloger i både interne (/data/data) og ekstern (/data/media) lagring slettes som standard. De ekstra katalogene på ekstern lagring blir ikke slettet, og du må manuelt kvitte deg med dem eller bruke en app som SD hushjelp å gjøre det for deg.
Med Android 10 kan apputviklere legge til et spesielt flagg i manifestet sitt kalt "har FragileUserData" som lar dem spørre brukeren om de vil beholde appens data ved avinstallering av appen, som er det du ser ovenfor på skjermbildet. Når du avinstallerer en app med avmerkingsboksen aktivert for å beholde appdataene, vil Android beholde og ikke slette de appspesifikke katalogene i den interne og eksterne lagringen. Vi bekreftet dette ved å sjekke katalogene for apper som ikke har lagt til Manifest-flagget, og de som WhatsApp som har lagt til Manifest-flagget.
På overflaten er det fornuftig å ha alternativet ettersom brukere midlertidig kan avinstallere apper og fortsatt gå tilbake til sine forrige tilstand ved reinstallering, noe som burde spare noen problemer med å sikkerhetskopiere og gjenopprette appen på samme enhet. Men husk det /data/data er ikke tilgjengelig uten root, så du som bruker kan ikke bruke denne prosessen for rotfri backup og gjenoppretting på tvers av enheter. Det er heller ikke mulig for brukere å slette filene som er igjen i /data/data uten rot; så hvis du ønsker å slette filene i fremtiden, må du installere appen på nytt og deretter avinstallere den uten å merke av i boksen. Bruk dette alternativet for for mange apper, og du vil sannsynligvis glemme hvilke apper du som bruker hadde valgt. Siden dette er valgfritt for utviklere å inkludere, og deretter valgfritt for brukere å velge, føler vi at dette er en generell positiv endring som gir mer kraft til sluttbrukeren.