How to delay some action in Android so that a task completes after a set Delay?

4.4k Views Asked by At

I am trying to develop an app in Android which has a few actions that need to be executed after a set period of time.

Anything which I can do to fulfil this?

3

There are 3 best solutions below

0
On BEST ANSWER

If you're using java to code in android Studio then I suggest you to use the Handler, that will execute your action after a determined span of time

In your activity's onCreate method do this:

 int any_delay_in_ms = 1000; //1Second interval
    new Handler().postDelayed(() -> {
        //TODO Perform your action here
    }, any_delay_in_ms);
1
On

If you don't use libraries, then handler will be enough

Handler().postDelayed({
   // do smth after delay
}, 1000)
0
On

All the answer are correct but initiating handler like below is deprecated.

new Handler()

You need to provide a looper to the handler object. So use below snippet:

Handler(Looper.getMainLooper()).postDelayed({
   // do something
}, 1000)

Looper.getMainLooper() will ensure that code written in that block runs on UI thread.

More details in my other answer: How to handle deprecated Handler in android