2016-06-10 29 views
0

In Windows Phone hatten wir einige Lebenszyklen, die in UWP nicht verfügbar sind.Wie erkennt man, dass eine Anwendung nicht mit der Anwendung interagiert?

Die Anwendung, die ich entwickle, kommunizieren über Bluetooth. Im Moment kommuniziere ich alle 1 Minute mit dem Bluetooth-Gerät. Wenn der Benutzer jedoch zu einer anderen Anwendung wechselt oder den Bildschirm einfach ausschaltet (und die Anwendung noch läuft), möchte ich, dass die Kommunikation alle 10 Minuten kommuniziert.

Wenn ich jedoch zwischen den Anwendungen umschalte oder den Bildschirm ausschalte, wird das OnSuspending nicht ausgelöst.

Gibt es eine andere Möglichkeit, dass ich Anwendung Schalter oder Bildschirm ausgeschaltet erkennen kann.

Ich weiß, dass diese Frage keinen Code hat, aber ich untersuchte die UWP-Lebenszyklen, aber die Lösung war nicht da.

Thx

+0

haben Sie einen Ereignishandler für das Application.Suspending-Ereignis registriert? [Hier klicken] (https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/app-lifecycle) –

+0

Ich habe einen Breakpoint in App.cs. Dieses Ereignis hat nicht ausgelöst. Auch wenn ich OnSuspending von VS2015 Menü simuliert und das Ereignis/Erkennung ist in Ordnung. –

+0

Wie wäre es, App Resuming ODER OnNavigatedTo Ereignisse? Irgendwelche von diesen Feuer? –

Antwort

1

Während the suspending event won't be fired Debuggen aufgrund deaktiviert PLM. Sie müssen es manuell über die Registerkarte Lebenszyklus aufrufen. Normalerweise, wenn Sie ohne Debugger angeschlossen laufen, wird es bis zu ein paar Sekunden nach dem Verlassen der App gefeuert werden - Bildschirm sperren, App wechseln, usw.

Für Ihre Zwecke wird die Suspending Ereignis das Beste sein, IMHO. Ansonsten können Sie auch denken Window.Current.VisibilityChanged und Window.Current.Activated - aber die beiden nicht über deferals und kann in anderen Situationen ausgelöst werden, nicht nur die, die Sie erwähnt haben.

+0

Ihre Antwort war direkt auf das Geld, thx. –