android Service一直运行一个程序
public int onStartCommand(Intent intent, int flags, int startId) {
while (1>0) {
try {
Thread.sleep(4000);
Log.i("log", "onstart");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return super.onStartCommand(intent, flags, startId);
}
请问我想让一个后台servie 一值运行这个 那我在 这个方法里写这个 但是他报错。。。说return super.onStartCommand(intent, flags, startId);
代码一直不会运行 ,我像问我如何 实现一致运行 这个程序的目的呢
[解决办法]
楼主是这个意思。。。?
public int onStartCommand(Intent intent, int flags, int startId) { if(true){ //加个这个,能编过。。。 while (1>0) { try { Thread.sleep(4000); Log.i("log", "onstart"); } catch (InterruptedException e) { e.printStackTrace(); } } } return super.onStartCommand(intent, flags, startId); }
[解决办法]
主线程回调必须5秒内返回,另建一个线程处理这种东西。
另外Android上sleep貌似靠不住,长时间运行恐怕得用Alarm
[解决办法]
service也不能做超时的操作。。。你这个可以用定时器干。timer和timertask
[解决办法]