在Xamarin.Android中只使用TimePicker设置AlarmManager,闹钟立即开始。
在Xamarin.Android中只使用TimePicker设置AlarmManager,闹钟立即开始。
这个问题已经有了答案:
我在尝试只使用时间选择器设置一个精确闹钟时遇到了麻烦。
我使用了一个处理程序来设置时间选择器,如下所示:
时间选择器
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 时间,你能帮我吗?
我已经阅读了许多类似的主题,比如我正在尝试使用闹钟管理器在特定时间设置闹钟,但闹钟会立即启动? 和 从日期选择器和时间选择器设置 AlarmManager
非常感谢。
admin 更改状态以发布 2023年5月21日