3

有谁知道我现在可以使用 BackupManager 请求数据在 Android 上同步吗?

文档声明该方法现在已弃用,但不提供对该方法的等效/替换调用。我知道同步是在首次安装应用程序时执行的,但似乎是这样?

我希望使用 SharedPreferences 和 BackupManager 在连接到用户帐户的设备之间同步键/值对数据。

4

1 回答 1

-1
    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();
    }
于 2020-08-07T03:03:33.670 回答