我将 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,这样才能得到新的值?
对不起我的英语不好~~~