我正在使用Cordova和WinJS编写应用程序Windows Phone。我的问题是,当我在模拟器Windows Phone上测试时,WinJS.Application.onactivated事件没有被调用。有没有人有同样的问题?谢谢
在Windows UWP平台中,WinJS通过cordova.js
加载,不幸的是onactivated
事件已被触发。我使用的解决方案是添加
<script src="WinJS/js/base.js"></script>
,或2。
<script>
if (!!window['Windows']) {
Windows.UI.WebUI.WebUIApplication.onactivated = function (ev) {
// store this ev object so that you can invoke it later
}
}
</script>`
在你的<head>
的index.html
中,在你的应用程序开始时处理这个onactivated
事件。
请检查this help document of WebUIApplication Class以获取更多信息。
还有一件事需要提及。如果你试图从这个onactivated
事件中获取一个文件,你最好直接在storagefile.openAsync(...)
的处理程序中从MSApp.createFileFromStorageFile(storagfile)
或Windows.UI.WebUI.WebUIApplication.onactivated
获取它的RandomAccessStream,因为你可能没有能力或权限在这个事件之外打开这个StorageFile。