android:allowBackup = false但仍然需要BackupAgent

时间:2016-01-12 07:09:53

标签: android backup-agent

我忙于为Android ver 4.4.2设计应用程序(Android Studio 1.3.1),并希望在启动后立即启动应用程序。我的问题是它没有,在调试时我发现它抱怨缺少BackupAgent。我在清单中将android:allowBackup设置为false,但这似乎无法帮助删除有关缺少的BackupAgent的异常。

我想念 - 理解android的目的:allowBackup?

我不需要任何备份。

1 个答案:

答案 0 :(得分:0)

似乎与彼此不同:

http://developer.android.com/guide/topics/manifest/application-element.html

<application android:allowTaskReparenting=["true" | "false"]
             android:allowBackup=["true" | "false"]
             android:backupAgent="string"

和: http://developer.android.com/reference/android/app/backup/BackupAgent.html

  

提供应用程序和Android之间的中央界面   数据备份基础架构 。希望参与的申请   在备份和恢复机制中将声明一个子类   BackupAgent,实现onBackup()和onRestore()方法,以及   在其AndroidManifest.xml中提供其备份代理类的名称   通过<application>标记的android:backupAgent属性提交文件。

您需要在ApplicationTAG -> Manifest

中添加此内容
android:backupAgent

另外,您可能需要查看一下:

大多数应用程序不需要直接扩展 BackupAgent类 ,而应扩展BackupAgentHelper以利用自动备份的内置帮助程序类并恢复您的文件。但是,如果需要,您可能希望直接扩展BackupAgent:

  • 版本化您的数据格式。例如,如果您预计需要 修改您编写应用程序数据的格式,您可以 构建备份代理以在期间交叉检查您的应用程序版本 如果恢复操作并执行任何必要的兼容性工作 设备上的版本与备份数据的版本不同。对于 有关详细信息,请参阅检查Restore Data Version

  • 您可以指定部分,而不是备份整个文件 应备份的数据以及每个部分的恢复方式 装置。 (这也可以帮助您管理不同的版本, 因为您将数据作为唯一实体读取和写入,而不是 完整的文件。)

  • 备份数据库中的数据。如果你有一个SQLite数据库 想要在用户重新安装应用程序时恢复,您需要 构建一个自定义BackupAgent,在其中读取相应的数据 备份操作,然后创建表并插入数据 恢复操作。