实现定期轮询的Android服务

时间:2014-06-11 18:03:34

标签: android service handler runnable polling

实现定期使用SNMP轮询设备的Android服务(非IntentService)的最佳方法是什么?我尝试在IntentService的onHandleIntent中使用Handler.postDelayed(Runnable)实现它。但后来发现它不能用于onHandleIntent()这个答案。我的代码不会执行runnable部分。

make an IntentService not sleep until it executes a handler.postDelayed runnable

我的代码如下:

公共类MyPoller扩展了IntentService {

    //Variable declarations 
    protected Handler handler;
    public MyPoller() {
            super("My service");
    }

    @Override
    protected void onHandleIntent(Intent intent) {
            .......
            .......
            runable = new Runnable() { 
                public void run() {     
                    //My code here
                    handler.postDelayed(this, poll_interval);
                } 
            }; 
            handler.postDelayed(runable,poll_interval);
     }

}

所以我认为我可以在服务中实现相同的功能,但我不知道如何在服务中实现这个重复任务,并在新线程中运行它。我发现很少有答案证明在服务的新线程中运行重复任务的不同方法,但我很困惑。

有人可以建议某种方式在服务中实现相同的方法吗?这将是非常有帮助的。提前谢谢。

0 个答案:

没有答案