2017-02-07 4 views
1

Ich versuche, rohe Push-Benachrichtigungen zu einer Hintergrundaufgabe zu erhalten. Das funktioniert schon, wenn die App im Vordergrund ist, also weiß ich, dass es nichts bringt, wenn die Benachrichtigung zugestellt wird.UWP Hintergrund rohe Push-Benachrichtigungen

Hier sind die Schritte, die ich verwendet habe. In dem Manifest

:

<Extensions> 
    <Extension Category="windows.backgroundTasks" 
       EntryPoint="TestApp.BackgroundNotifications"> 
     <BackgroundTasks> 
     <Task Type="pushNotification" /> 
     </BackgroundTasks> 
    </Extension> 
    </Extensions> 

Die Hintergrundklasse:

namespace TestApp { 
    public sealed class BackgroundNotifications : IBackgroundTask { 
    public void Run(IBackgroundTaskInstance taskInstance) { 
     Debug.WriteLine("Got background notification"); 
    } 
    } 
} 

Und dann die Registrierung:

BackgroundAccessStatus status = 
    await BackgroundExecutionManager.RequestAccessAsync(); 
    BackgroundTaskBuilder taskBuilder = 
    new BackgroundTaskBuilder { 
     Name = "MyBackgroundNotifications", 
     TaskEntryPoint = "TestApp.BackgroundNotifications" 
    }; 
    taskBuilder.SetTrigger(new PushNotificationTrigger()); 
    BackgroundTaskRegistration myTask = taskBuilder.Register(); 

Wenn ich eine rohe Push-Benachrichtigung senden sehe ich dies in der log aber nicht meine Debug-Nachricht:

The program '[16660] backgroundTaskHost.exe' has exited with code 1 (0x1). 

Gibt es einen Schritt, den ich vermisse?

Antwort

1

Der Code, den Sie gepostet haben, ist richtig. In Ihren Schritten scheint es so, als hätten Sie vergessen, Referenzieren Sie das Projekt Hintergrundaufgaben aus Ihrem Universal Windows Platform (UWP) App-Projekt.

In Ihrem UWP App können Sie direkt auf Referenzen klicken und wählen hinzufügen Referenz. Unter Projekte, wählen Sie Lösung und wählen Sie dann den Namen Ihres Projekts Hintergrund Projekt und klicken Sie auf OK.

Danach können Sie Ihr Projekt neu erstellen, dann sollte Ihre Hintergrundaufgabe funktionieren können.

Weitere Informationen finden Sie unter Create and register an out-of-process background task.

+0

Ja, das war es. Ich habe nicht verstanden, dass es in einem eigenen Projekt sein musste. – JOTN

Verwandte Themen