Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android上双击物理按钮_Android - Fatal编程技术网

在android上双击物理按钮

在android上双击物理按钮,android,Android,我目前正在开发一款android应用程序。我有一个活动称为web视图活动。当用户按下后退按钮时,它将转到webview的历史记录,当用户双击后退按钮时,我希望webview活动完成 我怎样才能检查是否双击后退按钮呢?只需跟踪最后一次点击后退按钮即可。如果当前分接在最后一次分接后的特定时间限制内(可能为1秒),则为双分接。否则,这只是一个正常的点击。我认为在这种情况下,您需要的是长按后退按钮。(虽然我相信如果用户打开了6.2+氰ROM功能,这可能会与之冲突…)在移动设备上双击后退按钮可能会有点中断

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


我怎样才能检查是否双击后退按钮呢?

只需跟踪最后一次点击后退按钮即可。如果当前分接在最后一次分接后的特定时间限制内(可能为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;
        }
    }
}