2
사용자가 지정한 시간에 매일 실행되도록 서비스를 예약하려고합니다. 나는 timepicker를 사용하여 서비스가 실행되는 시간대를 사용자가 제어 할 수 있도록합니다.MonoDroid - 알람 관리자를 사용하는 일일 예약 서비스?
사용자가 서비스 실행 시간을 변경할 때마다 알람 관리자를 업데이트하고 있습니다. 코드 내 테스트에서 혼합 된 결과를 가지고있는 것처럼 서비스가 제대로 실행되도록 예약하면 내가 100 % 확신
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);
}
:
다음은이 작업을 수행하려면 코드입니다.문제는 내가 지금 위의 코드로 실행되도록 서비스를 다시 스케줄 할 때마다 서비스가 즉시 시작된다는 것입니다 ... 나는 구성된 시간까지 서비스를 시작하고 싶지 않습니다. 일.
알람 관리자로 서비스를 예약 할 때 서비스를 즉시 실행하지 않고 지정된 시간에 서비스가 실행되도록 예약하고 업데이트하려면 어떻게합니까?