Android WebView,如何处理应用程序中的重定向而不是打开浏览器?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (57)

所以现在在我的应用程序中,我正在访问的URL有重定向,当发生这种情况时,WebView将打开一个新的浏览器,而不是留在我的应用程序中。有没有一种方法可以更改设置,以便View像重定向到URL,但保持在我的应用程序中而不是打开新的浏览器?

提问于
用户回答回答于

创建一个WebViewClient,并重写shouldOverrideUrlLoading方法:

webview.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url){
        // do your handling codes here, which url is the requested url
        // probably you need to open that url rather than redirect:
        view.loadUrl(url);
        return false; // then it is not handled by default action
   }
});
用户回答回答于

点击WebView中的任何链接都会启动一个处理URL的应用程序,默认情况下它是浏览器。你需要重写像这样的默认行为:

    myWebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return false;
        }
    });

扫码关注云+社区