secret secret - 4 months ago 7
Java Question

How to stop the timer after certain time?

I have an android application which has a timer to run a task:

time2.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
sendSamples();
}
}, sampling_interval, sending_interval);


Lets say sampling_interval is 2000 and sending_interval is 4000.

So in this application I send some reading values from a sensor to the server. But I want to stop the sending after 10000 (10 seconds).

What should I do?

Answer

try

        time2.scheduleAtFixedRate(new TimerTask() {
            long t0 = System.currentTimeMillis();
            @Override
            public void run() {
              if (System.currentTimeMillis() - t0 > 10 * 1000) {
                  cancel();
              } else {
                  sendSamples();
              }
            }
...
Comments