windows phone 8.1 WP8.1 ट्यूनर अधिसूचना से लॉन्च किए जाने पर WinJS एप्लिकेशन क्रैश हो जाता है



windows-phone-8.1 toast (1)

ठीक है, इसलिए मुझे मेरा जवाब मिला।

onActivated से पहले निकाल दिया गया था पर onActivated घटना को निकाल दिया गया था। इसलिए मेरा कोड कॉल्यूलर बना रहा था, इससे पहले कि angular.js लोड किया गया था। इसलिए आवेदन ठीक काम करता है जब यह अग्रभूमि में था या पृष्ठभूमि में कोणीय। जेएस पहले से लोड हो चुका था। इसको हल करने के लिए मैंने एक टाइमआउट का इस्तेमाल किया है और जांच की है कि angular एक object

onActivated: function (args) {

  if (args.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
      if (args.detail.arguments) {
          var launchString = args.detail.arguments;

          window.setTimeout(function () {
              if(typeof angular !== undefined)
              eval("angular.element(document.getElementById('mainBody')).scope().onNotificationWindows(launchString)");
          }, 3000);

      }
      else {
          console.log("Not launched from toast notification")
      }
  }

}

मैं WinJS के साथ WP8.1 एप विकसित कर रहा हूं। मैं पुश नोटिफिकेशन का उपयोग कर रहा हूं मैं पुश अधिसूचना पेलोड में प्राप्त "लॉन्च" स्ट्रिंग के आधार पर एक तर्क निष्पादित करना चाहता हूं। मेरा टोस्ट अधिसूचना पेलोड है

<toast launch='launchString'>
   <visual>
      <binding template='ToastText02'>
         <text id='1'>headlineText</text>
         <text id='2'>bodyText</text>
      </binding>
   </visual>
</toast>

मैंने एक घटना दर्ज की है

WinJS.Application.addEventListener("activated", this.onActivated);

जिसे के रूप में परिभाषित किया गया है

onActivated: function (args) {

  if (args.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
      if (args.detail.arguments) {
          var launchString = args.detail.arguments;
          eval("angular.element(document.getElementById('mainBody')).scope().onNotification(launchString)")

      }
      else {
          console.log("Not launched from toast notification")
      }
  }
}

यहाँ परनोटिफिकेशन (लॉन्च स्ट्रिंग) फ़ंक्शन में तर्क है जो लॉन्च स्ट्रिंग के आधार पर कुछ निर्णय लेता है।

जब भी अनुप्रयोग अग्रभूमि में होता है या पृष्ठभूमि में चल रहा है, तब सबकुछ ठीक काम करती है। लेकिन जब आवेदन मारे गए राज्य में है, और मैं टोस्ट अधिसूचना पर टैप करके लॉन्च करने का प्रयास करता हूं, उसके शुरू होने के बाद एप्लिकेशन क्रैश हो जाता है। मैं वी.एस. में इसे डिबग करने में सक्षम नहीं हूं क्योंकि मैं डिबगिंग करते समय इस परिदृश्य को पुन: निर्मित नहीं कर सकता (क्योंकि डिबगिंग ऐप मारे जाने पर डिबगर निकलता है)।

  1. क्या किसी भी तरह से मैं मारे गए राज्य में ऐप को डीबग कर सकता हूं?
  2. जब मैं मारे गए राज्य में ऐप्प लाता है, तो मैं "लॉन्च" पैरामीटर को लॉन्च करने और पढ़ने की कोशिश क्यों करता हूं? इसे कैसे हल किया जा सकता है?

आपकी सहायताके लिए धन्यवाद!

संपादित करें: यहां एक समान समस्या है