Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是Android应用程序自动备份?_Android_Backup_Android 6.0 Marshmallow - Fatal编程技术网

什么是Android应用程序自动备份?

什么是Android应用程序自动备份?,android,backup,android-6.0-marshmallow,Android,Backup,Android 6.0 Marshmallow,关于Android自动备份,这里只有几个问题。我以前没有用过这个,所以先看了文档! 然后我制作了一个示例应用程序,并设法将其添加到已在Google Drive中备份的应用程序列表中 但我还是想澄清这一点,因为它比文档更容易理解 这里有几点我搞砸了 恢复计划 设备可以从其自身的备份或祖先备份进行恢复 数据集。如果备份来自两个设备,则设备会优先考虑自己的备份 资料来源是可用的。如果用户没有完成设备设置 向导,则设备只能从其自己的备份还原 这可能高达25MB。比方说我卸载了一个应用程序,然后重新安

关于Android自动备份,这里只有几个问题。我以前没有用过这个,所以先看了文档!

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

但我还是想澄清这一点,因为它比文档更容易理解

这里有几点我搞砸了

恢复计划

设备可以从其自身的备份或祖先备份进行恢复 数据集。如果备份来自两个设备,则设备会优先考虑自己的备份 资料来源是可用的。如果用户没有完成设备设置 向导,则设备只能从其自己的备份还原

  • 这可能高达25MB。比方说我卸载了一个应用程序,然后重新安装。不是在备份的哪个阶段?我是否需要遵循任何技巧,例如:像飞溅一样,直到它完成
    onRestoreFinished()
    ?如果有20MB的数据?有什么好的例子吗
启用和禁用备份

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

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

  • 这一行在清单中,因此,备份任务完成后,如何最好地将其设为false。假设注册完成,这就是我要备份的全部内容。如何在运行时更新该标记值

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

谢谢

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

幸运的是,对于美国开发者来说,这是在应用程序安装过程中自动完成的,这可能发生在几种情况下:

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


这一行在清单中,因此,备份任务完成后,如何最好地将其设为false。假设注册完成,这就是我要备份的全部内容。如何在运行时更新该标记值

这是不可能的。正如您在中所读到的,它是在一定的时间间隔内自动完成的。如果您有与此计划冲突的需求,则必须实现自己的备份机制


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

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

备份数据存储在用户Google Drive帐户的一个私人文件夹中,每个应用程序的存储空间限制为25MB。保存的数据不计入用户的个人谷歌硬盘配额。只存储最近的备份进行备份时,会删除以前的备份(如果存在)。


感谢一个小小的澄清如果你知道的话,你能举一个自己的备份机制的小例子吗。。我想在获得数据后停止进行新备份。。我在想,因为文档提到,即使应用程序没有运行,也会执行这些回调方法-正在实现备份代理。。教您停止备份还是让备份运行正常?@Charuka BackupAgent仅通知您事件,不允许您手动启动或停止备份。自定义备份机制的一个示例可以是Firebase存储,您可以将所有数据同步到Firebase的数据库(使用Firebase很容易做到这一点)。