在android phonegap中点击按钮退出应用程序?

时间:2012-09-06 10:00:05

标签: android cordova phonegap-plugins

我是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 个答案:

答案 0 :(得分:64)

试试这段代码。

<!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>

用你的phonegap js替换 src =“cordova-1.5.0.js”

答案 1 :(得分:16)

有多种方法可以关闭应用,具体取决于:

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

答案 2 :(得分:11)

navigator.app.exitApp();

将此行添加到您希望退出应用程序的位置。

答案 3 :(得分:3)

@Pradip Kharbuja

在Cordova-2.6.0.js(l.4032)中:

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

答案 4 :(得分:2)

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

答案 5 :(得分:1)

抱歉,我无法回复评论。仅供参考,这些代码

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

我确认没有工作。我使用phonegap 6.0.5和cordova 6.2.0

答案 6 :(得分: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
            });
        }