Windows phone 8 wp8:在应用程序处于后台时处理Toast通知

Windows phone 8 wp8:在应用程序处于后台时处理Toast通知,windows-phone-8,push-notification,mpns,Windows Phone 8,Push Notification,Mpns,当我的应用程序运行时,我可以在ShellToastNotificationReceived(object sender,NotificationEventArgs e)上接收toast通知,作为e.Collection中的键接收事件处理程序 如果我的应用程序未运行且toast通知到达,则会显示toast,但我如何处理此通知 我的意思是,当我的应用程序未运行且通知到达时,哪个事件是fire 我知道后台代理,但它不符合我的要求 谢谢。Windows Phone平台负责处理推送通知,当应用程序未运行时

当我的应用程序运行时,我可以在ShellToastNotificationReceived(object sender,NotificationEventArgs e)上接收toast通知,作为e.Collection中的键接收事件处理程序

如果我的应用程序未运行且toast通知到达,则会显示toast,但我如何处理此通知

我的意思是,当我的应用程序未运行且通知到达时,哪个事件是fire

我知道后台代理,但它不符合我的要求


谢谢。

Windows Phone平台负责处理推送通知,当应用程序未运行时,开发人员无法直接访问通知处理。这意味着您在收到
Toast
后无法执行任何后台逻辑。但当
Toast
消息包含
值且带有
Uri
到特定应用程序页面时,如果用户点击
Toast
弹出窗口,则用户将被重定向到此页面。所以,您可以在用户点击
Toast
弹出窗口后执行特定的工作。要完成此操作,您需要向
Uri
添加一个参数,例如
/YourPage?IsToast=true
,并覆盖
OnNavigatedTo
页面的方法以运行您的业务逻辑:

 protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            if (NavigationContext.QueryString.ContainsKey("IsToast"))
            {
                //do your business here
            }
    }

对于其他情况,您需要使用后台工作人员。

是的,我们可以处理toast通知。一旦用户点击toast通知,我们就可以向我们的web服务发送请求并完成我们的工作

当用户单击toast通知时,它将重定向到App.Xaml.cs页面中的应用程序启动事件。在这种情况下,根据吐司的内容,您可以继续下一步

希望这有帮助

如果你还没完成,就给我发封信吧


愉快的编码。

:感谢您的重播,但我只想在收到通知时调用我的web服务。当我的应用程序正在运行且收到通知时,我将事件外壳设置为已收到通知,以便我可以调用我的web服务,但当应用程序处于后台且收到通知时。现在当我启动应用程序时,我不知道如何启动很多通知来了?没办法。实际上,推送通知似乎不适合您的目的。我建议您使用
BackroundWorker
,甚至在应用程序启动后致电web服务,检查服务器上的更改。