【问题标题】:ReactJS app in Android webview - Pressing back button closes appAndroid webview中的ReactJS应用程序-按下后退按钮关闭应用程序
【发布时间】:2017-09-15 22:20:21
【问题描述】:

我正在使用 react-dom 15.3.2 和 react-router ^4.2.0。注意:我使用的是 ReactJS,而不是 React-Native。

我有一个带有导航链接的简单应用,它定义了如下链接:

<Link to="/contactus">
  Contact Us
</Link>
<Link to="/faq">
  FAQ
</Link>

这些路由已定义并在浏览器中正常工作。我可以转到一个页面,然后按回,一切都按预期进行。

但是我试图将我的网站包装到一个 Android WebView 中,以便我可以创建一个应用程序。

    webView = (WebView) findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.loadUrl(myWebsiteURL);

问题是当我按下后退按钮时它会立即关闭应用程序,它不会像在浏览器上那样通过“页面历史记录”。

【问题讨论】:

    标签: android reactjs react-router


    【解决方案1】:

    你必须覆盖activity的默认行为,直接调用webview。

    @Override
    public void onBackPressed() {
        if (webView.canGoBack()) {
            webView.goBack();
        } else {
            super.onBackPressed();
        }
    }
    

    参考:https://stackoverflow.com/a/37673643/1052581

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-02
      • 2017-03-28
      相关资源
      最近更新 更多