2014-05-06 15 views
11

प्रदर्शित करें मैं विंडोज फोन 8.1 के लिए एक सार्वभौमिक ऐप विकसित करना चाहता हूं जिसमें स्थानीय "अधिसूचना" शामिल है।स्थानीय टोस्ट अधिसूचना

मैं क्या करना चाहता हूं कि उपयोगकर्ता को सभी संदेशों को उपयोगकर्ता (त्रुटि, सूचना, चेतावनियां) टोस्ट नियंत्रण के कंक में दिखाएं। सब कुछ मानक अधिसूचना प्रणाली के बिना स्थानीय रूप से किया जाता है। कई प्रणाली है कि विंडोज फोन 8 पर काम कर रहे हैं:

लेकिन इस पर विंडोज फोन 8.1 परियोजना उन पुस्तकालयों शामिल करने के लिए संभव नहीं है।

किसी को भी प्रदर्शित "स्थानीय" टोस्ट करने के लिए एक और तरीका पता है?

उत्तर

7

आप एक स्थानीय अधिसूचना का उपयोग कर सकते हैं जो तब दिखाई देता है जब आपका ऐप चल रहा है।

ToastTemplateType toastTemplateXml = ToastTemplateType.ToastImageAndText01; 
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplateXml); 

फिर आप एक्सएमएल GetTemplateContent

<toast> 
    <visual> 
     <binding template="ToastImageAndText01"> 
      <image id="img" src=""/> 
      <text id="txt"></text> 
     </binding> 
    </visual> 
</toast> 

आपूर्ति एक्सएमएल डोम में अपने टोस्ट की सामग्री के द्वारा दिया पॉप्युलेट करने के लिए की आवश्यकता होगी। छवि केवल विंडोज 8.1 के लिए प्रासंगिक है।

निर्दिष्ट करें यह के प्रक्षेपण मापदंडों

((XmlElement)toastNode).SetAttribute("launch", "{\"type\":\"toast\",\"param1\":\"1\",\"param2\":\"2\"}"); 

टोस्ट वस्तु बनाएँ:

ToastNotification toast = new ToastNotification(toastXml); 

और अंत में टोस्ट प्रदर्शित करते हैं।

ToastNotificationManager.CreateToastNotifier().Show(toast); 

इसके अलावा, आप टोस्ट प्रदर्शित करने के लिए एक तीसरी पार्टी के नियंत्रण का उपयोग करना चाहते हैं तो आप एक विंडोज फोन 8.1 Silverlight अनुप्रयोग लिखने पर विचार कर सकता है।

+0

अच्छा जवाब, इससे मुझे बहुत मदद मिली। मैं निम्नलिखित प्रतिक्रिया भरता हूं। –

25

@msimons प्रतिक्रिया और निम्नलिखित यूआरएल की सहायता से: http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh868254.aspx मैं अपनी सूचनाएं प्रदर्शित करने में सफल हूं।

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); 
    } 

मैं एक सार्वभौमिक आवेदन विंडोज फोन 8.1 पर परीक्षण किया:

ज़रूरतमंद लोगों के लिए, यहाँ मेरा अंतिम विधि है।

और "Package.appxmanifest" संपादित करना और सूचनाओं को सक्रिय करने के लिए मत भूलना। टोस्ट नोटिफिकेशन बढ़ाने की क्षमता आपके ऐप के पैकेज में घोषित की गई है .appxmanifest फ़ाइल। यदि आप माइक्रोसॉफ्ट विजुअल स्टूडियो मैनिफेस्ट एडिटर का उपयोग करते हैं, तो एप्लिकेशन टैब के अधिसूचना अनुभाग में टोस्ट सक्षम विकल्प को "हां" पर सेट करें।

+0

ms-appx का उपयोग करते समय मेरी छवि नहीं दिख रही है: ///Images/img.png नोटेशन। कोई उपाय? मेरे निर्माण गुण हैं: सामग्री, प्रतिलिपि हमेशा। – markwilde

+0

क्या आपकी तस्वीर "छवियों" निर्देशिका में है? टोस्ट पर छवियों वाला एक नियम है "छवियां आकार में 200 KB से कम और 1024 x 1024 पिक्सेल से छोटी होनी चाहिए" (स्रोत: http://msdn.microsoft.com/en-us/library/windows/apps/xaml /hh868254.aspx)। पता नहीं है कि आपकी छवि बड़ी है तो क्या होगा। –

+0

मेरे पास एक बहुत छोटी छवि (80:80) है, इसलिए आकार में केवल कुछ बाइट्स हैं। मेरे तैनात ऐप पर यह स्टोर आइकन दिखा रहा है, न कि मेरे द्वारा प्रदान किया गया कस्टम आइकन। – markwilde

संबंधित मुद्दे