我可以为Window Universal App创建一个警报应用程序吗?

问题描述 投票:5回答:4

我想创建一个警报应用程序。

我找到了在后台操作计时器的方法。但是没有找到控制显示器功率的API(我希望在电源关闭时打开显示器的电源)。

Windows 10(Windows Universal App)是否有足够的API来创建该应用程序?

c# c++ uwp windows-10 win-universal-app
4个回答
16
投票

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);

而已!您将看到如下所示的警报弹出窗口。 enter image description here


更新

微软最近回复了one of my API requests,我在这里发布了内容,所以每个人都知道添加了哪些API,哪些仍然是优秀的。

做了什么

  1. 现在有一种方法可以在通用Windows应用程序中创建警报/提醒;
  2. 闹钟/提醒器支持自定义贪睡时间(您可以选择让系统处理暂停,或者唤醒您的后台任务以手动执行);
  3. 警报/提醒器仅支持振动(就像吐司一样),可以被用户覆盖以关闭振动;
  4. 警报/提醒支持良好的可定制性(自定义可选内嵌图像,自定义附加操作等)。

一些参考

我们(MSFT)知道什么是缺失的,并希望在不久的将来支持

  1. 警报/提醒中的本机平台支持,以便在时区更改时自动处理时间转换(解决方法 - 可以通过使用TimeZoneChange系统触发器手动完成此操作);
  2. 本机平台支持报警/提醒重复事件(解决方法 - 目前只能由应用程序手动定期唤醒并提前重新安排一堆警报/提醒);
  3. 本机平台支持从音乐库中选择歌曲作为警报/提醒的铃声(解决方法 - 这可以通过从音乐库中读取和复制文件,然后在应用程序包中使用文件的已保存/修改版本或应用数据作为铃声(吐司通知通过指向appx中的文件或xml有效负载中的appdata支持自定义声音))。

2
投票

AlarmApplicationManager可用于创建警报应用程序。它提供了安排Toast通知的功能。

var scheduledToast = new ScheduledToastNotification(content, DateTime.Now.AddMinutes(5));
toastNotifier.AddToSchedule(scheduledToast);

创建Toast模板时也可以设置音频源,但只能从Windows提供的一组预定义声音中设置。

有关更多详细信息,请参阅AlarmApplicationManagerBuilding alarm app


2
投票

GitHub上有许多Win 10 Universal Samples可能有用。但是,我没有看到与警报直接相关的任何内容。


0
投票

遗憾的是,Windows Universal Applications无法直接访问“显示设置”。但您可以使用AlarmApplicationManager Class创建警报。在某些情况下(肯定会在WindowsPhone上),这将自动打开显示屏以显示警报(带标题和说明)。

© www.soinside.com 2019 - 2024. All rights reserved.