3

我正在使用 Visual Studio 2012 和Target Windows Phone OS Version设置为Windows Phone OS 7.1. 模式是 Debug 并且为了测试我使用的是 SDK 附带的“Emulator 7.8”(与“Emulator 7.1”和 WP8 模拟器甚至在我的 WP7.8 设备上的结果相同)。

我的代码如下:

#if DEBUG
      public void Test()
      {
         if (ScheduledActionService.Find(ReminderName) != null) {
            try {
               ScheduledActionService.LaunchForTest(ReminderName,
                                                    TimeSpan.FromSeconds(1));
            } catch (NotSupportedException e) {
               System.Diagnostics.Debug.WriteLine(e.Message);
               System.Diagnostics.Debug.WriteLine(e.ToString());
            }
         } else {
            MessageBox.Show("No scheduled notification has been installed");
         }
      }
#endif

通过按钮调用此方法后,我得到以下调试输出:

A first chance exception of type 'System.NotSupportedException' occurred in
Microsoft.Phone.dll LaunchForTest is not supported
System.NotSupportedException: LaunchForTest is not supported
at Microsoft.Phone.Scheduler.ScheduledActionService.LaunchForTest(String name, TimeSpan delay)
at RingReminder.Control.RingAgent.Test()

我在这里不知所措,因为ScheduledActionService.LaunchForTest方法声明: Windows Phone OS | Supported in: 8.0, 7.1

在 SO 或 Google 上搜索这个问题也没有提出任何问题。

谢谢你的帮助

4

1 回答 1

2

ReminderName听起来像是Reminder类型。该类Reminder派生自ScheduledNotification类,而不是ScheduledTask类。当提供的对象不是对象时NotSupportedException,在方法中抛出。这就是为什么您可能会收到异常,因为该对象不是 type 。LaunchForTestScheduledTaskReminderScheduledTask

于 2013-04-06T13:12:53.490 回答