导航到特定页面在 Windows Phone Toast 通知中不起作用

Posted

技术标签:

【中文标题】导航到特定页面在 Windows Phone Toast 通知中不起作用【英文标题】:navigation to particular page not working in windows phone toast notification using push sharp 【发布时间】:2013-11-19 09:56:27 【问题描述】:

我正在使用 push sharp 向 windows phone 8 发送 toast 通知并获取这些通知。目前,当我点击 toast 应用程序启动并打开我的应用程序的第一页时。但是,当我点击 toast 时,我想导航到我的应用程序的特定页面,而不是这个。

我认为为此我必须使用 WindowsPhoneToastNotification 的.withParameter() 扩展,但我无法获得应该在此扩展的键和值对中传递的内容。另外.withNavigatePath() 也不起作用。

使用这个更新的代码。但仍然没有成功。应用程序没有导航到所需的页面。

push.QueueNotification(new WindowsPhoneToastNotification()
    .ForEndpointUri(new Uri("MYDeviceEndpointURI")) 
    .WithNavigatePath("/Home.xaml")
    .WithText1("PushSharp")
    .WithText2("This is a Toast"));
    .WithParameter("param1","1")

【问题讨论】:

当您在没有任何推送通知的情况下打开应用时,您当前的登录页面是什么?... 当我打开我的应用程序时没有任何推送通知 Login.xaml 已打开。 Hmzz.. 似乎你不是唯一一个有问题的人***.com/questions/16492954/…。有什么方法可以提供由 PushSharp 生成的生成的 xml 模板? 【参考方案1】:

更新 3(因为其他更新不是解决方案)

我注意到GitHub 上有一个小示例代码:

//-----------------------------
// WINDOWS PHONE NOTIFICATIONS
//-----------------------------
//Configure and start Windows Phone Notifications
push.RegisterWindowsPhoneService();

//Fluent construction of a Windows Phone Toast notification
//IMPORTANT: For Windows Phone you MUST use your own Endpoint Uri here that gets generated within your Windows Phone app itself!
push.QueueNotification(new WindowsPhoneToastNotification()
    .ForEndpointUri(new Uri("DEVICE REGISTRATION CHANNEL URI HERE"))
    .ForOSVersion(WindowsPhoneDeviceOSVersion.Eight)
    .WithNavigatePath("/Home.xaml")
    .WithParameter("param1","1")
    .WithText1("PushSharp")
    .WithText2("This is a Toast"));
);

我在这里看到的不同之处在于,他们在示例中还添加了.ForOSVersion()。可以试试吗?

【讨论】:

需要导航到 Home.xaml 页面,所以我在.WithNavigatePath 中写了“/Home.xaml 但仍然无法导航。 如果我不使用 push sharp,而是使用link 给出的代码,我能够导航到带有参数名称和值的所需页面。但是在使用推送清晰导航发送 toast 通知时不起作用。 又更新了我的评论,你能再看看吗:) 成功了 :) 谢谢。我想知道我是怎么错过.ForOSVersion() 的。但是还是有一点问题,在参数值的末尾附加 &amp 写成/Home.xaml?q=1&amp 这很烦人。实际上很奇怪,因为这个错误在 8 个月前就已修复:github.com/Redth/PushSharp/issues/131 以及代码本身:github.com/Redth/PushSharp/blob/master/PushSharp.WindowsPhone/…(第 145 行)

以上是关于导航到特定页面在 Windows Phone Toast 通知中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Windows Phone 8.1 无法识别导航到的页面

使用 Windows Phone 7 媒体播放器在页面之间共享媒体播放

Windows Phone开发:当好总舵主

在 Windows Phone 8 中的页面之间传递字符串

处理 Windows Phone 应用中的“后退”按钮 (XAML)

Windows Phone开发:关于导航的小技巧