我正在尝试通过UI活动按钮启动Android服务。
要启动我使用的服务:
StartService()
要停止我使用的服务:
StopService()
在服务onStartCommand()中,我放了以下循环
for (int i = 0; i < 100 ; i++)
{
Thread.sleep(500);
System.out.println("Wake up and running :" + i);
}
在for循环运行时尝试停止服务时出错。即使正在运行,是否可以停止正在运行的服务?
答案 0 :(得分:0)
你应该控制for循环。
声明一个布尔标志。
boolean flag = true;
像这样更改你的for循环。
for (int i = 0; i < 100 ; i++)
{
if(flag==true){
Thread.sleep(500);
System.out.println("Wake up and running :" + i);
}else{
break;
}
}
在你的onDestroy()方法中,将标志设为false,这样for循环就会中断,服务就会停止。
@Override
public void onDestroy() {
flag=false;
super.onDestroy();
}