3

当用户点击收到的 toast 通知时,我想在 Windows Phone 应用程序中打开某个页面。我猜它可能有一个事件处理程序,我可以将应用程序导航到此处理程序内的此页面。其实我不确定。这只是一个估计。您可以提出明确的解决方案。

4

2 回答 2

2
string toastMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
            "<wp:Notification xmlns:wp=\"WPNotification\">" +
               "<wp:Toast>" +
                    "<wp:Text1>" + sampleText+ "</wp:Text1>" +
                    "<wp:Text2>" + sampleText+ "</wp:Text2>" +
                   "<wp:Param>/Page.xaml</wp:Param>" +
                "</wp:Toast> " +
            "</wp:Notification>";

您可以在此处将 /Page.xaml 替换为您要导航的页面的名称。

于 2013-11-19T10:55:03.810 回答
1

在通知的事件处理程序中,只需将其与您要导航到的页面的 uri 一起添加。确保相应地替换“SomePage.xaml”。

NavigationService.Navigate(new Uri("/SomePage.xaml", UriKind.Relative));

尝试查看 MSDN 的Toast Properties 页面的底部。看起来点击通知默认为启动您的应用程序。

解决此问题的一种方法是设置一个设置,比如 ToastSetting,它会随着 toast.Show();事件切换为“true”。那么,OnNavigatedTo如果有一个 if/else 语句来查找您的 ToastSetting 是否等于“true”。像这样:

//Did toast.Show(); fire?
If (appSettings.ToastSetting)
 {
//reset the toast setting
appSettings.ToastSetting == false;
//navigate to different page
NavigationService.Navigate(new Uri("/SomePage.xaml", UriKind.Relative));
}
else
{
//do nothing
}
于 2013-02-06T19:36:57.177 回答