我已經開發了一個使用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