如何让Handler一起停止服务
服务:
int delay = 10000;
new Handler().postDelayed(new Runnable() {
public void run(){
//Do Something every 10 seconds
new Handler().postDelayed(this, delay);
}
}, delay);
...
public void onDestroy() {
// TODO: Implement this method
super.onDestroy();
stopSelf();
}
在Activity中,我调用stopService,此Handler继续运行。
答案 0 :(得分:1)
按以下方式修改处理程序:添加一个布尔标志,您将设置为' false'当你需要停止处理程序时。在runnable中,添加以下内容:
int delay = 10000;
static boolean running = true;
new Handler().postDelayed(new Runnable() {
public void run(){
if (running) {
new Handler().postDelayed(this, delay);
}
}
}, delay);
public void onDestroy() {
super.onDestroy();
stopSelf();
running = false;
}
根本不会重新开始。