2016-06-05 5 views
0

Ich schreibe eine UWP App, und ich habe eine ScheduledToastNotification, die dem Zeitplan hinzugefügt wird, wenn die App ausgesetzt wird (z. B. wie eine Erinnerung). Wenn ich jedoch die App schließe, erscheint die Benachrichtigung rechtzeitig, aber wenn ich auf die Benachrichtigung klicke (keine Schaltflächen, nur auf die Benachrichtigung im Allgemeinen), wird die App nicht korrekt gestartet und auf dem Begrüßungsbildschirm angehalten.UWP C# - App erneut starten aus Benachrichtigung klicken

Wie bekomme ich die App den Neustart richtig?

Danke.

+0

Haben Sie es zu debuggen versucht und überprüfen, was passiert, wenn Sie App von Erinnerung zu starten? Sie können dies mit der Desktop-App tun, indem Sie auf Debug -> Andere Debug-Ziele -> Installiertes App-Paket debuggen, dann wählen Sie Ihre App und markieren Sie "Starten Sie nicht, aber debuggen meinen Code beim Start" und drücken Sie Start. Danach starten Sie die App aus der Erinnerung und debuggen Sie es. –

+0

Ok, das mache ich. Aber nur um zu verdeutlichen, wenn eine Benachrichtigung angeklickt wird, soll die App korrekt gestartet werden, ohne zusätzliche Event-Handler wie OnLaunched oder irgendetwas, oder? –

+0

Ja, aber es könnte Probleme mit anderen Startmethoden wie sekundäre Kacheln, Benachrichtigungen usw. geben. Vor allem, wenn Sie zusätzlichen Code in App.xaml.cs haben –

Antwort

3

Sie sollten OnActivated in App.Xaml.cs außer Kraft setzen und damit umgehen wie

protected override void OnActivated(IActivatedEventArgs args) 
     { 
      if (args.Kind == ActivationKind.ToastNotification) 
      { 
       var toastArgs = args as ToastNotificationActivatedEventArgs; 
       var arguments = toastArgs.Argument; 

       if (arguments == "ARG") 
       { 
        Frame rootFrame = Window.Current.Content as Frame; 
        if (rootFrame == null) 
        { 
         rootFrame = new Frame(); 
         Window.Current.Content = rootFrame; 
        } 
        rootFrame.Navigate(typeof(YOURPAGE)); 
        Window.Current.Activate(); 
       } 
      } 
     } 
+0

Gibt es eine Möglichkeit zu vermeiden, dass die App gestartet/aktiviert wird? Ich meine, ich möchte die Benachrichtigung ablehnen und die App nicht öffnen. – Dpedrinha

+0

Überprüfen Sie die App Benachrichtigungen von Microsoft, wo viele Proben demonstriert werden. Ich denke, dass Sie nach Aktivierungstypen suchen -> Hintergrund mit App geschlossen. – GeralexGR

+0

Ich habe die Antwort gefunden. Es ist eine Änderung an der XML. Nichts mit Aktivierung zu tun. Und es macht Sinn, da ich nicht möchte, dass es überhaupt aktiviert wird. Aber danke. – Dpedrinha

Verwandte Themen