win8 推送通知 小记

原始通知

1、原始通知是可以触发后台任务的唯一的通知类型。尽管 Toast、磁贴和锁屏提醒推送通知不能触发后台任务,但是原始通知触发的后台任务可以通过本地 API 调用来更新磁贴和调用 Toast 通知。

2、对于每个应用,一次只能运行一个后台任务。如果为已在运行后台任务的应用触发后台任务,则必须先完成第一个后台任务,然后才能运行新的后台任务。

3、如果应用正在运行,则通知传递事件优先于后台任务,并且应用将拥有处理通知的第一个机会。通知传递事件处理程序可以通过将事件的 PushNotificationReceivedEventArgs.Cancel 属性设置为 true 来指定处理程序退出后不应该将原始通知传递给它的后台任务。如果 Cancel 属性设置为 false 或者未设置(默认值为 false),则原始通知会在通知传递事件处理程序完成其工作后触发后台任务。

    选择原始通知触发的后台任务之前,考虑使用其他通信方法。大多数应用不应该需要实现后台任务。若要使应用使用后台任务,该应用必须是允许固定到锁屏的少数应用之一。你的应用将争用这些插槽,并且用户对占用插槽的应用拥有最终控制权。不保证你的应用就是其中之一。通过在你的应用中使用其他实现通信的机制(如标准推送通知或 Toast 更新),你可以防止用户必须在你的应用和他们关注的其他应用之间作出选择。

    后台任务的一些替代方法:(说明一点,Toast\Title通知都可以后台运行,但不能触摸发后台任务)

  • 若要吸引用户的注意,请发送 Toast 推送通知。
  • 若要更新磁贴,请使用磁贴推送通知。

4、原始通知触发的后台任务:用户必须显式给予应用运行后台任务的权限,当用户将应用添加到其锁屏时会授予此权限。一次只能有七个应用拥有此权限。

5、当你的应用的云服务向 Windows 发送通知时,你的应用便有机会在显示 Toast、更新磁贴或锁屏提醒或者向后台任务发送原始通知之前截获和处理该通知。它也可以阻止这些元素的显示或更新。实现通知发送事件处理程序是可选的。当应用想处理和阻止传入(e.Cancel = true;)的 Toast 而不是向用户显示它们时,该选项最有用。
      
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;
}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值