當我在主頁中使用我的cordova應用程序時,我需要向用戶顯示消息,詢問他是否真的要退出應用程序。
如果用戶選擇「是」,我需要退出應用程序。退出cordova Windows 10應用程序
要做到這一點,我用這個代碼:
document.addEventListener('backbutton', function() {
$rootScope.back();
$rootScope.$apply();
}, false);
$rootScope.back = function(execute) {
var path = $location.$$path;
if (path !== '/') {
$location.path(path.split('/').slice(0, -1).join('/'));
} else {
$rootScope.exitApp();
}
}.bind(this);
$rootScope.exitApp = function() {
$rootScope.$emit('showPopover', {
message: $rootScope.LABELS.QUIT_APP,
confirmCallback: function() {
if (typeof navigator.app !== 'undefined') {
navigator.app.exitApp();
}
},
cancelCallback: doNothing
});
};
它的工作在Android和iOS,但不是在Windows 10應用程序。
在W10中,navigator.app
未定義。
我讀了我應該暫停的應用程序,而不是退出,所以我想這窗戶科爾多瓦DOC quirkswritten(https://cordova.apache.org/docs/en/latest/cordova/events/events.html#backbutton):
$rootScope.exitApp = function() {
$rootScope.$emit('showPopover', {
message: $rootScope.LABELS.QUIT_APP,
confirmCallback: function() {
if (typeof navigator.app !== 'undefined') {
navigator.app.exitApp();
}
else if (platformUtils.isWindows()) {
throw new Error('Exit'); // This will suspend the app
}
},
cancelCallback: doNothing
});
};
throw new Error('Exit')
被調用,並在日誌中顯示錯誤,但應用不暫停。
也許是因爲我在一個角度的應用程序?
有沒有人有想法?