我想创建一个警报应用程序。
我找到了在后台操作计时器的方法。但是没有找到控制显示器功率的API(我希望在电源关闭时打开显示器的电源)。
Windows 10(Windows Universal App)是否有足够的API来创建该应用程序?
Windows-universal-samples最近更新了一些新的RTM样本,包括这个样本 - Notifications。
由于Alarm也是一种通知,它现在构建在通用Windows平台的新Toast通知框架中。
从上面的Notification链接下载源代码后,使用Visual Studio 2015 RTM运行它,然后在加载应用程序后,转到
toasts> scenario> scenario:alarm
你会看到一个功能齐全的报警应用程序(以及提醒和许多其他样本)。
我们来谈谈代码。
基本上,与Windows Phone Silverlight不同,您现在可以通过像这样指定xml有效负载来自定义警报弹出窗口(确保scenario
设置为alarm
)
<toast launch='args' scenario='alarm'>
<visual>
<binding template='ToastGeneric'>
<text>Alarm</text>
<text>Get up now!!</text>
</binding>
</visual>
<actions>
<action arguments = 'snooze'
content = 'snooze' />
<action arguments = 'dismiss'
content = 'dismiss' />
</actions>
</toast>
然后创建一个加载上述xml字符串的XmlDocument
var xmlString = @"//copy above xml here//";
var doc = new Windows.Data.Xml.Dom.XmlDocument();
doc.LoadXml(xmlString);
然后创建一个ToastNotification
并用ToastNotificationManager
-触发它
var toast = new ToastNotification(doc);
ToastNotificationManager.CreateToastNotifier().Show(toast);
微软最近回复了one of my API requests,我在这里发布了内容,所以每个人都知道添加了哪些API,哪些仍然是优秀的。
做了什么
一些参考
我们(MSFT)知道什么是缺失的,并希望在不久的将来支持
AlarmApplicationManager
可用于创建警报应用程序。它提供了安排Toast通知的功能。
var scheduledToast = new ScheduledToastNotification(content, DateTime.Now.AddMinutes(5));
toastNotifier.AddToSchedule(scheduledToast);
创建Toast模板时也可以设置音频源,但只能从Windows提供的一组预定义声音中设置。
有关更多详细信息,请参阅AlarmApplicationManager和Building alarm app。
GitHub上有许多Win 10 Universal Samples可能有用。但是,我没有看到与警报直接相关的任何内容。
遗憾的是,Windows Universal Applications无法直接访问“显示设置”。但您可以使用AlarmApplicationManager Class创建警报。在某些情况下(肯定会在WindowsPhone上),这将自动打开显示屏以显示警报(带标题和说明)。