我正在使用Visual Studio 2012和WP8 SDK编写Windows Phone应用程序,Target Windows Phone OS Version
设置为Windows Phone OS 7.1
。
模式是调试和测试我使用SDK发送“模拟器7.8”(与“模拟器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上搜索此问题也没有提出任何问题。
感谢您的帮助
答案 0 :(得分:2)
ReminderName
听起来像Reminder类型。 Reminder
类派生自ScheduledNotification类,而不是ScheduledTask类。当提供的对象不是NotSupportedException
对象时,LaunchForTest
方法会抛出ScheduledTask
。这就是您可能获得异常的原因,因为Reminder
对象不是ScheduledTask
类型。