Phonegap Android Back Button - 在主页上关闭带有后退按钮的应用程序

Dan*_*cer 52 jquery-mobile cordova

我正在使用Jquery Mobile/Phonegap开发Android应用程序.我有以下代码来控制手机的后退按钮:

document.addEventListener("backbutton", backKeyDown, true); 


function backKeyDown() { 
    // Call my back key code here.
    $.mobile.changePage("#homepage", "slideup");
}
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但我希望应用程序只在主页上按下后退按钮时关闭,这可能吗?

Spa*_*hut 121

更新:这已停止使用最新的Phonegap更新(据称).如果您知道,请随意提供有效的解决方案.


我是这样做的:

document.addEventListener("backbutton", function(e){
    if($.mobile.activePage.is('#homepage')){
        /* 
         Event preventDefault/stopPropagation not required as adding backbutton
          listener itself override the default behaviour. Refer below PhoneGap link.
        */
        //e.preventDefault();
        navigator.app.exitApp();
    }
    else {
        navigator.app.backHistory()
    }
}, false);
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请在此处找到相关文档以及完整示例:http://docs.phonegap.com/en/2.0.0/cordova_events_events.md.html#backbutton

  • 为什么使用`e.preventDefault()`? (4认同)

Tho*_*V J 12

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    document.addEventListener("backbutton", onBackKeyDown, false);
}
function onBackKeyDown() 
{
 navigator.app.exitApp();
}
Run Code Online (Sandbox Code Playgroud)

谢谢spader.


Sim*_*ald 9

您需要跟踪主页的显示时间.如果您知道自己正在主页上致电:

navigator.app.exitApp();
Run Code Online (Sandbox Code Playgroud)