【问题标题】:android:allowBackup=false but BackupAgent still requiredandroid:allowBackup=false 但仍需要 BackupAgent
【发布时间】:2016-01-12 07:09:52
【问题描述】:

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

我是否错过了理解 android:allowBackup 的目的?

我不需要任何备份。

【问题讨论】:

    标签: android backup-agent


    【解决方案1】:

    似乎它们彼此不同:

    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 中提供其备份代理类的名称 通过&lt;application&gt; 标签的 android:backupAgent 属性文件。

    你需要在你的ApplicationTAG -&gt; Manifest中添加这个:

    android:backupAgent
    

    另外,您可能想看看:

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

    • 版本您的数据格式。例如,如果您预计需要 修改您编写应用程序数据的格式,您可以 构建一个备份代理来交叉检查您的应用程序版本 恢复操作并执行任何必要的兼容性工作,如果 设备上的版本与备份数据的版本不同。为了 更多信息,请参阅检查Restore Data Version

    • 您可以指定文件的各个部分,而不是备份整个文件 应备份的数据以及如何将每个部分还原到 设备。 (这也可以帮助你管理不同的版本, 因为您将数据作为唯一实体读取和写入,而不是 完整的文件。)

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

    【讨论】:

      猜你喜欢
      • 2017-04-14
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 2022-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-23
      相关资源
      最近更新 更多