我正在为Windows Phone OS 7.1创建一个应用程序来了解这个平台。在创建警报应用程序时,我遇到了这个奇怪的错误:当我使用ScheduledActionService.Add(myAlarm)设置警报时,警报永远不会在所选时间关闭。我设置beginTime =现在+ 10秒,然后我等了2分钟,没有运气。但是,当我在运行时添加另一个警报时,在最后一个警报的选定时间之后,最后一个警报将会熄灭。
以下是我的createAlarm函数的代码。我做了一些搜索,但没有找到解决方案。
private void createAlarm(double time, string message)
{
var myAlarm = new Alarm(System.Guid.NewGuid().ToString())
{
Content = message,
BeginTime = DateTime.Now.AddSeconds(time),
ExpirationTime = DateTime.Now.AddSeconds(time + 10.0)
};
myAlarm.Sound = new Uri("/Sounds/02 Ha Trang.mp3", UriKind.Relative);
myAlarm.RecurrenceType = RecurrenceInterval.None;
ScheduledActionService.Add(myAlarm);
}
答案 0 :(得分:1)
这是一个已知问题。警报以30秒的准确度发出。提醒也是如此。实际上,您可能会获得准确的结果,但总体而言,频繁发出警报或提醒是不可靠的。缺乏准确性可能是为了保持较低的资源消耗。 (请记住,警报在后台运行。)设置第二个警报时会触发第一个警报,因为系统突然“意识到”警报已经过期。将这些人分开至少一分钟是个好习惯。
另一方面,如果你真的需要在很短的间隔内发出哔哔声,你将不得不使用更像“前景”的东西,比如计时器。