PushNotificationReceived事件无法触发

时间:2016-03-15 13:37:30

标签: c# events push-notification windows-phone-8.1 background-task

我正在开发Windows Phone 8.1应用程序,我遇到了这个问题。 当应用处于前台时,我不希望我的推送通知弹出 - 所以当从PushNotificationChannel收到通知时,我正在检查应用是否在PushNotificationReceived事件的前台,如果是,我通过以下方式取消通知: ARGS。

void channel_PushNotificationReceived(PushNotificationChannel sender, PushNotificationReceivedEventArgs args)
{
    if(appInForeground)
    {
        args.Cancel = true;
    }
}

我的PushNotification后台任务(IBackgroundTask)触发器为PushNotificationTrigger

问题: 有时,当应用程序处于前台时 - 我正在接收推送通知。当我查看日志时,我可以看到PushNotificationReceived事件没有触发。 我不是在整个应用程序生活中取消订阅事件......

事件是否可能触发但我的backgroundTask触发器是否可以触发?

这里有点可疑......

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

当应用程序处于前台时,Windows的推送通知系统中有一个选项可以禁止弹出窗口。因此,推送通知的xml基本上应该在向设备发送推送时定义此属性。

  

从Windows Phone 8.1开始,手机还可以通过使用通知的XML内容中的ToastNotification.suppressPopup或ScheduledToastNotification.suppressPopup属性来显示Toast通知。

此链接中提供了更多详细信息here。希望这有帮助!