6

我将 SharedPreferences xml 文件从文件备份到 SD 卡

File taskExceptionFile = new File(Environment.getDataDirectory()
                + "/data/" + packageName + "/shared_prefs/" + TaskAction.SHARED_PREF_TITLE_TASK_EXCEPTION + ".xml");

但是,当我恢复文件时,如果文件已被

SharedPreferences sp = context.getSharedPreferences(TaskAction.SHARED_PREF_TITLE_TASK_EXCEPTION, 0);

恢复前SharedPreferences好像有缓存,恢复后我用Root Explorer查看文件,确实是备份文件中的值,但是当我使用

sp.getInt(TaskAction.SHARED_PREF_TASK, 0)

要获取该值,该值不是备份文件中的新值,它返回默认值 0。我强制停止我的应用程序,然后重新进入我的应用程序,这些值是新值。

所以,我想问一下如何在恢复文件的时候立即刷新SharedPreferences,这样才能得到新的值?

对不起我的英语不好~~~

4

0 回答 0