Я пытаюсь запланировать обслуживание, которое будет выполняться ежедневно в указанное пользователем время. Я использую timepicker, чтобы дать пользователю возможность контролировать, какое время суток служба запускается.MonoDroid - Ежедневное плановое обслуживание с помощью диспетчера аварийных сигналов?
Каждый раз, когда пользователь меняет время запуска службы, я обновляю диспетчер аварийных сообщений.
Вот мой код, чтобы сделать это:
void RescheduleOpeningRatesRetriever (string strTime)
{
var i = new Intent (this.ApplicationContext, typeof (OpenRatesService));
var src = PendingIntent.GetService (this.ApplicationContext, 0, i, PendingIntentFlags.UpdateCurrent);
var am = (AlarmManager)this.ApplicationContext.GetSystemService (Context.AlarmService);
var hour = TimePickerPreference.GetHour (strTime);
var minute = TimePickerPreference.GetMinute (strTime);
var cal = Java.Util.Calendar.GetInstance (Java.Util.TimeZone.Default);
cal.Set (Java.Util.CalendarField.HourOfDay, hour);
cal.Set (Java.Util.CalendarField.Minute, minute);
am.SetRepeating (AlarmType.RtcWakeup, cal.TimeInMillis, AlarmManager.IntervalDay, src);
}
Я не 100% уверен, что если код планирования службы, чтобы работать должным образом, как я имел неоднозначные результаты из моих тестов.
Проблема, с которой я столкнулся сейчас, - это каждый раз, когда я перепланирую службу для запуска с указанным выше кодом, служба запускается мгновенно .... Я не хочу запускать службу до тех пор, пока настроенное время день.
Как я могу запланировать и обновить службу для запуска в указанное время суток без немедленного запуска службы при планировании ее с помощью диспетчера аварийных сигналов?