In meiner Backupagent-Klasse Ich habe dies:Android Speichern Gemeinsam genutzte Einstellungen Backup Agent
import android.app.backup.BackupAgentHelper;
import android.app.backup.SharedPreferencesBackupHelper;
public class TheBackupAgent extends BackupAgentHelper {
// The names of the SharedPreferences groups that the application maintains. These
// are the same strings that are passed to getSharedPreferences(String, int).
static final String RECIPE_NAMES = "MyRecipeNames";
static final String TEST = "testSave";
// An arbitrary string used within the BackupAgentHelper implementation to
// identify the SharedPreferencesBackupHelper's data.
static final String MY_PREFS_BACKUP_KEY = "myprefs";
// Simply allocate a helper and install it
public void onCreate() {
SharedPreferencesBackupHelper helper =
new SharedPreferencesBackupHelper(this, TEST);
addHelper(MY_PREFS_BACKUP_KEY, helper);
}
}
ich dann Code habe eine Zeichenfolge in die testSave Gemeinsame Einstellungen zu speichern und fordern Sie eine Sicherung der Einstellungen:
public void requestBackup() {
BackupManager bm = new BackupManager(this);
bm.dataChanged();
}
public void saveRecipe (View v) {
SharedPreferences prefs = getApplicationContext().getSharedPreferences("testSave", 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("testString", "This is my saved data.");
editor.apply();
requestBackup();
}
Ich versuche dann, die App zu deinstallieren und neu zu installieren und die gespeicherten Daten sind weg. Ich habe den Code zum Manifest hinzugefügt, aber es funktioniert nicht. Muss meine App im Play Store sein? Ich habe wirklich keine Ahnung, warum es nicht funktionieren wird.
Ich habe ADB verwendet, um manuell zu sichern und wiederherzustellen, aber die sharedPrefs sind immer noch Null, wenn ich neu installiere. – tgreen
'editor.putString (" testString "," Dies sind meine gespeicherten Daten. ");' Sollte 'editor.putString (" myprefs "," Das sind meine gespeicherten Daten. ");' Weil das der Schlüsselname ist, den Sie geben im Helfer. –