如果我创建了一个服务,如何让它每 X 秒广播一次意图?我记得看到过一段代码
startThreadDelayed( new Thread() {
public void run() {
doStuff();
sendBroadcast(messageIntent);
startThreadDelayed(this, 1000);
}
}, 1000);
不幸的是,我不确定循环的类名或确切的方法名。只需一个名字就能为我指明正确的搜索方向。
您可以使用Handler.postDelayed
. 这是文档。 http://developer.android.com/reference/android/os/Handler.html#postDelayed%28java.lang.Runnable,%20long%29
例如
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);
}
这里的 running 是一个标志,最好将其保留为易失性布尔值。因此,通过更改它的值,您可以停止重复。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)