我正在查看 AndroidManifest 文件,android:backupAgent
并且根据文档看到条目android:backupAgent
是
实现 BackupAgent 以管理应用程序设置到外部存储的备份和恢复的类的名称。
但我找不到BackupAgent
接口或任何其他文档。有人可以指出我正确的方向吗?
我正在查看 AndroidManifest 文件,android:backupAgent
并且根据文档看到条目android:backupAgent
是
实现 BackupAgent 以管理应用程序设置到外部存储的备份和恢复的类的名称。
但我找不到BackupAgent
接口或任何其他文档。有人可以指出我正确的方向吗?
BackupAgent 的 API 还没有固化,所以它是一个隐藏类。 您可以在 Android 的 git 上查看它,其中有以下评论:
/**
* This is the central interface between an application and Android's
* settings backup mechanism.
*
* @hide pending API solidification
*/
我所能提供的只是源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 版本中被禁用。