2010-09-08 49 views
0

我已经阅读了这个问题: How do I implement a 'Remember me' function in an Android Activity?Android的 - 混乱关于“记住我”的功能

我发展“登录”活动的第一次, 我在哪里还具有:

  1. 2的EditText:用户名,密码
  2. 一个checkbpx:记住我
  3. 一个按钮:登录

如果用户点击登录按钮然后用户名,​​密码应该在所有活动之间共享,我知道这可以使用SharedPreference实现。

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

+1

当启用“记住我”并且发生成功登录时,您只需在SharedPref中启用一个标志此事件的标志......并且必须保存用户名和密码(最好在某些加密的形式),以便登录可以完成。 – st0le 2010-09-08 12:07:19

+0

你好paresh ..你有解决方案吗?..如果是这样请与我分享.. – Vijaya 2011-07-02 05:31:55

回答

2

对于这种情况,我这样做之前登录活动我有启动画面来检查记录密码选项是否启用登录活动。

初始屏幕另外一个活动,只是一个设计良好的图像关于我的应用程序(如加载应用程序屏幕)。它的演出只需3秒钟。在this link

+0

好吧我有你的想法,它是确切的一个,但如果我没有启动画面和直接登录活动 – 2010-09-08 13:10:56

1

在您登录活动的onCreate()方法,

例如对于闪屏调用setContentView()检查之前,“记住我”的状态,如果这是真的,然后调用startActivity()打开下一个活动。喜欢的东西:

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

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

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

} 

这里,isRememberMeChecked()只是取决于记住状态的布尔值,说,如果我使用SharedPreferences存储状态返回一个简单的方法,那么我的方法是:

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