win8 推送通知 小记
http://blog.csdn.net/nacl025/article/details/8998552
http://blog.csdn.net/nacl025/article/details/9037247
打开一个推送通道(如果它尚不存在),或者连接到一个现有的推送通道。如果您的应用在之前的应用实例中创建了推送通道,则可能会存在一个推送通道。如果推送通道绑定到图块或 Toast 通知,则应用退出之后推送通道仍然存在,这样,即使该应用未运行,也仍然可以接收这些通知。
使用 Raw 通知的应用必须实现 HttpNotificationReceived 事件以接收通知中的 Raw 数据。(如果应用处于非运行态,则无法接收Raw通知)
如果您的应用已在运行,则忽略 Toast 通知,除非您注册 ShellToastNotificationReceived 事件。然后,您的应用可以决定它希望响应 Toast 通知的方式。
原始通知
1、原始通知是可以触发后台任务的唯一的通知类型。尽管 Toast、磁贴和锁屏提醒推送通知不能触发后台任务,但是原始通知触发的后台任务可以通过本地 API 调用来更新磁贴和调用 Toast 通知。
2、对于每个应用,一次只能运行一个后台任务。如果为已在运行后台任务的应用触发后台任务,则必须先完成第一个后台任务,然后才能运行新的后台任务。
3、如果应用正在运行,则通知传递事件优先于后台任务,并且应用将拥有处理通知的第一个机会。通知传递事件处理程序可以通过将事件的 PushNotificationReceivedEventArgs.Cancel 属性设置为 true 来指定处理程序退出后不应该将原始通知传递给它的后台任务。如果 Cancel 属性设置为 false 或者未设置(默认值为 false),则原始通知会在通知传递事件处理程序完成其工作后触发后台任务。
选择原始通知触发的后台任务之前,考虑使用其他通信方法。大多数应用不应该需要实现后台任务。若要使应用使用后台任务,该应用必须是允许固定到锁屏的少数应用之一。你的应用将争用这些插槽,并且用户对占用插槽的应用拥有最终控制权。不保证你的应用就是其中之一。通过在你的应用中使用其他实现通信的机制(如标准推送通知或 Toast 更新),你可以防止用户必须在你的应用和他们关注的其他应用之间作出选择。
后台任务的一些替代方法:(说明一点,Toast\Title通知都可以后台运行,但不能触摸发后台任务)
- 若要吸引用户的注意,请发送 Toast 推送通知。
- 若要更新磁贴,请使用磁贴推送通知。
4、原始通知触发的后台任务:用户必须显式给予应用运行后台任务的权限,当用户将应用添加到其锁屏时会授予此权限。一次只能有七个应用拥有此权限。
- PushNotificationChannel channel = null;
- channel.PushNotificationReceived += OnPushNotification;
- try
- {
- channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
- }
- catch (Exception ex)
- {
- // ...
- }
- string content = null;
- private async void OnPushNotification(PushNotificationChannel sender, PushNotificationReceivedEventArgs e)
- {
- String notificationContent = String.Empty;
- switch (e.NotificationType)
- {
- case PushNotificationType.Badge:
- notificationContent = e.BadgeNotification.Content.GetXml();
- break;
- case PushNotificationType.Tile:
- notificationContent = e.TileNotification.Content.GetXml();
- break;
- case PushNotificationType.Toast:
- notificationContent = e.ToastNotification.Content.GetXml();
- break;
- case PushNotificationType.Raw:
- notificationContent = e.RawNotification.Content;
- break;
- }
- e.Cancel = true;
- }
win8 推送通知 小记的更多相关文章
- 重新想象 Windows 8 Store Apps (67) - 后台任务: 推送通知
[源码下载] 重新想象 Windows 8 Store Apps (67) - 后台任务: 推送通知 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 后台任务 推送通 ...
- APNS 远程推送通知 PUSH deviceToken
服务器向客户端推送消息: 当应用程序推到后台,或者根本就没有运行(我们的代码无能为力) 如果这种情况之下,应用程序想和用户交互(传统的做法 不可能) 推送 APNS:Ap ...
- iOS 本地推送通知
1.什么是本地推送通知 不需要联网的情况下,应用程序经由系统发出的通知 2.本地推送的使用场景 定时提醒,如玩游戏.记账.闹钟.备忘录等 3.实现本地推送通知的步骤 创建本地推送通知的对象UILoca ...
- APNS 服务推送通知
1. 将app注册notification里面, 并从APNS上获取测试机的deviceToken. - (BOOL)application:(UIApplication *)application ...
- IosPush推送通知的实现
1. Apple推送通知的机制 上图可以分为三个阶段: 第一阶段:应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中, ...
- WP7推送通知服务
原文地址http://www.cnblogs.com/Joetao/articles/2214482.html (一)为什么使用推送通知服务(1)Windows Phone执行模型决定只有一个第三方的 ...
- iOS上简单推送通知(Push Notification)的实现
iOS上简单推送通知(Push Notification)的实现 根据这篇很好的教程(http://www.raywenderlich.com/3443/apple-push-notification ...
- Windows Azure Service Bus Notification Hub推送通知
前言 随着Windows Azure 在中国的正式落地,相信越来越多的人会体验到Windows Azure带来的强大和便利.在上一篇文章中, 我们介绍了如何利用Windows Azure中的Servi ...
- 【WP 8.1开发】手机客户端应用接收推送通知
上一篇文章中,已经完成了用于发送通知的服务器端,接下来我们就用这个服务端来测试一下. 在开始测试之前,我们要做一个接收通知的WP应用. 1.启动VS Express for Windows,新建项目, ...
随机推荐
- OC学习篇之---代理模式
何实现代理模式的. 这里举一个简单的例子: 小孩类,护士类,保姆类,其中小孩类有两个方法:wash和play 这里代理对象就是:护士类.保姆类,小孩类是被代理对象. 看一下代码: 首先看一下小孩类: ...
- 【C++】指针和new相关
看黄邦勇帅的笔记. 指针和new之前觉得已经掌握的很好了,可是看了资料还是get到了新知识.记录一下. 1.指针只支持 4 种算术运算符:++,――,+,-.指针只能与整数加减.指针运算的原则是:每当 ...
- libev 学习使用
libev 简单的I/O库. a high performance full featured event loop written in c libev 的大小也比 libevent 小得多并且自 ...
- rosbag使用--记录深度相机数据
首先看一下教程: http://wiki.ros.org/openni_launch/Tutorials/BagRecordingPlayback 知道了rosbag如何进行使用记录深度数据 但是按照 ...
- Spring:基于注解的依赖注入的使用
1.什么是pojo?什么是bean? 首先,在之前几篇Spring的介绍文章当中,自己都提到了一个名词叫做POJO类,但是在回顾Spring的注解的使用的时候,去形容java当中的对象还有一个名词是叫 ...
- CSS 从入门到放弃系列:CSS的引入方式
css的四种引入方式 内联方式(行间样式) <div style="width:100px;height: 100px; background-color: red"> ...
- Codeforces Round 251 (Div. 2)
layout: post title: Codeforces Round 251 (Div. 2) author: "luowentaoaa" catalog: true tags ...
- 【计算几何】【辛普森积分法】UVALive - 7076 - Highway
春节前后想了好久才在队友的讲解下想明白…… 太难讲了,我就不讲了,大概就是考虑直着走到高速上还是斜着走到高速上,然后平移直线和大圆相切,把生成的最大的“桥”和大圆并一下就行了. #include< ...
- 【可持久化Trie】bzoj3261 最大异或和
对原序列取前缀异或值,变成pre[1...N],然后询问等价于求max{a[N]^x^pre[i]}(l-1<=i<=r-1). #include<cstdio> #defin ...
- 微服务之SpringCloud实战(四):SpringCloud Eureka源码分析
Eureka源码解析: 搭建Eureka服务的时候,我们会再SpringBoot启动类加上@EnableEurekaServer的注解,这个注解做了一些什么,我们一起来看. 点进@EnableEure ...