Как работает BackupAgent? - PullRequest
       6

Как работает BackupAgent?

3 голосов
/ 08 января 2010

Я просматриваю файлы AndroidManifest и вижу записи для android:backupAgent и согласно документации android:backupAgent - это

Имя класса, реализующего BackupAgent для управления резервным копированием и восстановлением настроек приложения во внешнем хранилище.

Но я не могу найти BackupAgent интерфейс или любую другую документацию. Может ли кто-нибудь указать мне правильное направление?

Ответы [ 2 ]

2 голосов
/ 08 января 2010

Все, что я могу предложить, это исходный код для android.app.BackupAgent и исходный код для android.backup.BackupManager.

BackupAgent является абстрактным классом и, согласно javadoc в источнике, он «является центральным интерфейсом между приложением и механизмом резервного копирования настроек Android». Он имеет абстрактные onBackup() и onRestore() методы.

Существует также BackupManager. В Javadoc сказано, что «BackupManager - это интерфейс службы резервного копирования системы. Приложения просто создают его, а затем используют этот экземпляр для связи с инфраструктурой резервного копирования». Он имеет метод dataChanged() для вызова для планирования резервного копирования и метод beginRestoreSession() для запуска восстановления.

Теперь, интересные вещи в коде для BackupManager:

*
* @hide pending API solidification
*/

и

/** @hide TODO: REMOVE THIS */
public static final boolean EVEN_THINK_ABOUT_DOING_RESTORE = true;

Похоже, что это все еще в стадии разработки, а переменная-член EVEN_THINK_ABOUT_DOING_RESTORE - это простой способ отключить функцию резервного копирования. Я предполагаю, что он отключен в производственных сборках Android.

2 голосов
/ 08 января 2010

API BackupAgent еще не укреплен, поэтому это скрытый класс. Вы можете проверить это на Android git , где есть этот комментарий:

/**
 * This is the central interface between an application and Android's
 * settings backup mechanism.
 * 
 * @hide pending API solidification
 */
...