有谁知道我现在可以使用什么来请求使用 BackupManager 在 Android 上同步数据?
文档声明该方法现已弃用,但不提供该方法的等效/替换调用。我知道同步是在应用程序首次安装时执行的,但似乎就是这样?
我希望使用 SharedPreferences 和 BackupManager 在连接到用户帐户的设备之间同步键/值对数据。
最佳答案
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();
}
关于java - BackupManager requestRestore() 已弃用,有什么替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53818166/