在预定时间启动,停止和重复服务

时间:2015-02-13 09:30:12

标签: java android alarmmanager

我设法使用AlarmManager启动并重复服务。但是一旦服务在预定时间开始,我希望它在假设5小时后停止,然后在第二天再次重复相同的事情。

这方面的任何线索?

2 个答案:

答案 0 :(得分:0)

AlarmManager.cancel()方法不会停止服务...尝试这样。

当您的服务在服务的onCreate()中启动时()安排一个警报,该警报在5小时后触发广播。所以现在在广播接收器中使用context.stopSerVice()方法停止服务..

答案 1 :(得分:0)

我创建了一个处理程序,在5个小时后停止服务。这对我有用。

private boolean handler = new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        stopSelf();
        Log.e("DEMO:","Service Stopped");
    }
}, 5*60*60*1000);   

重复间隔始终为>服务运行时间。 现在,服务将在5小时后停止,AlarmManager将在24小时后再次启动。

希望它有意义并且是实现它的正确方法。