在android上双击物理按钮
我目前正在开发一款android应用程序。我有一个活动称为web视图活动。当用户按下后退按钮时,它将转到webview的历史记录,当用户双击后退按钮时,我希望webview活动完成在android上双击物理按钮,android,Android,我目前正在开发一款android应用程序。我有一个活动称为web视图活动。当用户按下后退按钮时,它将转到webview的历史记录,当用户双击后退按钮时,我希望webview活动完成 我怎样才能检查是否双击后退按钮呢?只需跟踪最后一次点击后退按钮即可。如果当前分接在最后一次分接后的特定时间限制内(可能为1秒),则为双分接。否则,这只是一个正常的点击。我认为在这种情况下,您需要的是长按后退按钮。(虽然我相信如果用户打开了6.2+氰ROM功能,这可能会与之冲突…)在移动设备上双击后退按钮可能会有点中断
我怎样才能检查是否双击后退按钮呢?只需跟踪最后一次点击后退按钮即可。如果当前分接在最后一次分接后的特定时间限制内(可能为1秒),则为双分接。否则,这只是一个正常的点击。我认为在这种情况下,您需要的是长按后退按钮。(虽然我相信如果用户打开了6.2+氰ROM功能,这可能会与之冲突…)在移动设备上双击后退按钮可能会有点中断
按照覆盖按钮的典型方式,我假设您知道如何(如果您需要更多帮助,请直说),必须有一个onLongPress(…)方法,您可以覆盖它以执行您希望它执行的操作。我认为您需要一个处理程序
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;
}
}
}