在Android上双击物理按钮

时间:2011-02-06 00:12:22

标签: android

我目前正在开发一款Android应用。我有一个调用Web视图活动的活动。当用户按下后退按钮后,它将转到webview的历史记录,当用户双击后退按钮时,我希望webview活动完成。

如何检查后退按钮的双击

3 个答案:

答案 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(...)方法,您可以覆盖以执行您想要的操作它要做。