我正在使用Cordova 3.3来创建Android应用。 我想覆盖后退按钮(为什么不重要),我正在使用这种方法:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
我也试过这种方法:
@Override
public void onBackPressed()
{
moveTaskToBack(true);
}
但是,这在Android 4.4.2(KitKat)中都不起作用,onDestroy()仍因某些原因被调用..
我也试过设置一个布尔“taskInBack”变量,但是因为onDestroy()被调用,变量没有帮助..
我在不同版本的Android上试过这个,除了KitKat之外,它似乎都运行良好。
有谁知道为什么这不起作用?它可能与Cordova有关,还是与Android有关?
答案 0 :(得分:0)
由于您使用的是Cordova,为什么不使用Cordova的backbutton事件而不是编写本机代码?
我使用一个函数(如下所示)来控制我的应用程序中后退按钮的使用。最常见的用法是后退按钮不执行任何操作,除非用户位于可以返回视图的视图上。
试试这个:
document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown() {
// Handle the back button
}
完整参考: http://docs.phonegap.com/en/3.3.0/cordova_events_events.md.html#backbutton
答案 1 :(得分:0)
目前,Cordova未公开Android原生方法moveTaskToBack()
..
如果您需要该功能,可以试用Cordova plugin