计时器无法在Android服务中运行
我的计时器在android服务中不工作。该服务可以发送第一条消息,但不会在每个计时器间隔内发送消息计时器无法在Android服务中运行,android,timer,Android,Timer,我的计时器在android服务中不工作。该服务可以发送第一条消息,但不会在每个计时器间隔内发送消息 public class AutoStartUp extends Service { Timer timer; TimerTask timerTask; final Handler handler = new Handler(); @Override public IBinder onBind(Intent intent) { return
public class AutoStartUp extends Service
{
Timer timer;
TimerTask timerTask;
final Handler handler = new Handler();
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
startTimer();
}
public void startTimer()
{
timer = new Timer();
initializeTimerTask();
timer.schedule(timerTask, 5000, 10000); //
}
public void initializeTimerTask() {
timerTask = new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd:MMMM:yyyy HH:mm:ss a");
final String strDate = simpleDateFormat.format(calendar.getTime());
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(getApplicationContext(), strDate, duration);
toast.show();
}
});
}
};
}
}
我收到了toast中启动的服务。我复制了您的代码并在棒棒糖设备上运行。它产生周期性的祝酒。使用toast或log消息向代码中添加
onDestroy()
,查看是否有什么原因导致您的服务被终止。兄弟,如果不是服务,代码工作正常。。您是否将其作为服务运行并在后台运行?是的,它作为服务运行。我复制了你的代码,没有修改。我将应用程序放在后台,它仍在运行。您使用的是什么类型的设备和API级别?不知道建议什么。只需在带有API 23的Moto X上以服务的形式运行您的代码,当应用程序位于前台和后台时,它会定期生成祝酒词。我正在使用Context.startService()
启动该服务。你是怎么开始的?