1

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

如果我的应用程序没有运行并且 toast 通知到达,则会显示一个 toast 但我该如何处理这个通知?

我的意思是当我的应用程序没有运行并且通知到达时哪个事件被触发。

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

谢谢。

4

2 回答 2

2

Windows Phone 平台负责处理Push Notifications应用程序未运行时的通知处理,开发人员无权直接访问。Toast这意味着您在收到后无法执行任何后台逻辑。但是,当Toast消息包含指向特定应用程序页面的<wp:Param>值时,如果用户点击弹出窗口,用户将被重定向到该页面。因此,您可以在用户点击弹出窗口后执行特定工作。为此,您需要添加一个参数,例如并覆盖页面的方法来运行您的业务逻辑:UriToastToastUri/YourPage?IsToast=trueOnNavigatedTo

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

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

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

于 2013-06-26T11:40:19.493 回答
1

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

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

希望这可以帮助。

如果你还没有完成,请给我发邮件

快乐编码。

于 2014-01-17T15:31:57.240 回答