65

私はphonegapに不慣れです。サンプルアプリケーションを1つ用意しました。私のアプリケーションには2ページあり、最初のページには1つのボタンがあり、クリックすると2番目のページが開きます。以下を使用して正常に動作しています

         function callAnothePage()
         {
            window.location = "test.html";
         }

2番目のページにはボタンが1つあり、クリックするとアプリケーションを終了します。私は以下を使用しました

       function exitFromApp()
       {
            navigator.app.exitApp();
       }

test.htmlコード、

<!DOCTYPE html>
<html>

<head>
    <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
    <script type="text/javascript" charset="utf-8">  
        function onLoad()
        {
            console.log("device reday !!!!")
            document.addEventListener("deviceready", onDeviceReady, true);
        }
        function exitFromApp()
        {
            console.log("in button");
            navigator.app.exitApp();
        }
    </script>
</head>

<body onload="onLoad();">
    <h4><center>Login Page</center></h4>

    <input type="submit" onclick="exitFromApp()" value="exit"/>

</body>
</html>

しかし、それは機能していません。

4

7 に答える 7

70

このコードを試してください。

<!DOCTYPE HTML>
<html>
  <head>
    <title>PhoneGap</title>

        <script type="text/javascript" charset="utf-8" src="cordova-1.5.0.js"></script>      
        <script type="text/javascript" charset="utf-8">

            function onLoad()
            {
                  document.addEventListener("deviceready", onDeviceReady, true);
            }

            function exitFromApp()
             {
                navigator.app.exitApp();
             }

        </script>

    </head>

    <body onload="onLoad();">
       <button name="buttonClick" onclick="exitFromApp()">Click Me!</button>
    </body>
</html>

src="cordova-1.5.0.js"をphonegapjsに置き換えます。

于 2012-09-06T10:26:47.307 に答える
21

アプリを閉じるには、次の方法に応じてさまざまな方法があります。

if (navigator.app) {
    navigator.app.exitApp();
} else if (navigator.device) {
    navigator.device.exitApp();
} else {
    window.close();
}
于 2016-04-19T05:14:39.910 に答える
11
navigator.app.exitApp();

アプリケーションを終了する場所にこの行を追加します。

于 2014-10-14T23:42:35.260 に答える
3

@Pradip Kharbuja

Cordova-2.6.0.js(l。4032)の場合:

exitApp:function() {
  console.log("Device.exitApp() is deprecated. Use App.exitApp().");
  app.exitApp();
}
于 2013-04-24T08:12:13.460 に答える
2
if(navigator.app){
        navigator.app.exitApp();
}else if(navigator.device){
        navigator.device.exitApp();
}
于 2016-03-16T22:09:40.540 に答える
1

申し訳ありませんが、コメントで返信することはできません。参考までに、これらのコード

if (navigator.app) {
navigator.app.exitApp();
}
else if (navigator.device) {
  navigator.device.exitApp();
}
else {
          window.close();
}

動作しないことを確認します。phonegap6.0.5とcordova6.2.0を使用しています

于 2016-08-04T09:01:39.110 に答える
1

私のアプリはブラウザとデバイスで動作するため、上記の組み合わせを使用しました。ブラウザの問題は、アプリがスクリプト(browsersyncなど)によって開かれない限り、スクリプトからウィンドウを閉じることができないことです。

        if (typeof cordova !== 'undefined') {
            if (navigator.app) {
                navigator.app.exitApp();
            }
            else if (navigator.device) {
                navigator.device.exitApp();
            }
        } else {
            window.close();
            $timeout(function () {
                self.showCloseMessage = true;  //since the browser can't be closed (otherwise this line would never run), ask the user to close the window
            });
        }
于 2016-09-05T16:53:44.780 に答える