【问题标题】:How to exit an application on Windows Phone 8 programmatically如何以编程方式退出 Windows Phone 8 上的应用程序
【发布时间】:2014-09-16 11:13:00
【问题描述】:

我正在创建一个应用程序,当我按下取消按钮时,应用程序应该关闭。 为此,我使用了“navigator.app.exitApp()”语句作为堆栈溢出的解决方案。

此解决方案适用于 android,但不适用于 windows phone 8。 Windows phone 抛出异常“无法获取未定义或空引用的属性 '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 phone 中无法运行。 如何在 windows phone 8 中以编程方式关闭应用程序??

【问题讨论】:

    标签: windows-phone-8 devextreme


    【解决方案1】:

    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");
                }
            }
    }
    

    谢谢,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 2023-03-29
      • 2011-09-13
      相关资源
      最近更新 更多