Выход из приложения при нажатии кнопки в android phonegap?


Я новичок в phonegap. Я подготовил образец заявления. Мое приложение имеет 2 страницы, первая страница имеет одну кнопку, при нажатии на вторую страницу откроется. Он работает нормально, используя следующие

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

на второй странице есть одна кнопка, при нажатии на которую я хочу выйти из приложения. Я использовал следующее

       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>

но это не работает.

7 55

7 ответов:

попробуйте этот код.

<!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.ОАО" С вашим phonegap js .

есть разные способы закрыть приложение, в зависимости от:

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

добавить эту строку, где вы хотите выйти из приложения.

@Pradip Kharbuja

В Кордове-2.6.0.js (l. 4032):

exitApp:function() {
  console.log("Device.exitApp() is deprecated. Use App.exitApp().");
  app.exitApp();
}
if(navigator.app){
        navigator.app.exitApp();
}else if(navigator.device){
        navigator.device.exitApp();
}

к сожалению я не могу ответить в комментариях. просто FYI, эти коды

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

Я подтверждаю, что не работает. я использую phonegap 6.0.5 и cordova 6.2.0

я использовал комбинацию выше, потому что мое приложение работает в браузере, а также на устройства. Проблема с браузером заключается в том, что он не позволит вам закрыть окно из сценария, если ваше приложение не было открыто сценарием (например, 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
            });