android – 当应用程序强制关闭或设备重新启动时,共享首选项重置数据

android – 当应用程序强制关闭或设备重新启动时,共享首选项重置数据,第1张

概述我正在开发一个应用程序,我在其中存储用户名和密码在SharedPreferences中.所有的东西都适合我,存储以及检索值.但我发现当我重启设备或强制关闭app时,SharedPreferences中存储的值会被重置.当我再次启动我的应用程序时,我在SharedPreferences键中获得空值.在这里,我正在做什么来存储值: SharedPreferences emailLoginSP;em 我正在开发一个应用程序,我在其中存储用户名和密码在SharedPreferences中.所有的东西都适合我,存储以及检索值.但我发现当我重启设备或强制关闭app时,SharedPreferences中存储的值会被重置.当我再次启动我的应用程序时,我在SharedPreferences键中获得空值.在这里,我正在做什么来存储值:
SharedPreferences emailLoginSP;emailLoginSP = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());emailLoginSP.edit().putString("prefEmailID",email_text).commit();emailLoginSP.edit().putString("prefUserID",userIDToken).commit();emailLoginSP.edit().putString("prefAccess_token",accesstoken).commit();Intent i = new Intent(LoginWithEmail.this,UserInfoActivity.class);i.putExtra("acess_token",accesstoken);i.putExtra("user_ID",userIDToken);i.putExtra("emailID",email_text);startActivity(i);

而且,这就是我正在重温它的方式:

SharedPreferences emailLoginSP = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());loginEmail = emailLoginSP.getString("prefEmailID",null);loginUserID = emailLoginSP.getString("prefUserID",null);loginAccesstoken = emailLoginSP.getString("prefAccess_token",null);

到目前为止,所有的事情都很好.
我再次说明我的问题,当我强制关闭或重启我的设备时,我得到空值.我们可以将它永久存储在应用程序内存中吗?或者,我在这里做错了什么?

任何帮助将不胜感激.

解决方法 我有一个登录屏幕,希望应用程序看起来好像在应用程序关闭/销毁/电话呼叫等后仍然在内部屏幕上“登录”.

我有一个首选项对象来保存登录或注册后的值.我在所有关键屏幕onResume()方法中读取了首选项值.

登录后(例如):

SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(activity);SharedPreferences.Editor editor = app_preferences.edit();editor.putString("sessionID",application.currentSessionID);editor.putString("userID",application.currentUserID);editor.putString("userEmail",application.currentUserEmail);editor.putString("siteUserID",application.currentSiteUserID);editor.commit();

在活动的onResume()内:
(即在内部屏幕内)

SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(activity);application.currentSessionID = app_preferences.getString("sessionID","");application.currentUserID = app_preferences.getString("userID","");application.currentUserEmail = app_preferences.getString("userEmail","");application.currentSiteUserID = app_preferences.getString("siteUserID","");

注意.我有应用程序“全局”变量,即application.currentSessionID,你可以只替换你的变量

尝试类似的东西,也许你没有保存或正确检索值,因为SharePreferences应该工作

总结

以上是内存溢出为你收集整理的android – 当应用程序强制关闭或设备重新启动时,共享首选项重置数据全部内容,希望文章能够帮你解决android – 当应用程序强制关闭或设备重新启动时,共享首选项重置数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1137037.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存