【问题标题】:Not able to exit phonegap application on Back Button of android device无法在 android 设备的后退按钮上退出 phonegap 应用程序
【发布时间】:2014-05-04 10:19:02
【问题描述】:

我已使用以下代码退出应用程序。这是第一次完美运行。但是当我打开一些下一个屏幕然后返回到我想关闭我的应用程序的屏幕时,它无法关闭应用程序。

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript">

function onLoad() 
    {
        document.addEventListener("deviceready", onDeviceReady, false);
        //alert("Load");
    }

    function onDeviceReady() 
    {
        document.addEventListener("backbutton", onBackKeyDown, true);
       // alert("Device Ready");
    }


    function onBackKeyDown() 
    {
        navigator.app.exitApp();        
    }
</script>

请提出一些可行的建议....

【问题讨论】:

  • 您是否尝试过绑定 deviceready out of onload? deviceready 会在 phonegap api 加载后立即触发,因此它甚至可能在您的 onLoad 函数执行之前触发
  • @TaimourTanveer 谢谢...
  • 它工作正常吗?

标签: javascript android html cordova back-button-control


【解决方案1】:

您应该在页面加载时删除导航历史记录,这样每当您按下返回按钮时,它都会自动退出应用程序。

        if (typeof navigator.app !== 'undefined') {
            navigator.app.clearHistory();
        }

上面的代码可以工作。由于 navigator.app 未针对 iOS 定义,因此可以跨平台工作。

【讨论】: