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

标签 android android-webview

所以现在在我的应用程序中,我正在访问的 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/

相关文章:

java - 导航菜单项点击不起作用

android - 无法解析 Android JUnit 测试运行程序

Android 相机 android.hardware.Camera 已弃用

java - WebView issue new update android 操作系统

android - Android中如何获取当前的webview对象?

android - 将 ListFragment 添加到 ViewPager?

android - 使用 HoloEverywhere 和 UnifiedPreference 时属性已经定义

android - Phonegap 应用程序,4.x androids 的字体问题

android - 如何使用适合所有设备的屏幕在 Webview 中显示网页的特定部分

android - WebView 是否需要 WebViewClient 才能工作?