在android中,会话超时并在几个小时后自动从应用程序注销

在android中,会话超时并在几个小时后自动从应用程序注销,android,session,Android,Session,我是Android应用程序开发新手。我有一个小问题。如果点击“主页”按钮,我的Android应用程序会在一段时间后再次进入后台,如果进入“主页”并单击我的应用程序图标,它会再次从我上次查看的活动开始(屏幕)。到目前为止,它还可以,而不是上次查看的屏幕,在这里我想自动注销,它应该显示这样的消息“您的会话超时,请再次登录”或重定向到登录页面“然后检查凭据并允许用户继续相同的应用程序。我通过使用共享首选项在整个应用程序中维护所有用户凭据,即电子邮件、用户名、密码和用户id。如果应用程序在安卓系统中处于

我是Android应用程序开发新手。我有一个小问题。如果点击“主页”按钮,我的Android应用程序会在一段时间后再次进入后台,如果进入“主页”并单击我的应用程序图标,它会再次从我上次查看的
活动开始(屏幕)。到目前为止,它还可以,而不是上次查看的屏幕,在这里我想自动注销,它应该显示这样的消息“您的会话超时,请再次登录”或重定向到登录页面“然后检查凭据并允许用户继续相同的应用程序。我通过使用共享首选项在整个应用程序中维护所有用户凭据,即电子邮件、用户名、密码和用户id。如果应用程序在安卓系统中处于后台,或者如果应用程序未被用户使用,或者在某段时间内处于非活动状态,如何在几个小时后自动从应用程序注销??


等待你的建议

在android中使用可自动检查asynctask中的会话,并以
毫秒为单位指定特定时间
破坏用户会话,并在
Toast中显示超时消息
您可以尝试此方法,它可能会对您有所帮助

1.这是一种方式:

public boolean onKeyDown(int keyCode, KeyEvent event) {

         if(keyCode == KeyEvent.KEYCODE_HOME)
         {
          Intent intent = new Intent(Intent.ACTION_MAIN);
          intent.addCategory(Intent.CATEGORY_HOME);
          intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
          startActivity(intent);  
          return true;
          }
 return false;
};

2.另一种方法:你可以使用onStop()方法。当按下Home(主页)按钮时,它将被调用。在这种情况下,你可以自己动手。

我想你没有理解我。。如果我设置了特定的时间,如果用户正在使用应用程序并且完成了时间,应用程序将注销。但是我的问题是,如果它处于非活动状态或者如果用户没有使用它,那么用户应该在几次之后才注销,或者您必须在WebService中处理它。我想在active not onStop()中自动注销下面的代码真的很适合我,请尝试让我知道@重写受保护的void onStop(){//TODO自动生成的方法存根Intent Intent=new Intent(Intent.ACTION_MAIN);Intent.addCategory(Intent.CATEGORY_HOME);Intent.setFlags(Intent.FLAG_ACTIVITY_new_TASK);startActivity(Intent);finish();super.onStop();}请阅读我的问题并再次发表评论。。我想在理想情况下注销我的活动,而不是停止。谢谢你的建议:)事实上,如果我使用你的代码,它会在每次活动更改时完成应用程序。我不要这个。。我想知道应用程序是理想状态还是处于非活动状态,而不是它应该完成的状态:(抱歉..!当您只有一个活动时,它会工作。您能参考一下吗?知道如何使用表示令牌及其验证时间的静态数据成员吗?请在onResume()中检查令牌如果令牌丢失或过期,请将用户重定向到登录活动…?您找到解决方案了吗?是的。我找到了实现此要求的方法:)@subha。。如果你有办法,那就和我一起分享。。。