Ich habe eine Android-Anwendung, um die Anmeldedaten wie Benutzername und Passwort zu SharedPreferences
speichern. Das funktioniert einwandfrei, aber ich muss alle meine SharedPreferences
während der Deinstallation meiner Anwendung verwendeten entfernen . Wie es geht?
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", "");
}
Ich möchte dies entfernen, SharedPreferences
wenn meine Anwendung deinstalliert wird.
android
android-preferences
Shivcena
quelle
quelle
/dbdata/database/my.package/shared_prefs
. Ich weiß nicht, ob das so ist, weil es verwurzelt ist oder weil es Froyo ist. Ich konnte nicht mit neueren Geräten testenAntworten:
SharedPreferences
wird immer zusammen mit der App-Deinstallation gelöscht.Wenn Sie eine Anwendung deinstallieren, werden alle Änderungen, die die Anwendung in Ihrem internen Speicher vorgenommen hat, widerrufen. Dies bedeutet, dass Ihre SharedPreference-Dateien, andere Datendateien, Datenbankdateien und Anwendungen vom Android-Betriebssystem automatisch entfernt werden.
EDITED: 29/04/15: Für> = 21 API siehe @ Maher Abuthraas Antwort
quelle
Das Problem liegt nicht bei den Einstellungen. Es ist drastisch der Backup-Manager ! .. da Android-23 standardmäßig Backup als Task die Daten der App speichert, einschließlich der Einstellungen für die Cloud. Später, wenn Sie die neuere Version deinstallieren und installieren, werden Sie wahrscheinlich wiederhergestellte Einstellungen verwenden. Um dies zu vermeiden, fügen Sie dies einfach Ihrem Manifest hinzu (oder zumindest, um das Manifest zu debuggen):
Lesen Sie dies: http://developer.android.com/guide/topics/data/backup.html
Sie werden das auch sehen, wenn Sie Lint ausführen unter
Android > Lint > Security
:Es ist gut zu erwähnen, dass der Sicherungsprozess wie eine Blackbox ist. Sie wissen nicht, wann er beginnt und zwischen den Überprüfungen liegt. Besser für die Entwicklung, um ihn zu deaktivieren.
==== Update ====
Nach dem Festlegen
allowbackup
von können Probleme mit der Manifest-Fusion auftretenfalse
. Um dieses Problem zu beheben, fügen Sie Folgendes hinzu:im Anwendungselement. Gutschrift an @ shahzain-ali
Alternativ können Sie den Cache leeren, bevor Sie die App deinstallieren.
Ich hoffe das kann helfen.
quelle
Es ist seltsam, aber ich habe die Lösung folgendermaßen gefunden:
xmlns:tools="http://schemas.android.com/tools"
Sie in manifest - Tag von Manifest.xml Dateiandroid:allowBackup="false"
in Anwendung Tag der Manifest.xml Dateitools:replace="android:allowBackup"
in Anwendung Tag der Manifest.xml DateiDie Datei Manifest.xml sollte folgendermaßen aussehen.
Es ist fertig.
quelle
android:allowBackup="false"
undtools:replace="android:allowBackup"
immer noch erhalte, gibt es eine Idee, worum es geht?Das Problem liegt nicht bei den Einstellungen.
Verwenden Sie diesen Code, um das Problem zu beheben ..........
quelle
Durch das Festlegen wird
allowBackup="false"
eine Anwendung sowohl für die Sicherung als auch für die Wiederherstellung deaktiviert.quelle
Freigegebene Einstellungen werden ab Marshmallow nicht mehr immer gelöscht. Fügen Sie diese Zeile in Ihr Manifest ein: "android: allowBackup =" false ""
quelle