我在第一次尝试时使用下面的代码返回webview。但是对于低渲染能力,我使用xwalkview替换webview。

public boolean onKeyDown(int keyCode, KeyEvent event) {
    WebView mWebView = (WebView) findViewById(R.id.webview);
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (keyCode) {
            case KeyEvent.KEYCODE_BACK:

                if (mWebView.canGoBack()) {
                    mWebView.goBack();
                } else {
                    finish();
                    if (MainActivity.mTencent.isSessionValid()) {
                        MainActivity.logout();
                    }
                }
                return true;
        }

    }
    return super.onKeyDown(keyCode, event);
}

当切换到xwalkview时,我只在xwalkview中找到关于返回的this。但我找不到一个例子来使用它。
当我没有实现back按钮envent时,双击back按钮后,应用程序将退出。
我的问题是:
1。如何在xwalkview中使用go back,如果有些代码可能更有帮助的话。
2。如果不使用“返回”功能,如何禁用“返回”按钮单击事件。
提前谢谢你。

最佳答案

经过几天的挖掘,我解决了这个问题:把这个放到活动xwalkview中。虽然这样行得通,但回去有时会失去一些历史。所以我也希望有人在这里给出一个更好的答案。
对于GOBACK:

public boolean onKeyDown(int keyCode, KeyEvent event) {
    //WebView mWebView = (WebView) findViewById(R.id.webview);
    XWalkView mXWalkView = (XWalkView) findViewById(R.id.xWalkView);
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (keyCode) {
            case KeyEvent.KEYCODE_BACK:

                if (mXWalkView.getNavigationHistory().canGoBack()) {
                    mXWalkView.getNavigationHistory().navigate(XWalkNavigationHistory.Direction.BACKWARD, 1) ;
                } else {
                    finish();
                    if (MainActivity.mTencent.isSessionValid()) {
                        MainActivity.logout();
                    }
                }
                return true;
        }

    }
    return super.onKeyDown(keyCode, event);
}

对于disable back事件,您可以重写这些方法中的任何一个。有关更多信息,请参阅this answer
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    // TODO Auto-generated method stub
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
        return true;
    }
    return super.dispatchKeyEvent(event);
}

关于android - 如何使用“后退”按钮返回CrossWalk的XWalkView或将其禁用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40968633/

10-10 23:31