实现定期使用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);
}
}
所以我认为我可以在服务中实现相同的功能,但我不知道如何在服务中实现这个重复任务,并在新线程中运行它。我发现很少有答案证明在服务的新线程中运行重复任务的不同方法,但我很困惑。
有人可以建议某种方式在服务中实现相同的方法吗?这将是非常有帮助的。提前谢谢。