我已根据文档实施了BackupAgentHelper
,包括1.6的向后兼容性,以备份我的所有SharedPreferences
。在仿真器Android 2.2中进行测试时,以及在通过USB运行Android 2.3.3的设备上运行时,它工作得很好。在这两个测试案例中,我发出:adb shell bmgr run
,这会触发备份。从Android Market重新安装时无法使BackupAgent正常工作
但是,当从Android Market重新安装我的应用时,所有SharedPreferences
都消失了。 之后,文档中提到dataChanged()
已被调用,“备份管理器随后在适当的时候调用备份代理的onBackup()方法”。很好,但是有谁知道是什么让系统实际进行备份?我怀疑这不是发生在我的情况。
该文档说:“如果使用设备,打开系统设置,选择隐私,然后启用备份我的数据和自动恢复。”但是我的设备中没有这个选项(SE Xperia Mini)。我只能猜测这个选项总是被启用并且不能被关闭。 我在瑞典使用Telia作为我的运营商(如果有问题的话)。
任何人都知道为什么当从市场重新安装时,备份不工作,但使用模拟器和通过USB在设备上完全正常工作?
我认为没有选项实际上表明相反 - 不支持备份。在我的HTC Desire上,官方ROM显示没有备份选项(并且备份不起作用),但使用Cyanogenmod时,我看到选项。 –