我已经BackupAgentHelper
根据文档实现了,包括向后兼容 1.6,以备份我所有的SharedPreferences
. 在模拟器 Android 2.2 中测试它以及在我的设备上运行时,它运行得很好,该设备通过 USB 运行库存的 Android 2.3.3。在这两个测试用例中,我都会发出:adb shell bmgr run
,它会触发备份。
但是,当从 Android Market 重新安装我的应用程序时,一切SharedPreferences
都消失了。文档说,dataChanged()
在调用之后,“备份管理器然后在未来的适当时间调用你的备份代理的 onBackup() 方法”。很好,但有谁知道是什么让系统实际进行备份?我怀疑这在我的情况下没有发生。
文档说:“如果使用设备,请打开系统设置,选择隐私,然后启用备份我的数据和自动恢复。” 但我的设备(SE Xperia Mini)中不存在该选项。我只能猜测这个选项总是启用的,不能关闭。我在瑞典使用 Telia 作为我的接线员(如果重要的话)。
任何人都知道为什么从 Market 重新安装时备份不起作用,但在使用模拟器和通过 USB 在设备上时完全正常工作?