首页 > Windows开发 > 详细

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

时间:2015-12-27 21:57:46      阅读:306      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!