none
Suspending Ereignis wird nicht ausgelöst! RRS feed

  • Allgemeine Diskussion

  • Hallo an alle!

    Ich programmiere derzeit eine App mit Bluetooth-Verbindung zu einem Endgerät! Das funktioniert soweit ganz gut!

    Allerdings wird die Verbindung inaktiv und abgebrochen, wenn die App nicht mehr im Vordergrund ausgeführt wird. Daher wollte ich gern das Suspending Ereignis nutzen um meine Verbindung manuell zu beenden und ein paar weitere Einstellungen zu tätigen, damit die App bei erneutem Aktivieren wieder ordnungsgemäß weiterarbeitet!

    Ich habe folgende Zeilen eingefügt:

    Application.Current.Suspending += new SuspendingEventHandler(suspend);

    private void suspend(object sender, Windows.ApplicationModel.SuspendingEventArgs e)

    {//executed Code...}

    Nun wird aber die Funktion nie ausgeführt! Habe ich noch etwas vergessen?

    Vielen Dank für eure Hilfe

    Mittwoch, 20. Mai 2015 09:45

Alle Antworten

  • Guten Morgen!

    Also das Suspend-Ereignis wird doch ausgelöst! Ich wusst nur nicht dass man es mit dem Debugger manuell auslösen muss.

    Allerdings schließt sich ein weiteres Problem an: In der Suspendmethode möchte ich einen asynchronen Vorgang, der noch aktiv ist abbrechen. Dazu übergebe ich meiner asynchronen Methode ein CancellationToken. Im Normalbetrieb kann ich den Vorgang über eine Timerfunktion auch beenden. Im Suspend-Ereignis funktioniert das ganze bloß nicht! Die Variante funktioniert ausschließlich in der Timerfunktion. Ich hatte versuchshalber ein Clickereignis eines Buttons verwendet um den asynchronen Vorgang zu beenden. Das funktionierte auch nicht! Was mache ich falsch?

    source = new System.Threading.CancellationTokenSource(); //Erzeugung des CancellationTokens uint sizeFieldCount = await reader.LoadAsync(1).AsTask(source.Token); // Hier startet der Lesevorgang source.Cancel(); // Abbruch des Asynchronmethode

    //(entweder im Timer_tick--> da geht es ODER im Suspend-Ereignis / ClickButton --> da geht es nicht)


    Donnerstag, 21. Mai 2015 07:14