我们在应用程序中遇到了android SharedPreferences的问题。我们的应用程序是cordova应用程序。我们在SharedPreferences中存储的数据很少。例如,存储userid,最后访问的页面html内容,几个json值。 以下是用于管理共享偏好的代码示例(get / set / remove)。
//get
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(cordova.getActivity());
Object obj = sharedPrefs.getAll().get(key);
//remove
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(cordova.getActivity());
if (sharedPrefs.contains(key)) {
Editor editor = sharedPrefs.edit();
editor.remove(key);
}
//store
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(cordova.getActivity());
Editor editor = sharedPrefs.edit();
editor.putString(key, value);
editor.commit();
存储检索删除一切正常的工作。我们面临的问题是,数据不是以一致的方式持续存在。 例如,用户打开应用程序然后强制关闭应用程序,再次获取应用程序。共享首选项中的所有数据都将保留。但当他第二次强制关闭并再次返回应用程序时,将删除共享首选项中的数据。我也找不到logcat中的任何日志。任何帮助将不胜感激。