none
WP8.1 - Hintergrundprozess für Push Benachrichtigungen RRS feed

  • Frage

  • Hallo,

    Ich habe eine HybridApp, die unter anderem WinJS verwendet. Über den WNS kommen Push Benachrichtigungen an. Dies funktioniert allerdings nur, wenn ich einen Event-Listener definiere (also die App aktiv ist).

    channel.addEventListener("pushnotificationreceived", onPushNotification);

    Nun beschäftige ich mich mit Hintergrundprozessen. Wenn ich es richtig verstanden habe, müsste der Event-Listener vernachlässigt werden können, da der Hintergrundprozess auch aktiv ist, wenn die App im Vordergrund ist, richtig?

    Ich habe einen einfachen Hintergrundprozess (backgroundTask.js) geschrieben, der aber leider nie ausgeführt wird

    (function () {
    
    Windows.Storage.ApplicationData.current.localSettings.values["hello"] = "world";
    
    close();
    })();

    Er ist registriert im appxmanifest:

    <Extension Category="windows.backgroundTasks" StartPage="js/lib/backgroundTask.js">
          <BackgroundTasks>
            <Task Type="pushNotification" />
          </BackgroundTasks>
        </Extension>

    und wird aufgerufen durch:

            var builder = new Windows.ApplicationModel.Background.BackgroundTaskBuilder();
            var trigger = new Windows.ApplicationModel.Background.PushNotificationTrigger();
            builder.setTrigger( trigger );
            builder.taskEntryPoint = "js\\lib\\backgroundTask.js";
            builder.name = "meinname";
    
            try{
                var task = builder.register();
                //task.addEventListener("completed", onPushNotification);
            }
            catch (e){
                console.error(e);
            }

    Der Prozess scheint korrekt definiert zu sein, aber durch das Triggern des WNS scheint nichts zu passieren (es wird kein Wert in die Localsettings geschrieben). Muss ich dem Hintergrunddienst noch in irgendeiner Weise mit dem aktiven Channel verknüpfen, oder passiert das automatisch vom System? Muss der Trigger anders definiert werden?

    Ich bedanke mich im Voraus für jede Hilfe!

    Mit freundlichen Grüßen

    Freitag, 15. Mai 2015 10:25

Antworten

Alle Antworten