gpt4 book ai didi

windows-phone-8.1 - 从 toast 通知启动时,WP8.1 WinJS 应用程序崩溃

转载 作者:行者123 更新时间:2023-12-03 17:20:38 25 4
gpt4 key购买 nike

我正在用 WinJS 开发 WP8.1 应用程序。我正在使用推送通知。我想根据推送通知有效负载中收到的“启动”字符串执行逻辑。我的 toast 通知负载是

<toast launch='launchString'>
<visual>
<binding template='ToastText02'>
<text id='1'>headlineText</text>
<text id='2'>bodyText</text>
</binding>
</visual>
</toast>

我已经注册了一个事件
WinJS.Application.addEventListener("activated", this.onActivated);

定义为
onActivated: function (args) {

if (args.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
if (args.detail.arguments) {
var launchString = args.detail.arguments;
eval("angular.element(document.getElementById('mainBody')).scope().onNotification(launchString)")

}
else {
console.log("Not launched from toast notification")
}
}
}

这里的 onNotification(launchString) 函数具有基于 launchString 做出一些决策的逻辑。

当应用程序在前台或在后台运行时,一切正常。但是当应用程序处于终止状态时,我尝试通过点击 toast 通知来启动,应用程序在启动后立即崩溃。我无法在 VS 中对此进行调试,因为在调试时我无法重新创建此场景(因为调试器在调试应用程序被终止时退出)。
  • 有什么办法可以调试处于终止状态的应用程序?
  • 当应用程序处于终止状态时,我尝试启动并读取“启动”参数时出现什么问题?我该如何解决这个问题?

  • 谢谢你的帮助!

    编辑:
    Here是一个类似的问题。

    最佳答案

    好的,所以我得到了答案。
    onActivated事件在 Cordova deviceready 之前被触发被解雇。因此,我的代码甚至在加载Angular.js之前就调用Angular。因此,应用程序在前台或后台运行良好,因为 angular.js 已经加载。为了解决这个问题,我使用了超时并检查了 angularobject .

    onActivated: function (args) {

    if (args.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
    if (args.detail.arguments) {
    var launchString = args.detail.arguments;

    window.setTimeout(function () {
    if(typeof angular !== undefined)
    eval("angular.element(document.getElementById('mainBody')).scope().onNotificationWindows(launchString)");
    }, 3000);

    }
    else {
    console.log("Not launched from toast notification")
    }
    }

    }

    关于windows-phone-8.1 - 从 toast 通知启动时,WP8.1 WinJS 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32776118/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com