Mit UWP-Anwendung (nur SideLoaded), Ich entwickle eine Überwachungsanwendung mit Serial-Port.ExtendedExecutionForegroundSession: UWP :: Ich war panisch
Beispiel. Ich lese die Temperatur vom Sensor über die serielle Schnittstelle. Ich möchte Monitor für 365 Tage, 24 Stunden zu tun. Die Anwendung muss für alle Zeit arbeiten. Keine Unterbrechung.
6 Monat
für die Entwicklung, verbringe ich 6 Monate .. aber Meine Anwendung war stoppen, wenn ein Minimum reduziert. Beeindruckend. Ja wirklich ? Ich war in Panik .... Ich brauche deine Hilfe.
im Debugging-Modus, alles hat gut funktioniert. Auch wenn minimiert, Alle Hintergrundaufgabe, warten Aufgabe funktioniert, ohne zu stoppen. aber Release-Modus = seitengeladene Anwendung wurde gestoppt, besonders Gerät lesen/schreiben.
Ich habe unten Code hinzugefügt, um dies zu vermeiden. Aber das Problem wurde nicht gelöst.
// This is Caliburn.micro , UWP framework.
protected override async void OnLaunched(LaunchActivatedEventArgs e)
{
var newSession = new ExtendedExecutionForegroundSession();
newSession.Reason = ExtendedExecutionForegroundReason.Unconstrained;
newSession.Description = "Long Running Processing";
newSession.Revoked += SessionRevoked;
var result = await newSession.RequestExtensionAsync();
switch (result)
{
case ExtendedExecutionForegroundResult.Allowed:
Debug.WriteLine($"ExtendedExecutionForegroundResult.Allowed");
break;
default:
case ExtendedExecutionForegroundResult.Denied:
Debug.WriteLine($"ExtendedExecutionForegroundResult.Denied");
break;
}
private void SessionRevoked(object sender, ExtendedExecutionForegroundRevokedEventArgs args)
{
Debug.WriteLine($"ExtendedExecutionForegroundResult :: SessionRevoked");
}
und ist Package.appxmanifest hier.
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="uap mp rescap">
.....
<Capabilities>
<Capability Name="internetClient" />
<rescap:Capability Name="extendedBackgroundTaskTime"/>
<rescap:Capability Name="extendedExecutionUnconstrained"/>
<DeviceCapability Name="serialcommunication">
<Device Id="any">
<Function Type="name:serialPort" />
</Device>
</DeviceCapability>
</Capabilities>
</Package>
Hier sind weitere Informationen.
- Alles kompilieren und bauen ist Erfolg.
- im Debug-Modus, alle Aufgabe (Hintergrund erwarten) funktioniert. Kein Halten.
- Ausgegangen als seitengeladene Anwendung, funktioniert nicht während "Minimiert" ...
- im Freigabemodus (auf VIsual Studio). Es hört nicht auf.
- Desktop (Notebook-PC) mit Wechselstrom. Nicht Akku ..
- Windows 10 Einstellung. "Hintergrund App" = ON für meine installierte sidegeladene Anwendung (ich bestätigt).
Bitte helfen!
Update 1:
Ich habe versucht, diese gleiche code..but zu verwenden. Nicht ...
var extendedExecutionSession = new ExtendedExecutionSession();
extendedExecutionSession.Reason = ExtendedExecutionReason.Unspecified;
var extendedExecutionResult = await extendedExecutionSession.RequestExtensionAsync();
if (extendedExecutionResult != ExtendedExecutionResult.Allowed)
{
//extended execution session revoked
extendedExecutionSession.Dispose();
extendedExecutionSession = null;
}
Welche soll ich verwenden?
- ExtendedExecutionForegroundSession
- ExtendedExecutionSession
Können Sie bitte klären, was genau fehlschlägt, wenn Sie versuchen, die Extended Execution Session zu verwenden? a) Der Antrag auf EE wird abgelehnt? (b) Anfrage ist erlaubt, aber die App wird immer noch ausgesetzt, wenn sie minimiert wird? (c) App wird nicht gesperrt, aber bestimmte APIs funktionieren nicht mehr, wenn sie minimiert werden? (d) etwas anderes? –
Wow .. Ich lernte jetzt die Funktion Suspend zu simulieren! und ich könnte Fehlermeldung nach dem Aussetzen erhalten. Es ist mit meinem Gerät verbunden! und ich könnte das Problem lösen! Vielen Dank . Hauptursache war. Meine serielle Bibliothek hat SuspendEvent. Es hat die Geräteverbindung beendet !! haha Entschuldigung . und Danke, dass du geholfen hast! –
Ich poste eine andere Frage ..: https://Stackoverflow.com/questions/47586768/uwp-suspend-disable-with-xtendedexecutionssession-or-ontendodedexecutionforeground –