2016-09-27 63 views
0

我想最好的办法是实施这种行为是什么:计划执行代码在未来

我有一个事件X与时有发生时间的ID。 如果发生了某个特定ID的事件,我想在25秒后执行一些代码,除非再次发生具有相同ID的X,在这种情况下,我希望它以25秒的时间再次推迟。

实现此目的的最佳方法是什么?

+0

我个人更喜欢'Handler' – Shaishav

回答

0

下面介绍如何使用简单的处理程序来延迟运行25秒。这取决于你如何筛选某些ID。

Handler handler = new Handler(); 

    public void myEvent() { 

     // Remove any callback that may be registered, this will reset it if called before 
     handler.removeCallbacks(runMe); 
     // Execute the runnable in 25 seconds 
     handler.postDelayed(runMe, 25000); 
    } 
    Runnable runMe = new Runnable() { 

     @Override 
     public void run() { 
     // This will run after the postDelayed expires in 25 seconds 
     Log.d("TAG", "Run me at some time"); 
     } 
    };