有人知道我现在可以使用什么来通过BackupManager请求在Android上同步数据吗?
文档指出该方法现在已被弃用,但未提供该方法的等效/替换调用。我知道,同步是在应用程序首次安装时执行的,但这似乎是吗?
我希望使用SharedPreferences和BackupManager在连接到用户帐户的设备之间同步数据的键/值对。
答案 0 :(得分:0)
BackupManager backupManager = (BackupManager) getSystemService(BACKUP_SERVICE);
RestoreSession restoreSession = backupManager.beginRestoreSession();
if (0 != restoreSession.getAvailableRestoreSets(new android.app.backup.RestoreObserver() {
@Override
public void restoreSetsAvailable(RestoreSet[] result) {
if (result != null && result.length > 0) {
if (0 != restoreSession.restoreAll(result[0].token, new android.app.backup.RestoreObserver() {
@Override
public void restoreFinished(int error) {
Log.d(TAG, "succeed to restoreAll");
}
})) {
Log.d(TAG, "fail to restoreAll");
restoreSession.endRestoreSession();
}
} else {
Log.d(TAG, "restore database is empty");
restoreSession.endRestoreSession();
}
}
})) {
Log.d(TAG, "fail to getAvailableRestoreSets");
restoreSession.endRestoreSession();
}