wp8:应用程序在后台时处理Toast通知

时间:2013-06-26 10:45:35

标签: windows-phone-8 push-notification mpns

当我的应用程序正在运行时,我可以在ShellToastNotificationReceived(对象发送者,NotificationEventArgs e)事件处理程序上接收toast通知作为e.Collection中的键。

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

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

我知道背景代理但不符合我的要求

感谢。

2 个答案:

答案 0 :(得分:2)

Windows Phone平台负责处理Push Notifications,并且开发人员在应用未运行时无法直接访问通知处理。这意味着在收到Toast后您无法执行任何后台逻辑。但是,当Toast消息包含<wp:Param>值且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
            }
    }

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

答案 1 :(得分:1)

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

当用户点击Toast通知时会发生什么情况,它会重定向到App.Xaml.cs页面中的应用程序启动事件。在那种情况下,根据吐司内容,您可以继续下一步。

希望这会有所帮助。

如果你没有完成,只需给我发邮件

快乐的编码。