【问题标题】:Automatic logout of Android AppAndroid App 自动注销
【发布时间】:2023-03-10 21:12:01
【问题描述】:

我知道这个问题有几个答案,但它对我不起作用,目前我的代码是:

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(TAG, "Service Started");
            }

            public void onFinish() {
                Log.v(TAG, "Call Logout by Service");
                // Code for Logout
                stopSelf();
            }
        };
    }
    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }
}

在我的每一项活动中:

@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();
}

但是当我尝试启动时,我收到“无法恢复活动 java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.os.CountDownTimer android.os.CountDownTimer.start()'”我的任何包含此代码的活动。我的应用程序并不太复杂,它完全离线,所以没有网络服务调用或任何东西,我只需要在 x 分钟后回到我的登录活动。有人有什么想法吗?

这是我使用的:Auto logout after X minutes, Androidhttp://androidjug.blogspot.com/2015/10/auto-logout-after-15-minutes-due-to.html

【问题讨论】:

  • 首先启动你的服务
  • 如何启动服务以及在哪里启动?
  • 哦,好吧,我按照您的链接并在我的 onCreate 中使用了以下代码,但我仍然收到错误消息。知道为什么吗? startService(new Intent(this, LogoutService.class));

标签: java android


【解决方案1】:

您没有启动服务,因此您没有分配计时器。真的,您不应该为此使用静态。

【讨论】:

  • 我在 onCreate 中启动了该服务,但仍然遇到同样的错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多