我已使用备份API将Google指令用于备份数据。我编写简单的测试program来检查它是如何工作的(MainActivity + BackupAgent用于共享首选项)。
在具有不同API的AVD模拟器上,一切都很完美,但在真实设备上,我无法在重新安装应用程序后获取数据。
我以不同的方式测试过它:
在logcat中,我可以看到我的包在系统备份列表中,并且调用了BackupHelper.onCreate()。
03-14 18:29:14.716 16355-16355/com.jh.testmybackup D/BACKUP﹕ ThebackupAgent.onCreate()
03-14 18:29:14.716 16355-16367/com.jh.testmybackup V/BackupServiceBinder﹕ doBackup() invoked
03-14 18:29:14.716 16355-16367/com.jh.testmybackup D/BackupHelperDispatcher﹕ handling existing helper 'com.jh.testmybackup' android.app.backup.SharedPreferencesBackupHelper@41e1ad90
03-14 18:29:14.716 311-407/? D/PerformBackupTask﹕ starting agent for backup of BackupRequest{pkg=com.jh.testmybackup}
03-14 18:29:14.716 311-407/? D/BackupManagerService﹕ awaiting agent for ApplicationInfo{42c80f98 com.jh.testmybackup}
03-14 18:29:14.716 311-27709/? D/BackupManagerService﹕ agentConnected pkg=com.jh.testmybackup agent=android.os.BinderProxy@426b4240
03-14 18:29:14.716 311-407/? I/BackupManagerService﹕ got agent android.app.IBackupAgent$Stub$Proxy@42979528
03-14 18:29:14.716 311-407/? D/PerformBackupTask﹕ invokeAgentForBackup on com.jh.testmybackup
03-14 18:29:15.176 311-407/? I/PerformBackupTask﹕ Backup pass finished.
但没有任何帮助。 重新安装应用程序后,我无法恢复数据。
毕竟,我试图找到有关此问题的一些信息,但没有找到任何解决方案。我找到了一些示例应用程序(stackoverflow.com/questions/12402749/examples-of-application-used-android-backup-services没有链接的声誉)并试图在我的设备上安装它们,它们也没有恢复重新安装后没什么。
我非常愚蠢。我是唯一一个有这种问题的人吗?
答案 0 :(得分:0)
检查您的清单文件,看看在应用程序下是否有android:allowBackup =“true”以及android:backupAgent,它们具有项目FileBackupAgent的正确路径。此外,您的元数据应该有您的注册密钥,例如android:value =“your-registerd-key”
确保您的设备已连接至Wi-Fi网络。此外,请确保在您的设备设置中,备份和重置需要选中“备份我的数据”,并且“备份帐户”具有有效的Gmail帐户,并选中“自动恢复”。
此外,在命令窗口中,您的传输设置应为:* com.google.android.backup / .BackupTransportService
您可以通过输入以下内容来查看:bmgr list transports如果transport设置为local,则输入:bmgr transport com.google.android.backup / .BackupTransportService
用于“踢”开始https://www.google.com/settings/dashboard备份的其他bmgr命令是:
bmgr enabled
bmgr wipe "your package in your manifest file"
bmgr backup "your package in your manifest file"
bmgr run
刷新https://www.google.com/settings/dashboard以查看最新的备份时间戳