Все, что я могу предложить, это исходный код для 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.