【问题标题】:Backup/restore shared preferences android备份/恢复共享首选项android
【发布时间】:2023-04-07 12:26:02
【问题描述】:

我正在尝试备份/恢复我的应用程序的共享首选项,我使用 Android 备份服务执行了此步骤:

Manifest.xml<application> 标签中

<meta-data android:name="com.google.android.backup.api_key" android:value="My Key" />

添加了这个类:

public class MyBackupAgent extends BackupAgentHelper {

    // The name of the SharedPreferences file
    static final String PREFS = "my_preferences";


    @Override
    public void onCreate() {
        SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, PREFS);
        addHelper(Utilities.SETTINGS_KEY, helper);
    }

}

当为共享偏好设置值时,我这样做:

BackupManager backupManager = new BackupManager(context);
backupManager.dataChanged();

但如果我卸载/重新安装应用程序,更改将不适用...

【问题讨论】:

  • 我认为您还需要在 AndroidManifest 的 标记中添加 android:allowBackup="true"
  • 从您的描述中看不清楚。但是你能检查一下你的清单中是否有这个吗&lt;manifest ... &gt; &lt;application android:label="MyApplication" android:backupAgent="MyBackupAgent"&gt; &lt;/application&gt; &lt;/manifest&gt;
  • @pellucide 已经可以了!

标签: java android sharedpreferences android-backup-service


【解决方案1】:

我猜你忘了添加

android:allowBackup="true"

AndroidManifest.xml 文件中的 &lt;application&gt; 标记内

【讨论】:

  • 不,我已经添加了这个
【解决方案2】:

您必须像这样分配一个助手并将其添加到备份代理中:

    @Override
public void onCreate() {
    FileBackupHelper helper = new FileBackupHelper(this,
            TOP_SCORES, PLAYER_STATS);
    addHelper(FILES_BACKUP_KEY, helper);
}

并考虑覆盖 onBackup() 和 onRestore() 方法。 请参阅此处的说明: https://developer.android.com/guide/topics/data/keyvaluebackup.html#BackupAgentHelper

【讨论】:

    【解决方案3】:

    当您致电dataChanged() 时,您只是通知系统发生了一些变化,此时它不会开始备份,请给它一些时间和 wi fi 连接。如果设置了“自动恢复”,请在“备份和重置”下检查您设备的设置。

    确保您写入的首选项(使用相同的密钥)与您保存的context.getSharedPreferences("my_preferences", Context.MODE_PRIVATE);相同

    【讨论】:

      【解决方案4】:

      我假设你已经设置了这样的东西(取决于 android 版本,甚至取决于设备)

      “云和账户”->“备份和恢复”->“自动恢复”

      开启。如果没有,打开它可能会解决您的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-10
        相关资源
        最近更新 更多