Android 仅在定期定时之间[晚上9:00到上午12:00]安排服务n次
我已经创建了服务Android 仅在定期定时之间[晚上9:00到上午12:00]安排服务n次,android,android-service,android-alarms,Android,Android Service,Android Alarms,我已经创建了服务UploadData,它在启动同步事件时触发。在那里添加了代码,以安排每天晚上9:00运行的服务,间隔1小时,运行非常好 ServiceAlarm.startServiceAlarm(); 代码段: public class ServiceAlarm { public static AlarmManager alarmMgr; public static PendingIntent alarmIntent; static Context context; public sta
UploadData
,它在启动同步事件时触发。在那里添加了代码,以安排每天晚上9:00运行的服务,间隔1小时,运行非常好
ServiceAlarm.startServiceAlarm();
代码段:
public class ServiceAlarm {
public static AlarmManager alarmMgr;
public static PendingIntent alarmIntent;
static Context context;
public static void startServiceAlarm()
{
context = MyApplication.getApplication();
alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(SmartConsultant.getApplication(), UploadData.class);
alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
// Set the alarm to start at 9:00 a.m.
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 21);
calendar.set(Calendar.MINUTE, 00);
alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_HOUR, alarmIntent);
Log.i("Service", "Service Started!");
}
public static void stopServiceAlarm()
{
alarmMgr.cancel(alarmIntent);
}
}
但我希望这些服务在凌晨12:00后关闭[它必须在晚上9:00到凌晨12:00之间一天只运行三次]
如何在12:00停止相同的服务?我认为没有具体的方法来安排停止时间。我想说,对于您的具体情况,最好的办法是更改服务呼叫的设置。让报警管理器在9点点火。然后,当你收到警报时,检查时间,如果离午夜还有一个小时,则触发另一个警报 谢谢你的确认。我已经触发了另一个警报,取消了前一个警报。但仍然没有测试它。为此我祈祷。