我尝试使用时间选取器设置精确报警时遇到问题。 我设置TimePicker像这样的处理程序:仅在Xamarin.Android中使用TimePicker设置AlarmManager,立即开始报警
TimePicker
TPBtn.Click += delegate
{
TimePickerDialog dialog = new TimePickerDialog(this, TimeSelectedListener, DateTime.Now.Hour, DateTime.Now.Minute, true);
dialog.Show();
};
private void TimeSelectedListener(object sender, TimePickerDialog.TimeSetEventArgs e)
{
hour = e.HourOfDay;
minute = e.Minute;
DateTime dtNow = DateTime.Now;
int DayOfMonth = dtNow.Day;
int Month = dtNow.Month;
int Year = dtNow.Year;
Calendar cl = Calendar.Instance;
cl.Set(Year, Month, DayOfMonth, hour, minute, 0);
AlarmManager am = (AlarmManager)this.GetSystemService(AlarmService);
Intent intent = new Intent(this, typeof(OneShotAlarm));
intent.AddFlags(ActivityFlags.NewTask);
var source = PendingIntent.GetBroadcast(this, 0, intent, 0);
am.SetExact(AlarmType.RtcWakeup, cl.TimeInMillis, source);
Toast.MakeText(this, "Set Today: " + cl.TimeInMillis, ToastLength.Short).Show();
}
不幸的是,这样的警报时,立即播放。 我也尝试使用am.SetAlarmClock,但我不知道如何使用RTC时间,你能帮助我吗?
我已经读了很多丝线犹如I am trying to set alarm on specific time using alarm manager but alarm intiated instantly?和Set AlarmManager from DatePicker and TimePicker
非常感谢。
Ohh对不起,我在复制/粘贴到线程期间删除了一行,我的日历设置如下:'cl.Set(Year,Month,DayOfMonth,hour,minute,0);' 火 –