计时器无法在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

我的计时器在android服务中不工作。该服务可以发送第一条消息,但不会在每个计时器间隔内发送消息

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()
启动该服务。你是怎么开始的?