Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android: Save file permanently (even after clear data / uninstall)

I would like to know if there is a way to store a small amount of data permanently.
By permanently I mean I want the data to persist even if user clears app data / uninstalls app.
I know that shared preferences and databases are deleted when user clears app data / uninstalls app.

I also know that I can save stuff on SD Card, but what if device does not have SD Card / SD Card is unmounted?

I think that the best option would be to save the data on device internal memory, but is it possible to do that without getting the data deleted when clears app data / uninstalls app?

like image 812
pandre Avatar asked May 24 '11 10:05

pandre


2 Answers

You shouldn't do that, you shouldn't force the users to keep data on their phones without their consent.

Anyway, application data directory will be deleted after uninstall, but NOT after an update

The only way to have persistent data is to use the SD card, but again, users won't like to have the data on their card after the app is uninstalled

Or you can consider:

  1. Storing the data on a remote server with some kind of authentication to retrieve it
  2. Using Data Backup service
like image 50
BFil Avatar answered Oct 02 '22 07:10

BFil


Environment.getDataDirectory() is at least one directory where you can save files. It's on the internal storage (/data).

One case I use it is to define whether a service is running; I create a .lock file in there and always check whether it exists or not.

like image 22
Ilya Saunkin Avatar answered Oct 02 '22 06:10

Ilya Saunkin