BackupAgent如何工作?

时间:2010-01-08 16:33:13

标签: android android-manifest android-backup-service

我正在查看AndroidManifest文件,我看到android:backupAgent的条目,并且根据文档android:backupAgent

  

实现BackupAgent的类的名称,用于管理应用程序设置到外部存储的备份和还原。

但我找不到BackupAgent界面或任何其他文档。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

BackupAgent的API尚未固化,因此它是一个隐藏的类。 You can check it out on Android's git,这里有评论:

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

答案 1 :(得分:2)

我所能提供的只是source code for android.app.BackupAgentsource code for 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版本中被禁用。