我正在创建一个Android应用程序,我已经为其创建了登录页面和主页。我想在登录页面中实现“保持登录状态”功能。我尝试this但仍然无法很好地得到结果。我想我在订购代码时遇到了问题。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
SharedPreferences settings1 = getSharedPreferences(PREFS_NAME, 0);
isChecked= settings1.getBoolean("isChecked", false);
if (isChecked) {
Intent rememberMe = new Intent(LoginPage.this, HomePageActivity.class);
startActivity(rememberMe);
} else {
setContentView(R.layout.activity_login_page);
}
// Retrieving SharedPreferences
sharedPreferences = this.getPreferences(Context.MODE_PRIVATE);
// Retrieving editor
editor = sharedPreferences.edit();
rememberMeCB.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
SharedPreferences settings = getSharedPreferences(PREFS_NAME,
0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("isChecked", isChecked);
editor.commit();
}
});
答案 0 :(得分:0)
用户打开应用后,检查共享首选项是否包含用户详细信息密钥。如果用户选择让我登录,则存储密钥。
protected void onCreate(Bundle savedInstanceState) {
shrd=getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE);
if(shrd.contains("username")==true && shrd.contains("password")==true)
{
Intent in=new Intent(LoginScreen.this,MainActivity.class);
startActivity(in);
finish();
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_screen);