Nar*_*ngh 10 android back-button cordova
请任何人建议,如何在工作时禁用后退按钮事件PhoneGap?
我需要在我的Activity(DroidGap代码)中做一些事情来控制后退按钮事件.
甚至,以下代码在我的工作中运行良好Activity,但在使用时却无法正常工作DroidGap.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//preventing default implementation previous to android.os.Build.VERSION_CODES.ECLAIR
return true;
}
return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
调用setOnKeyListener上appView帮了我.
我只需要在上面的代码片段中进行一些小改动,如下所示:
appView.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return true;
}
return onKeyDown(keyCode, event);
}
});
Run Code Online (Sandbox Code Playgroud)
EDITED
按键事件实际上发生了两个动作 - Action Up&Action Down
因此,应该使用以下内容来获取关键事件.
appView.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
// Do Here whatever you want
return true;
}
return onKeyDown(keyCode, event);
}
});
Run Code Online (Sandbox Code Playgroud)
比Narendra的版本略胜一筹.它可以正确处理按键以外的键按键.例如,将下面的代码放在onCreate override中.
appView.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP) {
if(keyCode == KeyEvent.KEYCODE_BACK) {
// Do Stuff Here
return true;
}
return onKeyUp(keyCode, event);
}
return onKeyDown(keyCode, event);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6281 次 |
| 最近记录: |