我如何获得一个Android服务广播每隔几秒钟的意图是什么? [英] How do I get an Android service to broadcast an intent every few seconds?
问题描述
如果我创建了一个服务,我怎么得到它播出的意图每X秒?我记得沿线看到code的片段
If I've created a service, how do I get it to broadcast an intent every X seconds? I remember seeing a snippet of code along the lines
startThreadDelayed( new Thread() {
public void run() {
doStuff();
sendBroadcast(messageIntent);
startThreadDelayed(this, 1000);
}
}, 1000);
可惜的是我不知道任何类名,或者确切的方法名,无论是循环的。只是一个名字就点我的寻找正确的方向。
Unfortunatelly I'm not sure of either the class name, or the exact method name, for whatever is looping. Just a name would point me in the right direction of searching.
推荐答案
您可以使用 Handler.postDelayed
。 <一href=\"http://developer.android.com/reference/android/os/Handler.html#postDelayed%28java.lang.Runnable,%20long%29\"相对=nofollow>这里的文档。
例如
Handler h = new Handler();
YourClass yourRunnable = new YourClass();
h.postDelayed(youRunnable,1000);
public class YourClass implements Runnable{
public void run(){
doStuff();
sendBroadcast(messageIntent);
if(running)
h.postDelayed(youRunnable,1000);
}
跑这里是一个标志,较好地保持它作为挥发性布尔值。因此,通过改变它的价值,你可以停止repeatition。
here running is a flag better keep it as volatile boolean. So that by changing it's value you can stop the repeatition.
这篇关于我如何获得一个Android服务广播每隔几秒钟的意图是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!