【发布时间】:2018-05-31 10:39:38
【问题描述】:
我有一个较早的帖子UWP C# Windows 10 IoT Alarm Clock,我目前正在改用Appointment。
我有一个添加约会的对话框。当我在 rasp pi 上运行时,它似乎没有保存约会并触发它。
请指教。
我也希望能够在约会触发时触发外部输出引脚。
private async void Save_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
{
var appointment = new Windows.ApplicationModel.Appointments.Appointment();
var recurrence = new Windows.ApplicationModel.Appointments.AppointmentRecurrence();
var scheduleTime = TimePicker.Time;
var timeZoneOffset = TimeZoneInfo.Local.GetUtcOffset(DateTime.Now);
var startTime = new DateTimeOffset(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, scheduleTime.Hours, scheduleTime.Minutes, 0, timeZoneOffset);
appointment.StartTime = startTime;
appointment.Subject = "Schedule Timer";
appointment.Duration = TimeSpan.FromMinutes(5);
if(dailyAlarm.IsOn == true)
{
recurrence.Unit = Windows.ApplicationModel.Appointments.AppointmentRecurrenceUnit.Daily;
} else
{
if (setMonday.IsChecked == true) { recurrence.DaysOfWeek |= Windows.ApplicationModel.Appointments.AppointmentDaysOfWeek.Monday; }
if (setTuesday.IsChecked == true) { recurrence.DaysOfWeek |= Windows.ApplicationModel.Appointments.AppointmentDaysOfWeek.Tuesday; }
if (setWednesday.IsChecked == true) { recurrence.DaysOfWeek |= Windows.ApplicationModel.Appointments.AppointmentDaysOfWeek.Wednesday; }
if (setThursday.IsChecked == true) { recurrence.DaysOfWeek |= Windows.ApplicationModel.Appointments.AppointmentDaysOfWeek.Thursday; }
if (setFriday.IsChecked == true) { recurrence.DaysOfWeek |= Windows.ApplicationModel.Appointments.AppointmentDaysOfWeek.Friday; }
if (setSaturdayday.IsChecked == true) { recurrence.DaysOfWeek |= Windows.ApplicationModel.Appointments.AppointmentDaysOfWeek.Saturday; }
if (setSunday.IsChecked == true) { recurrence.DaysOfWeek |= Windows.ApplicationModel.Appointments.AppointmentDaysOfWeek.Sunday; }
}
string appointmentId = await AppointmentManager.ShowAddAppointmentAsync(appointment, rect, Windows.UI.Popups.Placement.Default);
}
【问题讨论】:
-
你提到在树莓派上运行时,无法保存约会并触发。这意味着当在其他硬件上运行时,它确实保存约会并触发它。是这样吗?另外,您是否具有
Package.appxmanifest中指定的“约会”功能? -
嗨@Naikrovek 我添加了“约会”功能。我设置了约会,它没有触发。我不确定我是否做得对。我有点迷路了。
-
我记错了,但我相信约会保存与 Microsoft 帐户相关联?我会进一步调查。
-
@mylim 当您说保存在另一台计算机上工作时,您是指您正在调试的本地计算机吗?我认为物联网核心可能不包含存储日历约会的正确系统,因为该数据实际上已同步到用户的帐户。由于 Windows 上的 UWP 存在命名空间,但我找不到建议您不能将此命名空间与 Iot Core 一起使用的文档。也许在他们的 github 上发布一个问题,github.com/MicrosoftDocs/windows-iotcore-docs。
-
如果约会不起作用,为什么不创建一个更简单的数据结构并将该信息以 JSON 格式存储在可以轻松再次加载的文件中?
标签: c# uwp raspberry-pi3 windows-10-iot-core appointment