2017-01-23 41 views
3

关于Android Auto Backup,只有几个问题。我以前没有用过这个,所以先通过文档! https://developer.android.com/guide/topics/data/autobackup.html#Files什么是Android自动备份应用程序?

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

但是我仍然想从中清除所有的东西,因为它比文档更容易理解。

这里有几点我搞砸了。

恢复时间表

该设备可以从自己的备份或祖传 数据集恢复。如果备有来自 源的备份,则设备会优先考虑自己的备份。如果用户未通过设备设置向导,则设备只能从其自己的备份中恢复。

  • 这可以去高达25MB.Let说,我卸载应用的again.Not重新安装的是哪台备份?我是否需要遵循任何技巧,例如:像一个飞溅,直到它完成onRestoreFinished()?如果有20 MB的数据?任何这样的好例子?

启用和禁用备份

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

要禁用自动备份,设置安卓allowBackup。您可能需要 禁用备份时,您的应用程序可以通过一些 其他机构或者敏感信息的应用程序的交易, 不应该备份

  • 这条线路是在清单重建其状态,从而一旦备份任务完成,什么才是最好的方式。假设注册完成,这就是我想要备份的内容。如何在运行时更新该标记值?

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

感谢

回答

4

完全不花费什么阶段备份?我是否需要遵循任何技巧,例如:像飞溅一样,直到它完成onRestoreFinished()?如果有20 MB的数据?任何这样的好例子?

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

数据,只要安装了该应用恢复,无论是从Play商店,设备设置期间(系统安装以前安装的应用程序时)或运行adb安装。 恢复操作发生在APK安装后,但应用程序可供用户启动之前。

restore schedule


这条线路是在清单有啥可使其虚假的最佳方式,一旦备份任务done.Let的发言权登记完成,这就是我想要备份的所有内容。如何在运行时更新该标记值?

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


有什么办法删除现有备份恢复备份25MB的配额?

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

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

backup location

+0

由于小澄你可以点一个*自己的备份机制的一个小例子*如果你知道..我想停止服用新的备份,一旦我得到的数据。 。我在想这是因为文档提到*即使应用程序没有运行,这些回调方法也会被执行。* - 实现BackupAgent。教导阻止它们,还是正常运行? –

+1

@Charuka BackupAgent只会通知您事件,它不会让您手动启动或停止备份。自定义备份机制的一个例子可以是Firebase存储,您可以将所有数据同步到Firebase数据库(这很容易通过Firebase完成)。 –