我正在开发Windows Phone 8.1应用程序,我遇到了这个问题。
当应用处于前台时,我不希望我的推送通知弹出 - 所以当从PushNotificationChannel
收到通知时,我正在检查应用是否在PushNotificationReceived
事件的前台,如果是,我通过以下方式取消通知:
ARGS。
void channel_PushNotificationReceived(PushNotificationChannel sender, PushNotificationReceivedEventArgs args)
{
if(appInForeground)
{
args.Cancel = true;
}
}
我的PushNotification
后台任务(IBackgroundTask
)触发器为PushNotificationTrigger
。
问题:
有时,当应用程序处于前台时 - 我正在接收推送通知。当我查看日志时,我可以看到PushNotificationReceived
事件没有触发。
我不是在整个应用程序生活中取消订阅事件......
事件是否可能触发但我的backgroundTask触发器是否可以触发?
这里有点可疑......
任何帮助将不胜感激。
答案 0 :(得分:0)
当应用程序处于前台时,Windows的推送通知系统中有一个选项可以禁止弹出窗口。因此,推送通知的xml基本上应该在向设备发送推送时定义此属性。
从Windows Phone 8.1开始,手机还可以通过使用通知的XML内容中的ToastNotification.suppressPopup或ScheduledToastNotification.suppressPopup属性来显示Toast通知。
此链接中提供了更多详细信息here。希望这有帮助!