Csharp/C#教程:Windows Phone 8.1 Silverlight中的Toast通知参数分享


Windows Phone 8.1 Silverlight中的Toast通知参数

好的,所以我在8.1 SL项目中使用新的ToastNotificationManager而不是旧的ShellToast。 ShellToast在toast消息上有NavigationUri,这非常容易。

在新的祝酒词中,您必须根据本文自行指定启动参数。 但是看起来8.1 SL没有事件OnLaunched(LaunchActivatedEventArgs args)你应该在App.xaml.cs中监听参数:

第2步:处理应用程序的“OnLaunched”事件

当用户点击您的祝酒词或通过触摸选择它时,相关的应用程序将启动,并触发其OnLaunched事件。

注意如果您在Toast中未包含启动属性字符串,并且在选择Toast时您的应用程序已在运行,则不会触发OnLaunched事件。

此示例显示了OverLaunched事件的覆盖语法,您将在其中检索并处理通过Toast通知提供的启动字符串。

protected override void OnLaunched(LaunchActivatedEventArgs args) { string launchString = args.Arguments .... } 

我的代码:

 // Using the ToastText02 toast template. ToastTemplateType toastTemplate = ToastTemplateType.ToastText02; // Retrieve the content part of the toast so we can change the text. XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate); //Find the text component of the content XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text"); // Set the text on the toast. // The first line of text in the ToastText02 template is treated as header text, and will be bold. toastTextElements[0].AppendChild(toastXml.CreateTextNode("Heading")); toastTextElements[1].AppendChild(toastXml.CreateTextNode("Body")); // Set the duration on the toast IXmlNode toastNode = toastXml.SelectSingleNode("/toast"); ((XmlElement)toastNode).SetAttribute("duration", "long"); //Launch params string paramString = "{"type":"toast","param1":"12345"}"; ((XmlElement)toastXml.SelectSingleNode("/toast")).SetAttribute("launch", paramString); // Create the actual toast object using this toast specification. ToastNotification toast = new ToastNotification(toastXml); // Set SuppressPopup = true on the toast in order to send it directly to action center without // producing a popup on the user's phone. toast.SuppressPopup = true; // Send the toast. ToastNotificationManager.CreateToastNotifier().Show(toast); 

谁知道怎么解决这个问题? 谢谢

您的问题是您正在设置错误的launch参数。 您应该将其直接设置为要导航到的页面。

上述就是C#学习教程:Windows Phone 8.1 Silverlight中的Toast通知参数分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var toastNavigationUriString = ""#/MainPage.xaml?param1=12345"; var toastElement = ((XmlElement)toastXml.SelectSingleNode("/toast")); toastElement.SetAttribute("launch", toastNavigationUriString); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1034824.html

(0)
上一篇 2022年1月19日
下一篇 2022年1月19日

精彩推荐