我正在尝试使用数据backup api在我的应用程序中实现数据备份。

永远不会调用onBackup助手类中的BackupAgent方法。该文件说onBackup()将在将来的某个时候被调用。 onBackup是否有特定的时间被调用?每天只会调用一次吗?

我尝试使用以下命令在模拟器和Nexus 7设备上强制进行数据备份:

adb shell bmgr backup <package>
adb shell bmgr run


在模拟器上调用了onBackup()实现,但在设备上从未调用过。 bmgr工具可以在设备上运行吗?请帮助我理解。

最佳答案



adb shell bmgr transport android/com.android.internal.backup.LocalTransport


将运输更改为本地(即使文档

https://developer.android.com/guide/topics/data/testingbackup.html#TestingBackup

建议使用Google传输,它将设置备份限制,并且您将只能每24小时进行一次备份)。

运行以下命令以启动备份:

adb shell bmgr run


“运行”命令导致启动任何计划的备份操作
立即进行,无需通常的等待时间即可进行批处理
数据更改。

运行此命令以查看挂起的备份:

adb shell dumpsys backup

10-04 23:05
查看更多