源起
eyesCarer就是一个程序,没过一定时间提醒你注意休息眼睛
因为我们这些人整天对着电脑,不知时间飞逝,再加之我们这个专业更是无解。于是考虑能不能做个软件,定时跳出来提醒下。但是,调出来肯定要是操作系统级别才有权跳到其他界面上方。考虑到win10好像是有toast这种东西,再考虑上学期学过win10的UWP开发,能不能用这个东西来做?
演示
打开后就是这样一个简单界面,显示40分钟后提醒。40分钟到了,就会跳出一个toast通知,提醒注意眼睛,如下图。
是不是很棒棒,哈哈
这个程序设计的是启动一次只提醒一次。所以提醒完之后要关掉再打开
具体实现
首先是新建一个文件夹。叫”XML”,用来存我们的通知模板。
通知模板如下,其中image 的src是在Assets里添加的一张命名为photo.jpg的图片
<?xml version="1.0" encoding="utf-8" ?>
<toast>
<visual>
<binding template="ToastGeneric">
<text>Hello World!</text>
<text>是时候爱护眼睛了!!</text>
<text>老大哥is watching you</text>
<image src= "ms-appx:///Assets/photo.jpg" placement ="inline" />
</binding>
</visual>
</toast>
然后就是读取这个模板,生成toast通知并发出通知。
在mainPage的构造函数里加上这几句
// 读取xml
XDocument xd = XDocument.Load("XML/toast.xml");
XmlDocument doc = new XmlDocument();
doc.LoadXml(xd.ToString());
// 40分钟后提醒
DateTimeOffset beginPoint = DateTimeOffset.Now.AddMinutes(40);
// 发出通知
ScheduledToastNotification notifier = new ScheduledToastNotification(doc,beginPoint);
ToastNotificationManager.CreateToastNotifier().AddToSchedule(notifier);
下载
你可以自己建个项目来,然后像我上面说的加几句代码,自己跑。
或者直接下载我的项目,然后跑。