应用关闭时在Windows Phone 8.1中处理Toast通知

Kis*_*Oli 9 javascript windows cordova windows-phone-8 windows-phone-8.1

当用户使用以下代码片段点击通知(在操作栏上)时,我正在Windows Phone 8.1应用程序(使用HTML/JS,CSS)上处理Toast Notifications:参考:https://msdn.microsoft.com/en-us /library/windows/apps/hh761468.aspx

WinJS.Application.addEventListener("activated", onActivatedHandler, false);

function onActivatedHandler(args) {

    if (args.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
        localStorage.messageDetails = args.detail.arguments;
        window.location.href = "index.html";
    }
}
Run Code Online (Sandbox Code Playgroud)

当应用程序在前台或后台运行时,它运行良好.但是,当我点击通知时,它没有在应用程序未运行时(前景或后台)点击上面的代码段.我不知道我做错了什么.请帮帮我.提前致谢.

小智 1

我不知道它不起作用的技术原因,因为您已经以正确的方式实现了它。但有两点我希望您检查一下,希望您的问题能够得到解决。

  1. 尝试使用pushnotificationreceived事件,它会给你整个toast通知xml字符串,你可以进一步处理它。

  2. 当触发启动时,页面可能无法加载整个 html 和 javascript。因此,您可以在激活的事件处理程序的 If 条件内使用 Window.SetTimeout 延迟 1 秒或更多秒。