Я разработал универсальное приложение Windows 10 с использованием Html, css и JS. Для разрешения встроенных скриптов я использую ms-appx-web context и установил ms-appx-web: ///login.html как стартовую страницу в манифесте. Всякий раз, когда я открываю свое приложение в мобильном устройстве Windows 10, он отлично работает, но если я переключусь на другое приложение, а затем снова зайдите в приложение, выбрав его из списка приложений 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