Android - 关于“记住我”功能的困惑

时间:2010-09-08 11:43:25

标签: android preferences

我读过这个问题: How do I implement a 'Remember me' function in an Android Activity?

我是第一次开发“登录”活动, 我也在哪里:

  1. 两个EditText:用户名,密码
  2. 一个checkbpx:记住我
  3. 一键:登录
  4. 如果用户点击登录按钮,那么用户名,密码应该在所有活动之间共享,我知道这可以使用SharedPreference实现。

    但是在“记住我”复选框,如果用户检查一次然后下次“登录”活动不应该出现,应该直接出现第二个活动,那么我应该做什么?

2 个答案:

答案 0 :(得分:2)

对于这个场景,我这样做在登录活动之前我有启动画面来检查登录活动是否启用了“记住密码”选项。

启动画面也是一个活动,它只有一个关于我的应用程序的精心设计的图像(如加载应用程序屏幕)。它的表演仅用了3秒钟。

this link

中的启动画面示例

答案 1 :(得分:1)

在您的登录活动的onCreate()方法中,在致电setContentView()之前,请选中'记住我'状态,如果确实如此,请致电startActivity()以打开下一个活动。类似的东西:

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  if(isRememberMeChecked()) {
    startActivity(intentForSecondActivity);
    return;
  }

  setContentView(R.layout.act_first);
  ....
  ...
  ..
  .

}

在这里,isRememberMeChecked()只是一个简单的方法,它根据Remember Me状态返回一个布尔值,比如我是否使用SharedPreferences来存储状态,那么我的方法将是:< / p>

private boolean isRememberMeChecked() {
  return sPref.getBoolean(C.REMEMBER_ME, false);
}