设置参数为“通知”

本文关键字:通知 参数 设置 | 更新日期: 2023-09-27 17:54:43

我使用c#和Windows Phone 8.1作为通用应用程序。我可以通过以下代码从后台发送通知:

    void ShowNotification(string title, string text)
    {
        ToastTemplateType toastTemplate = ToastTemplateType.ToastText02;
        XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate);
        XmlNodeList textElements = toastXml.GetElementsByTagName("text");
        textElements[0].AppendChild(toastXml.CreateTextNode(title));
        textElements[1].AppendChild(toastXml.CreateTextNode(text));
        ToastNotificationManager.CreateToastNotifier().Show(new ToastNotification(toastXml));
    }

我想当用户在动作中心点击这些通知时,我在通知中写的消息显示在MainPage的textBlock上但我不知道如何设置一个参数来做到这一点。我在MainPage中使用了这段代码,但参数为空:

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        if (e != null && e.Parameter != null)
        {
            Debug.WriteLine("MainPage.OnNavigatedTo.Parameter: " + e.Parameter.ToString());
        }
    }

谢谢

设置参数为“通知”

您需要指定应用程序启动参数,如:

IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
((XmlElement)toastNode).SetAttribute("launch", "{'"type'":'"toast'",'"param1'":'"12345'",'"param2'":'"67890'"}");

然后在应用程序的onlaunching事件中,使用下面的参数导航到主页:

rootFrame.Navigate(typeof(MainPage), args.Arguments);