BackupManager requestRestore() устарел, какова альтернатива?

Кто-нибудь знает, что я могу теперь использовать для запроса данных для синхронизации на Android с помощью BackupManager?

Документы утверждают, что метод теперь устарел, но не предлагают эквивалентный вызов / вызов замены для этого метода. Я знаю, что синхронизация выполняется при первой установке приложений, но это похоже на правду?

Я надеюсь использовать SharedPreferences и BackupManager для синхронизации пар "ключ / значение" между устройствами, подключенными к учетной записи пользователя.

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();
    }
Другие вопросы по тегам