Android应用程序中的自动注销功能

Android应用程序中的自动注销功能,android,logout,session-timeout,Android,Logout,Session Timeout,我正在构建一个原生android应用程序,我希望用户在一段不活动时间(比如5分钟)后自动注销(会话超时) 它是一个独立的应用程序,应用程序中有多个屏幕。我没有与服务器维护任何用户会话 p.S:我找到了一个可行的解决方案。但这只适用于单个活动应用程序。有人能为多活动应用程序提供类似的解决方案吗?好的,那么作为对您发布的链接的回应,为什么不采用这种方法,创建某种抽象的基本活动,让您的所有其他活动都能扩展。因此,本质上,您是在为每个活动添加超时,但您的基本活动将处理此问题,您的子活动不需要知道发生了什

我正在构建一个原生android应用程序,我希望用户在一段不活动时间(比如5分钟)后自动注销(会话超时)

它是一个独立的应用程序,应用程序中有多个屏幕。我没有与服务器维护任何用户会话


p.S:我找到了一个可行的解决方案。但这只适用于单个活动应用程序。有人能为多活动应用程序提供类似的解决方案吗?

好的,那么作为对您发布的链接的回应,为什么不采用这种方法,创建某种抽象的基本活动,让您的所有其他活动都能扩展。因此,本质上,您是在为每个活动添加超时,但您的基本活动将处理此问题,您的子活动不需要知道发生了什么。

更多详细信息将帮助人们回答此问题。。他们在登录什么?是否涉及网络请求?一个简单的解决方案是,只需将时间戳存储在某个您检查是否过期的地方,您可以在onPause中写入时间戳,然后在Resume中签入,这样您的整个应用程序都可以访问它。@Theblacknight我正在调用REST web服务,以便在登录期间对用户进行身份验证。除此之外,在各种屏幕中还有更多的web服务调用来检索/存储某些信息。但是,这是一个独立的应用程序&我不维护任何用户会话。
public class LogoutService extends Service {
    public static CountDownTimer timer;
@Override
public void onCreate(){
    // TODO Auto-generated method stub
    super.onCreate();
      timer = new CountDownTimer(1 *60 * 1000, 1000) {
            public void onTick(long millisUntilFinished) {
               //Some code
                Log.v(Constants.TAG, "Service Started");
            }

            public void onFinish() {
                Log.v(Constants.TAG, "Call Logout by Service");
                // Code for Logout
                stopSelf();
            }
         };
}
@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
 }
 }
And then Add the below code in every activity.

@Override
 protected void onResume() {
// TODO Auto-generated method stub
super.onResume();

LogoutService.timer.start();
}

@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
LogoutService.timer.cancel();
}