Flutter - delete all data when uninstalling by the user (iOS /Android) - android

Is there a possibility for iOS & Android to delete all data when uninstalling the mobile application? his does not mean the debug version of a developer on a test device. This scenario should be ensured.

iOS deletes all the data related to your app when the user uninstalls the app.
However, things are little different in Android. Before Android 11, you could have saved the data in device external storage which isn't deleted after uninstalling the app although the internal storage data (Android > data > com.xxx) is deleted.
But with Android 11, you don't need to worry about the external storage data anymore because you have no access to it and hence you can't store anything there. So, you're only left with the internal storage.
So, all the data will be deleted automatically when the user uninstalls the app.

This is done by the OS(Android/iOS) as all the data is deleted when the app is uninstalled.
In addition to this, you should check android:allowBackup and android:fullBackupContent options in your manifest file. Check more info here
If you want to also delete some files that we store in a folder on the sd card? You will not be able to, since those files are no longer your app files but just some files that the app uses and you can consider storing them in a different way.

Related

Android scoped storage and persistent files

I have an app that creates a directory for backup files on the external storage and automatically creates backup files when the user exits the app. One backup file per week is created and then one backup file that is overwritten all the time with latest info.
The backup files can't be located in getExternalFilesDir since they needs to survive that the user reinstalls the app.
I can't use MediaStorage because it's not an image or video.
I can't use Storage Access Framework to ask the user every time he exits the app to save a backup file.
So how to automatically create persistent backup files with the new Scoped Storage?
(I also need to list all created backup files, if the user wants to restore one of them.)
Backup is appropriate in the case when the user loses the device, buy new, install the app, login and get his data as they were.
Your question is looks like you try to leave on the user device something that he probably doesn't need, as far he deletes the app. If it's the general files like images, music, documents that many apps can view or edit - leave them there and do not care. If it's only your app data - they should live while your app is installed and die when the app is deleting.
It makes sense to back up to the cloud only. In case you don't need a personal server, here is the option: implement syncing with Dropbox or Google Drive. It's the best option just to update the app's data after each closing of the app using the service.

Can I write to internal storage on Android devices to check if app has installed before on the device?

I want to check if an app has been installed on a device before by writing a file into internal storage. Later on when user even re-installs the app, I can check the existence of the file(I'll write the file to some system folder that user won't bother with) to see if user has installed the app before.
I just want to know if this is do-able, or is Android against doing things like this? Do I need any permission from user to do this?
I do not want to user any hardware-specific identifier such as IMEI or Android ID. I also don't want to use Instance ID as it will get reset upon re-installation of the app.
You don't need permission to read/write files to the Internal storage of the app. However, once the user uninstall the app, any file stored in the Internal storage of the app is also deleted.
To do what you're trying to do, you would have to write a file to the external storage - which you need permission for.
Have a read through this:
https://developer.android.com/training/data-storage/files

Cordova - Permanent storage even after uninstall

I am developing an app using cordova (currently only releasing on Android) and I am struggling with storage options.
I am currently using Local Storage which seems to work well, however all data/values are wiped if the user uninstalls and reinstalls the app. I was wondering if there is a plugin or some way to permanently store data on Android even if the user uninstalls the app?
The reason I would like this is to allow the user to keep the coins they have earned/purchased if they were to remove the app and then get it back at a later date? I also have an 'ad free' IAP and I am currently storing a value in Local Storage when the user purchases this so don't want the ads to come back if they uninstall/reinstall.
If this is not possible is there an alternative way to recognise if the user has purchased the Ad Free IAP so they will always have no ads?
You could use cordova-plugin-cloud-settings to persist key/value data between installs / across same-platform devices.
You can save user data online. Check Firebase
Fetch the data from the server when needed.
Or you can also write it on a file and save it on local storage (not a good idea for most of the time)
This is terrible practice. You should always keep server side the amount of earned/purchased items then fetch them as you start the app. It wouldn't be too hard to download and rebuild your app in debug mode then change the local storage.

Persist files between updates in an Android app

I noticed that my app loses the files stored in the device storage after an update from the Market. I use openFileOutput() to fetch a directory to store my important files, as is specified here. I'd expect that these files would be kept between updates, but it does not seem to be the case, at least with Froyo. If this behavior is correct, how should I store my files in a manner that they won't be deleted after an update?
I noticed that my app loses the files stored in the device storage after an update from the Market.
All files are kept around on an upgrade. Files will be deleted if:
the user uninstalls the app
the user uses the Clear Data option in Settings
Also, if you change android:sharedUserId, your files are not deleted, but they will be owned by the previous user ID, meaning your app will be permanently messed up until the user unininstalls and reinstalls.
I'd expect that these files would be kept between updates
They are.

update version of application in android without missing content

I created an Android app. The app needs some contents (sounds, XML and ...) those user must download from internet. Now, I want to provide service for users which update app version, without losing apps content.
Could someone advice me how to do it?
I you've ever reinstalled an app, you should have seen the dialog by PackageInstaller that says "All user data is preserved." Data you store in SharedPreferences, SQLite database, or SD card are just there and won't be cleared by update.
But if you want to uninstall your app before installing a new one, the only place you can store your data is SD card.
By the way, SD card is also the most appropriate place for storing downloaded files.

Categories

Resources