3

我正在为 windows phone OS 7.1 创建一个应用程序来了解这个平台。创建警报应用程序时,我遇到了这个奇怪的错误:当我使用 ScheduledActionService.Add(myAlarm) 设置警报时,警报永远不会在所选时间响起。我设置了 beginTime = now + 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);
    }
4

1 回答 1

1

这是一个已知问题。警报以 30 秒的精度响起。提醒的情况也是如此。有时您实际上可能会得到准确的结果,但总体而言,频繁发出警报或提醒并不可靠。缺乏准确性可能是为了保持低资源消耗。(记住,警报在后台工作。)第一个警报在设置第二个警报时触发,因为系统突然“意识到”警报已经过期。将它们分开至少一分钟是一个好习惯。

另一方面,如果你真的需要以非常小的间隔发出哔声,你将不得不使用更“前景”的东西,比如计时器。

于 2013-01-27T20:15:56.340 回答