PhoneGap + jQueryMobile:Android后退按钮关闭嵌套列表中的应用程序

bzm*_*zmw 7 jquery android cordova

我正在使用PhoneGap和jQuery Mobile创建一个应用程序.

使用jQuery Mobile我创建了一个嵌套列表.

点击进入嵌套列表后我想回去.我希望单击我的Android设备(诺基亚N1)上的后退按钮,它将返回一个级别.

但相反,Android关闭应用程序而不是回到一个级别.

我正在使用PhoneGap 1.2.0,jQuery Mobile v1.0rc2,jQuery 1.6.4和Android 2.3.3(Gingerbread).

我也升级到jQuery Mobile 1.0,没有任何变化.

Fla*_*ato 11

您可以收听后退按钮事件:

document.addEventListener("backbutton", onBackKeyDown, false);

function onBackKeyDown() {
    // Handle the back button
}
Run Code Online (Sandbox Code Playgroud)

如果当前页面是主页($.mobile.activePage在jQuery Mobile中)退出应用程序,则:

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


Rob*_*Rob 8

我有同样的问题.我发现了如何处理Java代码中的后退按钮.

如果可能,这会返回一步,否则退出应用程序.

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_BACK) {
    if(appView.canGoBack()){
       appView.goBack();
        return true;
    }
  }
  return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)

也可以在JavaScript端进行:

document.addEventListener("backbutton", function() {
    //Logic//
}, false);
Run Code Online (Sandbox Code Playgroud)

  • @VDP Android后退按钮切换活动.你是phonegap App只是一个.因此,默认行为(正确)将关闭您的应用程序.并且由于之前没有活动,您将返回主屏幕.我确实同意这种行为并不是真正的"本机",但我想PG希望尽可能少地使用正常的Android行为.(最终,大多数开发人员都在寻找.) (2认同)