Display local toast notification

后端 未结 2 1420
有刺的猬
有刺的猬 2021-02-04 11:52

I want to develop a universal app for Windows Phone 8.1 which contains a local “Notification”.

What I want to do is to show all messages to the user (error, information,

2条回答
  •  星月不相逢
    2021-02-04 12:53

    With the help of the @msimons response and the following url : http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh868254.aspx I succeed to display my notifications.

    For those who need it, here is my final method :

    private void ShowToastNotification(String message)
        {
            ToastTemplateType toastTemplate = ToastTemplateType.ToastImageAndText01;
            XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate);
    
            // Set Text
            XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text");
            toastTextElements[0].AppendChild(toastXml.CreateTextNode(message));
    
            // Set image
            // Images must be less than 200 KB in size and smaller than 1024 x 1024 pixels.
            XmlNodeList toastImageAttributes = toastXml.GetElementsByTagName("image");
            ((XmlElement)toastImageAttributes[0]).SetAttribute("src", "ms-appx:///Images/logo-80px-80px.png");
            ((XmlElement)toastImageAttributes[0]).SetAttribute("alt", "logo");
    
            // toast duration
            IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
            ((XmlElement)toastNode).SetAttribute("duration", "short");
    
            // toast navigation
            var toastNavigationUriString = "#/MainPage.xaml?param1=12345";
            var toastElement = ((XmlElement)toastXml.SelectSingleNode("/toast"));
            toastElement.SetAttribute("launch", toastNavigationUriString);
    
            // Create the toast notification based on the XML content you've specified.
            ToastNotification toast = new ToastNotification(toastXml);
    
            // Send your toast notification.
            ToastNotificationManager.CreateToastNotifier().Show(toast);
        }
    

    I tested on a universal application windows phone 8.1.

    And don't forget to edit "Package.appxmanifest" and activate notifications. The capability to raise toast notifications is declared in your app's package.appxmanifest file. If you use the Microsoft Visual Studio manifest editor, simply set the Toast capable option to "Yes" in the Notification section of the Application tab.

提交回复
热议问题