我目前正在开发一款Android应用。我有一个调用Web视图活动的活动。当用户按下后退按钮后,它将转到webview的历史记录,当用户双击后退按钮时,我希望webview活动完成。
如何检查后退按钮的双击
答案 0 :(得分:2)
只需跟踪后退按钮上的最后一次点按即可。如果当前敲击在最后一次敲击之后处于特定时间限制(可能是1秒),那么它是双击。否则它只是一个正常的点击。
答案 1 :(得分:1)
我认为你需要一个处理程序。
private int mCount;
private void handleBackKeyDown() {
if (mCount > 0) {
mCount = 0;
mMyHandler.removeMessages(MyHandler.MSG_GO_TO_HISTORY);
finish(); // close this activity
} else {
mCount++;
Message msg_reset = Message.obtain();
msg_reset.what = MyHandler.MSG_GO_TO_HISTORY;
mMyHandler.sendMessageDelayed(msg_reset, TIME_TO_START_OVER_AGAIN);
}
}
private class MyHandler extends Handler {
public static final int MSG_GO_TO_HISTORY = 0;
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MSG_GO_TO_HISTORY:
// go to the history of the webview
mCount = 0;
break;
default:
break;
}
}
}
答案 2 :(得分:0)
我想在这种情况下,你想要的是长按后退按钮。 (虽然如果用户打开了这个功能,我相信这可能会与6.2+氰基roms发生冲突......)双击后退按钮可能会对移动设备造成一点破坏。
按照覆盖按钮的典型方法,我假设您知道如何(如果您需要更多帮助就这么说),必须有一个onLongPress(...)方法,您可以覆盖以执行您想要的操作它要做。