J'ai une application Android pour enregistrer les informations de connexion telles que le nom d'utilisateur et le mot de passe via cela SharedPreferences
fonctionne bien, mais je dois supprimer tous mes utilisés SharedPreferences
pendant la désinstallation de mon application. Comment faire?
SavePreferences("one ", "");
SavePreferences("two", "");
LoadPreferences();
private void SavePreferences(String key, String value){
sharedPreferences = getSharedPreferences("TEST", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}
private void LoadPreferences(){
sharedPreferences = getSharedPreferences("TEST", MODE_PRIVATE);
String strSavedMem1 = sharedPreferences.getString("MEM1", "");
String strSavedMem2 = sharedPreferences.getString("MEM2", "");
}
Je souhaite le supprimer SharedPreferences
lors de la désinstallation de mon application.
android
android-preferences
shivcena
la source
la source
/dbdata/database/my.package/shared_prefs
. Je ne sais pas si c'est parce que c'est enraciné ou parce que c'est Froyo. Je n'ai pas pu tester avec des appareils plus récentsRéponses:
SharedPreferences
est toujours supprimé avec la désinstallation de l'application.Lorsque vous désinstallez une application, toutes les modifications apportées par l'application dans votre mémoire interne sont révoquées, ce qui signifie que vos fichiers SharedPreference, autres fichiers de données, fichier de base de données, application sont supprimés automatiquement par le système d'exploitation Android.
MODIFIE: 29/04/15: pour> = 21 API, reportez- vous à la réponse de @Maher Abuthraa
la source
Le problème ne vient pas des préférences. C'est radicalement le gestionnaire de sauvegarde ! .. depuis Android-23 par défaut, la sauvegarde en tant que tâche stocke les données de l'application, y compris les préférences pour le cloud. Plus tard, lorsque vous désinstallez puis installez une version plus récente, vous allez probablement utiliser les préférences restaurées. Pour éviter cela, ajoutez simplement ceci à votre manifeste (ou au moins au manifeste de débogage):
Lisez ceci: http://developer.android.com/guide/topics/data/backup.html
Vous verrez également que si vous exécutez Lint sous
Android > Lint > Security
:Il est bon de mentionner ici que le processus de sauvegarde est comme une boîte noire .. vous ne savez pas quand il démarre, et la période entre les vérifications ... donc mieux pour le développement de le désactiver.
==== Mise à jour ====
Vous pouvez rencontrer des problèmes de fusion de manifestes après avoir défini
allowbackup
surfalse
. Pour résoudre ce problème, ajoutez:dans l'élément application. Crédit à @ shahzain-ali
Vous pouvez également vider le cache avant de désinstaller l'application.
J'espère que cela peut aider.
la source
C'est étrange mais j'ai trouvé la solution de la manière suivante:
xmlns:tools="http://schemas.android.com/tools"
au tag manifeste de Manifest.xml fichierandroid:allowBackup="false"
au point de l' application de Manifest.xml fichiertools:replace="android:allowBackup"
au point de l' application de Manifest.xml fichierLe fichier Manifest.xml devrait ressembler à ceci.
C'est fait.
la source
android:allowBackup="false"
ettools:replace="android:allowBackup"
toujours mes préférences, une idée de quel est le problème?Le problème ne vient pas des préférences.
utilisez ce code pour le réparer ..........
la source
Le paramètre
allowBackup="false"
exclut une application de la sauvegarde et de la restauration.la source
Les préférences partagées ne sont plus toujours supprimées à partir de la guimauve. Ajoutez cette ligne dans votre manifeste: "android: allowBackup =" false ""
la source