所以现在在我的应用程序中,我正在访问的 URL 有一个重定向,当这种情况发生时,WebView 将打开一个新的浏览器,而不是留在我的应用程序中。有没有办法可以更改设置,以便 View 像正常一样重定向到 URL,但留在我的应用程序中而不是打开新的浏览器?
编辑:
我想要重定向 URL,我只是不知道如何创建它,因此访问该 URL 的唯一方法是通过一个会导致重定向到我想要的 URL 的方法。
例如:当你去这里时:http://www.amazon.com/gp/aw/s/ref=is_box_/k=9780735622777请注意它将如何将 URL 重定向到实际产品。在我的应用程序中,如果我在新浏览器中打开它,它会很好地执行此操作,但是如果我使用 WebView 将它保存在我的应用程序中,它会显示为好像正在搜索 k=9780735622777,如下所示: http://www.amazon.com/gp/aw/s/ref=is_s_?k=k%3D9780735622777&x=0&y=0 .或者,它将在浏览器中打开 View 并显示合适的内容。但是,我想将所有内容都保留在我的应用中。
最佳答案
创建一个 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
}
});
关于Android WebView,如何在应用程序中处理重定向而不是打开浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4066438/