码迷,mamicode.com
首页 > Windows程序 > 详细

【Win10开发】Toast通知——后台激活

时间:2015-12-27 21:59:47      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:

前篇文章我们写了关于Toast的前台激活,那么接下来就讲一讲它的后台激活。当通知出现时并不会出现app的界面,但是app能在后台获取到通知中的信息。

当然

首先我们需要创建一个后台任务,我们先创建一个类库,将其命名为Background,这里需要注意下,这个类库的输出类型必须选择Windows运行时组件才不会爆,感谢Edi.Wang,我也是看到他的博客才知道的。

技术分享

我们接着创建BackgroundTask类,并在类中写以下代码。

 1     public sealed class BackgroundTask : IBackgroundTask
 2     {
 3         public async void Run(IBackgroundTaskInstance taskInstance)
 4         {
 5             var deferral = taskInstance.GetDeferral();
 6             ToastNotificationActionTriggerDetail details = taskInstance.TriggerDetails as ToastNotificationActionTriggerDetail;
 7             if (details != null)
 8             {
 9                 // 是否选择“确定”
10                 string arg = details.Argument;
11                 if (arg == "ok")
12                 {
13                     // 获取数据
14                     string value = details.UserInput["name"] as string;
15                     // 保存数据
16                     StorageFolder local = ApplicationData.Current.LocalFolder;
17                     JsonObject jsonObj = new JsonObject();
18                     jsonObj.SetNamedValue("name", JsonValue.CreateStringValue(value));
19                     StorageFile dataFile = await local.CreateFileAsync("data.json", CreationCollisionOption.ReplaceExisting);
20                     await FileIO.WriteTextAsync(dataFile, jsonObj.Stringify(), Windows.Storage.Streams.UnicodeEncoding.Utf8);
21                 }
22             }
23             deferral.Complete();
24         }
25     }

BackgroundTask继承IBackgroundTask接口并实现,注意 ,后台任务类本身和后台任务项目中的所有其他类都需要是处于 sealed 状态的 public 类。Run方法是一个入口点,当触发指定事件时,将调用该入口点,每个后台任务都需要该方法。接下来的工作就简单了,我们将Toast获取到的值保存到一个Json文件中,当下次启动app时读取这个文件。

【Win10开发】Toast通知——后台激活

标签:

原文地址:http://www.cnblogs.com/skyshalo/p/5080891.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!