为什么 APP停留在启动页面

peter20091001 2016-03-13 04:36:08
功能需求:APP第一次登录(用户名+密码)后,只要用户不退出登录,之后用户打开APP就可以自动登录(用户名+token)。
我的实现逻辑:有三个Activity,分别是APP启动页面、登录页、登录后的主界面。如果登录成功,把用户名和token保存在手机本地,下次打开APP就用这两个参数自动登录。启动页面判断需要手动登录还是自动登录。如果本地没有保存token,或者自动登录失败,就跳到手动登录页面,如果自动登录成功,就直接跳转到APP主界面。
我相应地写了代码去实现这个功能。运行结果有时候可以正常运行,有时候打开APP一直停留在启动页面。
请问如何保证APP打开后不会停留在启动页面?
...全文
1551 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
peter20091001 2016-03-17
  • 打赏
  • 举报
回复
private SharedPreferences preferences; private SharedPreferences.Editor editor; @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub getWindow().requestFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); setContentView(R.layout.activity_start); autoLogin(); } private void autoLogin() { preferences = PreferenceManager.getDefaultSharedPreferences(this); editor = preferences.edit(); String name = preferences.getString("name", ""); String id = preferences.getString("shenFenId", ""); String tel = preferences.getString("tel", ""); if(!name.equals("") && !id.equals("") && !tel.equals("")) { final PersistentCookieStore myCookieStore = ((App)this.getApplication()).getCookieStore(); AsyncHttpManager.getAsyncHttpClient().setCookieStore(myCookieStore); RequestParams params = new RequestParams(); params.put("name", name); params.put("shenFenId", id); params.put("tel", tel); AsyncHttpManager.getAsyncHttpClient().post(Constants.LOGIN, params, new JsonHttpResponseHandler(){ public void onSuccess(JSONObject arg0) { System.out.println(arg0.toString()); try{ int code = arg0.getInt("code"); if(code == 1) { startActivity(new Intent(StartActivity.this,MainActivity.class)); finish(); } } catch(Exception e) { startActivity(new Intent(StartActivity.this,LoginActivity.class)); finish(); } } public void onFailure(Throwable arg0) { // 失败,调用 startActivity(new Intent(StartActivity.this,LoginActivity.class)); finish(); } public void onFinish() { // 完成后调用,失败,成功,都要掉 } } ); } else { startActivity(new Intent(StartActivity.this,LoginActivity.class)); finish(); } }
画虎烂 2016-03-14
  • 打赏
  • 举报
回复
可能是你代码逻辑有问题吧,贴下代码看看
bdmh 2016-03-14
  • 打赏
  • 举报
回复
那必定是没有满足关闭启动页的条件,顺着这个思路,自己调试查每一步的运行结果

80,469

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧