我已经开发了一个使用Html,CSS和JS的Windows 10通用应用程序。对于允许内联脚本,我使用ms-appx-web上下文,并将ms-appx-web:///login.html设置为清单中的起始页。 每当我在Windows 10 mobile中打开我的应用程序时,它都能正常工作,但如果我切换到另一个应用程序,然后再从Windows应用程序列表中选择应用程序再次转到应用程序。然后,它不是从保存状态恢复应用程序,而是重新启动应用程序。Windows 10通用应用程序不能从以前的会话恢复
(function() {
"use strict";
var app = WinJS.Application;
var activation = Windows.ApplicationModel.Activation;
app.onactivated = function (args) {
if (args.detail.kind === activation.ActivationKind.launch) {
if (args.detail.previousExecutionState === activation.ApplicationExecutionState.terminated) {
}
if (WinJS.Application.sessionState.url) {
localStorage.setItem("UserName", WinJS.Application.sessionState.name);
window.location = WinJS.Application.sessionState.url;
}
args.setPromise(WinJS.UI.processAll().then(function() {
}));
}
};
app.oncheckpoint = function (args) {
var location = window.location.href;
var name = localStorage.getItem("UserName");
WinJS.Application.sessionState.name = name;
WinJS.Application.sessionState.url = location;
};
Windows.UI.WebUI.WebUIApplication.addEventListener("resuming", function (args) {
if (WinJS.Application.sessionState) {
window.location = WinJS.Application.sessionState.url;
localStorage.setItem("UserName", WinJS.Application.sessionState.name);
}
}, false);
Windows.UI.WebUI.WebUIApplication.addEventListener("suspending", function (args) {
var location = window.location.href;
var name = localStorage.getItem("UserName");
WinJS.Application.sessionState.name = name;
WinJS.Application.sessionState.url = location;
}, false);
app.start();
})();
有谁能告诉我我做错了什么?
我改变了我的app.onactivated事件main.js
app.onactivated = function (args) {
if (args.detail.kind === activation.ActivationKind.launch) {
if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
} else {
}
args.setPromise(WinJS.UI.processAll());
var name = Windows.Storage.ApplicationData.current.roamingSettings.values["name"];
var url = Windows.Storage.ApplicationData.current.roamingSettings.values["url"];
if (name) {
localStorage.setItem("UserName", name);
}
if (url) {
window.location.href = url;
}
}
};
,但是它停止在window.location.href = url;
线运行。
什么,我试图做的是对暂停事件存储的用户名和当前的URL,并希望它恢复事件的恢复(当用户打开从已经运行的应用程序列表中的应用程序。)
如果您在应用程序中使用'ms-appx-web:///',则Windows的命名空间甚至不可用。我很好奇你怎么能没有任何错误地运行你的应用程序。你能不能分享一个可以重现你的问题的基本演示? –
我已将ApplicationContentUriRules添加到清单文件中 uap:ApplicationContentUriRules> ' –
Sonali
我只想从它离开的位置恢复我的应用程序。而不使用WinJS.Navigation.Navigate。 – Sonali