我已根據文檔實施了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時,我看到選項。 –