Windows phone 8 wp8:在应用程序处于后台时处理Toast通知
当我的应用程序运行时,我可以在ShellToastNotificationReceived(object sender,NotificationEventArgs e)上接收toast通知,作为e.Collection中的键接收事件处理程序 如果我的应用程序未运行且toast通知到达,则会显示toast,但我如何处理此通知 我的意思是,当我的应用程序未运行且通知到达时,哪个事件是fire 我知道后台代理,但它不符合我的要求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平台负责处理推送通知,当应用程序未运行时
谢谢。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服务,检查服务器上的更改。