2011-05-23 62 views
4

我有一個Android應用程序有一個服務,這應該只安裝在內部。但是一些ROOT用戶正在將其安裝在SD卡上並報告各種奇怪的錯誤。當一個應用程序被強制移動到SD卡時,SharedPreferences會去哪裏?

當用戶這樣做時,SharedPreferences在哪裏去?它們是否也存儲在SD卡上(對我來說真的很不好,因爲我經常寫它們),還是總是在內部存儲上?我所看到的一些錯誤似乎表明了這種情況。

如果是這樣,我如何檢測到我的SharedPreference文件確實在SD卡上?

謝謝!

回答

4

當應用程序移動到SD卡時,只有.apk被移動到/mnt/asec/package_name/pkg.apk。 shared_prefs,cache,databases等目錄和文件保留在/ data/data/package_name下的/ data分區中。

我在運行Bugless Beast 0.6.2.1的根植Moto Droid 1上進行了檢查。

僅供參考,服務將從已移至SD卡的應用程序正常運行。轉移到SD卡的唯一問題是,當SD卡卸載時,您的應用程序(及其服務)將無法運行。

+0

謝謝!因此,我現在要輸入另一個問題,看看如何檢測到我已經「被迫移動」;我認爲標準的API 8標誌可能無法通過一些固定的電話/光盤正確設置 – Yossi 2011-05-23 18:17:15