Nathan
Nathan

Reputation: 95

How do I prevent my CountDownTimer from running in background?

I am making an Android app that has a time limit to the amount of points you can get. But if you close the app, the timer keeps going. How do I pause the CountDownTimer when the app pauses?

Upvotes: 3

Views: 1381

Answers (1)

codeMagic
codeMagic

Reputation: 44571

You can cancel it in onPause() with something like

@Override
public void onPause()
{
    super.onPause();
    timer.cancel();    // timer is a reference to my inner CountDownTimer class
    timer = null;
}

And use the millisUntilFinished variable to save in a SharedPreference or some other persistent variable. Then use that variable again to start the timer in onResume()

Shared Prefs

This answer may be helpful if you need to pass the value to another Activity.

Upvotes: 5

Related Questions