1

キャンセルボタンを押すとアプリケーションが閉じるアプリケーションを作成しています。そのために、スタックオーバーフローの解決策として「navigator.app.exitApp()」ステートメントを使用しました。

このソリューションは android では機能していますが、windows phone 8 では機能していません。

このために次のコードを書きました。

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でプログラム的にアプリケーションを閉じるにはどうすればよいですか??

4

1 に答える 1

1

exitApp メソッドは、Windows Phone 8 の Cordova API ではサポートされていません。この問題を解決するには、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");
            }
        }
}

ありがとう、

于 2014-09-16T11:14:37.827 に答える