In my method, I want to call another method that will run 1 second later. This is what I have.
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
There are several alternatives. But here is Android specific one.
If you thread is using Looper
(and Normally all Activity
's, BroadcastRecevier
's and Service
's methods onCreate
, onReceive
, onDestroy
, etc. are called from such a thread), then you can use Handler
. Here is an example:
Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run()
{
myMethod();
}
}, 1000);
Note that you do not have to cancel anything here. This will be run only once on the same thread your Handler was created.