【问题标题】:What is Android Auto Backup for Apps?什么是 Android 应用程序自动备份?
【发布时间】:2017-01-23 15:51:21
【问题描述】:

关于 Android Auto Backup 的问题很少。我之前没有使用过这个,所以先浏览了文档! https://developer.android.com/guide/topics/data/autobackup.html#Files

然后我制作了一个示例应用程序,并设法将其添加到已在 Google Drive 中备份的应用程序列表中。

但我仍然想从 so 中清除一些东西,因为它比文档更容易理解。

这里有几点我搞砸了。

恢复计划

设备可以从自己的备份或祖先的备份中恢复 数据集。如果来自两者的备份,则设备优先考虑自己的备份 来源可用。如果用户没有完成设备设置 向导,则设备只能从自己的备份中恢复。

  • 这可以达到 25MB。假设我卸载了一个应用程序并重新安装它。不是在什么阶段需要备份?我是否需要遵循任何技术,例如:像飞溅一样直到它完成onRestoreFinished()?如果有 20 MB 的数据?有什么好的例子吗?

启用和禁用备份

<application ...
    android:allowBackup="true">
</app>

要禁用自动备份,请将 android:allowBackup 设置为 false。你可能想要 当您的应用程序可以通过某些方法重新创建其状态时禁用备份 其他机制或当您的应用处理敏感信息时 不应该备份

  • 这一行在清单中,所以一旦备份任务完成,最好的方法是让它为假。假设注册完成,这就是我想要备份的全部内容。我怎样才能更新那个标签运行时的值?

  • 有没有办法通过删除现有备份来重置 25MB 备份配额?

谢谢

【问题讨论】:

    标签: android backup android-6.0-marshmallow


    【解决方案1】:

    不是在哪个阶段进行备份?我是否需要遵循任何技术,例如:像飞溅一样直到它完成 onRestoreFinished()?如果有 20 MB 的数据?有什么好的例子吗?

    幸运的是我们开发者,这是在应用安装过程中自动完成的,这可能在以下几种情况下发生:

    无论何时安装应用程序,数据都会恢复,无论是从 Play 商店、设备设置期间(系统安装以前安装的应用程序时)还是运行 adb install。 还原操作发生在安装 APK 之后,但在用户可以启动应用之前。

    来自restore schedule


    这一行在清单中,所以一旦备份任务完成,最好的方法是让它为假。假设注册已经完成,这就是我想要备份的全部内容。如何在运行时更新该标签值时间?

    这是不可能的。正如您在Backup schedule 中看到的那样,它会在一定的时间间隔内自动完成。如果您有与此计划相冲突的要求,则必须实施自己的备份机制。


    有没有办法通过删除现有备份来重置 25MB 备份配额?

    这不是必需的。一次只存在一个备份。进行新备份时,旧备份将被删除:

    备份数据存储在用户 Google 云端硬盘帐户中的私人文件夹中,每个应用的大小限制为 25MB。保存的数据不计入用户的个人 Google Drive 配额。仅存储最近的备份。 进行备份时,之前的备份(如果存在)将被删除。

    来自backup location

    【讨论】:

    • 感谢您的澄清,如果您知道的话,您能否指出一个自己的备份机制的小例子。我想在获得数据后停止进行新备份。我在想,因为文档提到即使应用程序没有运行,这些回调方法也会被执行。 - 实施 BackupAgent.. 教导停止它们或者让它们运行是否正常?
    • @Charuka BackupAgent 只会通知您事件,它不会让您手动启动或停止备份。自定义备份机制的一个示例可能是 Firebase 存储,您可以在其中将所有数据同步到 firebase 的数据库(这可以通过 firebase 轻松完成)。
    猜你喜欢
    • 1970-01-01
    • 2015-10-26
    • 2015-06-07
    • 1970-01-01
    • 2019-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多