BackupManager не вызывает резервный транспорт

Итак, я пытаюсь внедрить резервное копирование данных в свое приложение и следую этому руководству . Я реализовал свой BackupAgentHelperс помощью SharedPreferencesBackupHelper. Я не получаю никаких ошибок, и я обязательно позвоню dataChanged()после всех изменений настроек, но когда я тестирую резервную копию (`adb shell bmgr run ), я получаю эту информацию в LogCat:

07-07 12:29:00.258: V/BackupManagerService(291): Scheduling immediate backup pass
07-07 12:29:00.258: V/BackupManagerService(291): Running a backup pass
07-07 12:29:00.258: V/BackupManagerService(291): clearing pending backups
07-07 12:29:00.258: V/PerformBackupTask(291): Beginning backup of 1 targets
07-07 12:29:00.289: V/BackupServiceBinder(291): doBackup() invoked
07-07 12:29:00.289: D/PerformBackupTask(291): invokeAgentForBackup on @pm@
07-07 12:29:00.297: I/PerformBackupTask(291): no backup data written; not calling transport

Итак, для справки, в моем манифесте я добавил:

а также


и мой BackupAgentHelper реализован так:

public class SudokuBackupAgent extends BackupAgentHelper {
    static final String SCORES = "SCORES";
    static final String BACKUP_ID = "sudoku_backup";

    @Override
    public void onCreate() {
        SharedPreferencesBackupHelper backupHelper = 
                new SharedPreferencesBackupHelper(this, SCORES);
        addHelper(BACKUP_ID, backupHelper);
    }
}

и, наконец, в своей основной деятельности я призываю к такому резервному копированию данных:

edit.putString(id + "_values", valueCache.toString());
edit.putString(id + "_hints", hintCache.toString());
edit.commit();
BackupManager backup = new BackupManager(this);
backup.dataChanged();

Я пытался отладить, и кажется, что мой onCreate()в SudokuBackupAgentникогда не вызывается. Или, по крайней мере, это никогда не достигается из отладчика. Кажется, он не находит никаких обновленных данных, и я дважды проверил, чтобы УБЕДИТЬСЯ, что есть данные для резервного копирования. Есть ли что-то, что мне здесь не хватает?

РЕДАКТИРОВАТЬ:Должен добавить, я тестирую на устройстве (Galaxy Nexus )и даже пытался использовать экспортированный APK для тестирования.

22
задан HitOdessit 29 October 2012 в 08:41
поделиться