3

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

实现 BackupAgent 以管理应用程序设置到外部存储的备份和恢复的类的名称。

但我找不到BackupAgent接口或任何其他文档。有人可以指出我正确的方向吗?

4

2 回答 2

2

BackupAgent 的 API 还没有固化,所以它是一个隐藏类。 您可以在 Android 的 git 上查看它,其中有以下评论:

/**
 * This is the central interface between an application and Android's
 * settings backup mechanism.
 * 
 * @hide pending API solidification
 */
于 2010-01-08T17:26:05.853 回答
2

我所能提供的只是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 版本中被禁用。

于 2010-01-08T17:27:19.517 回答