【发布时间】:2015-10-08 04:03:43
【问题描述】:
我正在尝试向 Windows Phone 8.1 设备发送带有参数的 toast 通知,因此当用户点击 toast 时,应用程序将显示应用程序内的特定页面,如本 MSDN 文章 @987654321 中所述@
这是我用来添加参数的sn-p:
<wp:Param>?cmd=command1 </wp:Param>
这是我在应用程序中阅读它的方式:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e){
base.OnNavigatedTo(e);
string strVal1 = this.NavigationContext.QueryString["cmd"];
}
进行这些更改后,它可以正常工作,但仅适用于第一次通知。在所有后续通知中,应用程序中读取的参数值与第一个通知中的值相同,无论我从服务器发送了什么。
这是一个例子:
- 我正在向通知负载中包含此参数的设备发送通知:
<wp:Param>?cmd=command1 </wp:Param>this.NavigationContext.QueryString("cmd") 中的值应该是 command1。 - 然后我用这个参数参数发送第二个通知
<wp:Param>?cmd=command2 </wp:Param>this.NavigationContext.QueryString("cmd") 中的 cmd 值仍然返回为“command1”,而不是应有的 command2。在我强制重新启动应用程序之前,所有后续通知都是如此。
这是我尝试过的:
- 检查了 OnNavigatedTo 事件的 NavigationEventArgs 参数中的 Uri 值,它与我在 NavigationContext 中看到的相同。
- 从服务器发送的双重检查通知负载(正确)
- 已检查 msdn/stackoverflow/google。
- 在 8.1 模拟器和设备上都进行了检查(工作方式相同)
问题:
- 我是否必须在应用程序中执行某些操作(idk、清除 NavigationContext 或其他操作),以便下一次通知会有所不同?
- 实际上是否有人拥有使用部分参数的实时应用程序(不是带有完整 url 的服务器驱动导航,而是传递给应用程序的部分 url + 应用程序内的相应导航)并且它适用于多个后续通知?
【问题讨论】:
标签: notifications push-notification windows-phone-8.1