Android 10 позволява на разработчиците да питат потребителите дали искат да запазят данните на приложението, преди да деинсталират

click fraud protection

Android 10 въвежда флаг за манифест за разработчиците на приложения, който, когато е активиран, позволява на потребителя да запази данните на приложението, когато деинсталира приложението. Прочетете за повече!

Android 10 е най-новата актуализация на Android от Google, която носи със себе си a доста малко подобрения на зрялата операционна система. Повечето промени и нови функции при най-новата актуализация се получават подчертани от самите Google по време на Google I/O или са намерен скоро след съобщение за публичен източник. Но някои забележителни промени са склонни да се изплъзват под радара, изплувайки месеци по-късно, когато някой случайно се натъкне на тях. Това е, което се случва в този случай, защото както се оказва, Android 10 позволява на разработчиците да питат своите потребители дали искат да запазят данните на приложението, преди приложението им да бъде деинсталирано.

Скорошно доклад от AndroidPolice подчерта тази функционалност. Приложения като WhatsApp и ASR диктофон започнаха да предлагат на потребителите на Android 10 опция за запазване на данните от приложение, което предстои да бъде деинсталирано.

Поставянето на отметка в квадратчето, показано по-горе, запазва данните от приложението на телефона, въпреки че приложението е деинсталирано. Когато преинсталирате приложението, ще се върнете към същото състояние в рамките на приложението, както ако никога не сте го деинсталирали на първо място.

Мишал направи малко разследване какво се случва зад кулисите. За да разберете това, първо трябва да разберете как приложенията на Android могат да съхраняват файлове на вашето устройство и има три основни места за съхранение на файлове:

  • Специфична за приложението директория във вътрешното (недостъпно за потребителя без root) хранилище: Тези папки се намират на /data/data и не са достъпни за други приложения или когато потребителят обикновено включва телефона си в компютър. Приложенията не се нуждаят от разрешение да записват файлове в собствената си специфична за приложението директория в това местоположение.
  • Специфична за приложението директория във външното (достъпно за потребителя) хранилище: Тези папки се намират на /data/media/{user}/Android/data и са достъпни за други приложения с правилното разрешение и за потребителя, когато обикновено включва телефона си към компютър. Приложенията не се нуждаят от разрешение да записват файлове в собствената си специфична за приложението директория в това местоположение, но се нуждаят от разрешение за достъп до данни от други приложения, както беше споменато по-рано.
  • Всяка директория във външното (достъпно за потребителя) хранилище: Приложенията могат да поискат разрешение за достъп до външното хранилище, позволявайки на приложението да създаде каквато папка трябва във външното хранилище, за да съхранява каквото иска да съхранява тук.

Разширявайки примера на WhatsApp, специфичната за приложението директория на WhatsApp във вътрешната памет се намира на /data/data/com.whatsapp; неговата специфична за приложението директория във външно хранилище се намира на /data/media/{user}/Android/data/com.whatsapp; и персонализираната му директория във външно хранилище се намира на /data/media/{user}/WhatsApp.

Преди Android 10 и преди разработчиците да активират това за своите приложения, когато потребителят деинсталира приложение, неговите специфични за приложението директории в двете вътрешни (/data/data) и външни (/data/media) паметта се изтриват по подразбиране. Допълнителните директории във външно хранилище не се изтриват и трябва ръчно да се отървете от тях или да използвате приложение като SD Maid да го направя вместо вас.

С Android 10 разработчиците на приложения могат да добавят специален флаг към своя манифест, наречен "hasFragileUserData“, което им позволява да попитат потребителя дали искат да запазят данните на приложението при деинсталиране на приложението, което виждате по-горе на екранната снимка. Когато деинсталирате приложение с превключено квадратче за отметка, за да запазите данните на приложението, Android ще запази и няма да изтрие специфичните за приложението директории във вътрешната и външната памет. Потвърдихме това, като проверихме директориите за приложения, които не са добавили флага на манифеста, и такива като WhatsApp, които са добавили флага на манифеста.


На пръв поглед наличието на опцията има смисъл, тъй като потребителите могат временно да деинсталират приложения и пак да се върнат към своите предишно състояние при повторно инсталиране, което би трябвало да спести някои проблеми с архивирането и възстановяването на приложението на същото устройство. Но имайте предвид това /data/data не е достъпен без root, така че вие ​​като потребител не можете да използвате този процес за архивиране без root и възстановяване на различни устройства. Също така не е възможно потребителите да изтрият файловете, останали в /data/data без корен; така че ако искате да изчистите файловете в бъдеще, ще трябва да преинсталирате приложението и след това да го деинсталирате, без да поставяте отметка в квадратчето. Използвайте тази опция за твърде много приложения и вероятно ще забравите кои приложения сте избрали като потребител. Тъй като това не е задължително за разработчиците да включват, а след това по избор за потребителите, смятаме, че това е цялостна положителна промяна, която дава повече власт на крайния потребител.