我已经研究并遵循了如何让我的 android 应用程序将数据备份到谷歌备份,因此如果用户丢失手机或升级到新手机,他们不会丢失数据。但是,当我对其进行测试时(通过自己使用该应用程序,然后卸载并重新安装),没有恢复任何数据。这就是我所做的。也许有人可以找出问题所在。
- 向谷歌申请了备份密钥
将以下代码放在清单文件中(代替键,我确实添加了键值,并且对于 packageName,我使用了我的应用程序包名称)
android:backupAgent="packageName.MyPrefsBackup"> <meta-data android:name="com.google.android.backup.api_key" android:value="key" />
MyPrefsBackup
使用以下代码创建类。我要备份的共享首选项文件的名称称为 UserDB。至于PREFS_BACKIP_KEY
,我只是将其称为首选项。据我了解,这与清单文件中的密钥不同。
代码:
package packageName;
import android.app.backup.BackupAgentHelper;
import android.app.backup.SharedPreferencesBackupHelper;
public class MyPrefsBackup extends BackupAgentHelper {
// The name of the SharedPreferences file
static final String PREFS = "UserDB";
// A key to uniquely identify the set of backup data
static final String PREFS_BACKUP_KEY = "prefs";
// Allocate a helper and add it to the backup agent
public void onCreate() {
SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, PREFS);
addHelper(PREFS_BACKUP_KEY, helper);
}
}
添加
BackupManager mBackupManager = new BackupManager(this);
在我的主类中,我在下一步中调用备份管理器最后,在我的主程序中,我
backupHelper
通过以下行调用何时更改数据:mBackupManager.dataChanged();
任何帮助深表感谢。