如何处理应用程序在长时间暂停(未终止)后恢复的情况
How to handle scenario when application is resumed after long suspension (Without terminated)
我的应用程序显示它从web服务检索的数据。假设我的应用程序处于挂起模式,并在很长一段时间内保持挂起状态。之后,当这个应用程序恢复时,我想再次查询web服务,并在应用程序中显示更多最新数据。问题是,我不确定什么地方是处理这种情况的好地方。下面是代码的简化版本。在下面的示例中,当我使用Suspend和Terminate选项时,我会在控制台窗口中获得恢复,但当我只执行Suspend并在该resume之后,似乎不会调用任何函数。你知道我可能做错了什么吗?
app.addEventListener("resuming", function (vt) {
console.log("resuming");
});
app.addEventListener("activated", function (args) {
console.log("activated");
if (args.detail.kind === activation.ActivationKind.launch) {
if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
console.log("new launch");
} else {
console.log("resume");
}
}
});
app.oncheckpoint = function (args) {
console.log("suspended");
};
假设变量"app"的定义是示例应用程序的标准:
var app = WinJS.Application;
然后,根据MS文档,您不能将该变量用于"恢复"或"暂停"事件:
注意:无法使用此功能添加某些Windows应用商店应用程序事件的监听器,如"暂停"answers"恢复"。您必须改用Windows.UI.WebUI.WebUIApplication.addEventListener。
因此,正如医生所说,你需要使用:
Windows.UI.WebUI.WebUIApplication.addEventListener("suspending", suspending, false);
Windows.UI.WebUI.WebUIApplication.addEventListener("resuming", resuming, false);
Windows.UI.WebUI.WebUIApplication.addEventListener("resuming", function onresuming()
{
Windows.UI.Popups.MessageDialog('hi i a resuming').showAsync();
});
请参阅此处的msdn页面。不幸的是,app.addEventListner('resuming', function() {})
没有投掷。
这个msdn页面中的应用程序简历部分也可能很有用,它讨论了延迟简历的相同场景。
相关文章:
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- 如何临时暂停浏览器渲染,然后恢复整个页面
- 当使用Watchify时,Browserify+Babelify Gulp任务没有终止
- NodeJS-readline暂停和恢复事件发射器(逐行读取)
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- Eloquent JavaScript递归示例如何终止为返回1,但仍然输出指数值
- 我希望在不替换现有变量的情况下恢复localStorage中的变量
- 克隆和恢复”;工具化的“;元素
- 如何暂停和恢复jquery间隔
- 删除对象时终止setInterval
- 在python中,我如何才能恢复被隐藏的元素的内容
- 使用react native检测应用程序终止
- javascript恢复样式
- 在意外断电时恢复JS计时器
- 将JSON存储和恢复到此Ionic应用程序的最有效方法
- 网络工作者突然终止工作
- 在文本区域禁用javascript定义的keydown事件并恢复默认行为
- 将嵌套的主干模型存储并恢复到本地存储中
- 如何处理应用程序在长时间暂停(未终止)后恢复的情况
- Reactjs:复选框状态为更新,然后在回调函数终止时恢复