我正在创建一个应用程序,当我按下取消按钮时,应用程序应该关闭。 因为我已经使用“navigator.app.exitApp()”语句给出了堆栈溢出的解决方案。
此解决方案适用于Android,但它无法在Windows Phone 8中运行。 Windows手机抛出“无法获取未定义或空引用的属性'exitApp'的异常”
我已为此编写了以下代码。
cancelLogin: function () {
var result = DevExpress.ui.dialog.confirm('Do you want to exit ?', 'Confirm Exit');
result.done(function (dialogResult) {
try {
if (dialogResult === true) {
navigator.app.exitApp();
}
}
catch (e) {
DevExpress.ui.dialog.alert(e.message, 'Exception');
}
});
}
这在Android中运行良好,但在Windows手机中无法正常工作。 如何在Windows Phone 8中以编程方式关闭应用程序???
答案 0 :(得分:2)
适用于Windows Phone 8的Cordova API不支持exitApp方法。要解决此问题,请执行以下Windows Phone 8平台代码:
window.external.Notify("DevExpress.ExitApp");
如果使用DevExtreme向导创建Windows Phone应用程序,将自动生成所需的代码。
if(device.platform === "win8" && device.phone) {
defaultLayout = "simple";
startupView = "Navigation";
$.each(Application1.config.navigation, function (i, item) { item.root = false; });
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
document.addEventListener("backbutton", onBackKeyDown, false);
}
function onBackKeyDown() {
if(Application1.app.canBack()) {
Application1.app.back();
}
else {
if(window.external) {
window.external.Notify("DevExpress.ExitApp");
}
}
}
谢谢,