首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android WebView不加载自动重定向url

Android WebView是Android系统提供的一个用于在应用程序中展示网页内容的组件。它基于WebKit引擎,可以加载和渲染网页,并提供了与网页交互的能力。

自动重定向是指当访问一个网页时,服务器会将请求重定向到另一个URL,而不需要用户手动操作。在Android WebView中,默认情况下是自动加载并跳转到重定向的URL。

然而,有时我们可能希望禁止WebView自动加载重定向的URL,或者对重定向进行一些特殊处理。为了实现这个目的,我们可以通过重写WebViewClient的shouldOverrideUrlLoading方法来控制WebView的行为。

下面是一个示例代码,演示了如何禁止WebView加载自动重定向的URL:

代码语言:java
复制
WebView webView = findViewById(R.id.webView);
webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        // 获取重定向的URL
        String redirectUrl = request.getUrl().toString();
        
        // 在这里可以对重定向的URL进行处理,例如判断是否需要加载,或者进行其他操作
        
        // 返回true表示拦截重定向,不加载URL;返回false表示继续加载URL
        return true;
    }
});

// 加载网页
webView.loadUrl("http://example.com");

在上述代码中,我们重写了shouldOverrideUrlLoading方法,并在其中获取了重定向的URL。可以根据实际需求对重定向的URL进行处理,例如判断是否需要加载,或者进行其他操作。最后,通过返回true或false来控制WebView是否加载重定向的URL。

需要注意的是,如果我们返回了true并拦截了重定向,那么WebView将不会加载重定向的URL。如果返回了false,则WebView会继续加载重定向的URL。

推荐的腾讯云相关产品:腾讯云移动浏览器(Tencent MTA Browser),该产品是腾讯云提供的一款移动浏览器,基于腾讯云技术栈开发,具有更好的性能和安全性。产品介绍链接地址:https://cloud.tencent.com/product/mta-browser

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 拦截WebView加载URL,控制其加载CSS、JS资源

https://blog.csdn.net/lyhhj/article/details/49517537 绪论 最近在项目中有了这样一个需求,我们都知道WebView加载网页可以缓存,但是web...端想让客服端根据需求来缓存网页,也就是说web端在设置了http响应头,我根据这个头来拦截WebView加载网页,去执行网络加载还是本地缓存加载。...这个需求之前一直没听说过,在网上搜了一下,发现有拦截WebView加载网页这个方法,研究了一下,最终实现了,今天小编分享给大家这个开发经验: WebView缓存机制 1.缓存模式 AndroidWebView...的缓存缓存机制了之后来看看到底怎么拦截WebView加载网页: 实现原理 1.要想拦截WebView加载网页我们必须重写WebViewClient类,在WebViewClient类中我们重写shouldInterceptRequest...,更稳定,屏蔽安卓不同版本的webview的兼容性问题 生命就在于折腾,小编就喜欢折腾,将Android折腾到底O(∩_∩)O~~

3.8K20

Android 9.0使用WebView加载Url时,显示页面无法加载

最近使用WebView加载Url显示页面,因为之前已经使用过很多次这种方式了,打包后在6.0的测试机上测试没什么问题,然后安心的将包给测试,测试大佬的手机系统是Android 9.0的,所以就出现了页面无法加载的情况...要解决这个问题有以下三种方案,也适用于http无法访问网络的问题: 1.将url路径的地址由http改成https,这就需要让后台大佬更改了。...3.既然默认情况下禁用明文支持,那我们就手动设置启动支持明文,这就需要 使用:android:usesCleartextTraffic=“true” | “false” true: 是否使用明文传输...,也就是可以使用http false: android 9.0 默认情况下使用https [4d0its87cy.png] 在这里插入图片描述 那就是添加:android:usesCleartextTraffic...---- 小编整理了一份Android电子书籍,需要的童鞋关注公众号回复:"e_books" 即可获取哦!

7K30
  • 解决Android WebView拦截url,视频播放加载失败的问题

    需求:Android调用webView加载网页的时候,拦截某一个链接执行此链接,执行指定跳转到其他activity页面。...(执行跳转url链接),如果没有就加载url链接 if (url.contains("/mproduct-")) { Intent i = new Intent(MainActivity.this...//支持通过JS打开新窗口 setLoadWithOverviewMode(true); // 缩放至屏幕的大小 setLoadsImagesAutomatically(true); //支持自动加载图片...(WebView view, String url) // 在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。...关于WebView加载的H5,H5中视频播放加载失败的问题解决: 1、AndroidManifest.xml中 在webview所在的activity配置文件加入下面属性 android:hardwareAccelerated

    2.6K20

    Android获取WebView加载url的请求错误码 【推荐】

    例如需求,我有一个WebView 加载一个url, 该url对应的网页本身自带下拉刷新 ,但是网页本身会有出现400 500 等异常请求错误码 这时候网页加载失败,页面本身的下拉是无法使用的,要求重新加载页面的话就需要在...webview外层套一个android下拉控件(SwipeRefreshLayout) 这样导致下拉一定用的SwipeRefreshLayout的下拉 最终要求是如果页面加载成功的话,用页面本身的下拉,...如果页面加载失败的话,用android下拉控件的下拉 ——————————————————————————————————————————————– 解决办法就是监听加载url的请求的错误码,对SwipeRefreshLayout.setEnabled...@Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle...获取WebView加载url的请求错误码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

    1.2K20

    Android项目实战(五十六):获取WebView加载url的请求错误码

    例如需求,我有一个WebView 加载一个url, 该url对应的网页本身自带下拉刷新 ,但是网页本身会有出现400 500 等异常请求错误码 这时候网页加载失败,页面本身的下拉是无法使用的,要求重新加载页面的话就需要在...webview外层套一个android下拉控件(SwipeRefreshLayout) 这样导致下拉一定用的SwipeRefreshLayout的下拉 最终要求是如果页面加载成功的话,用页面本身的下拉,...如果页面加载失败的话,用android下拉控件的下拉 --------------------------------------------------------------------------...------------------------------------------------------------------ 解决办法就是监听加载url的请求的错误码,对SwipeRefreshLayout.setEnabled...() 来控制是否允许下拉刷新 监听对应6.0+  6.0以下 分别为两种实现方式: 一、Android 6.0+ 判断请求码 mWebView.setWebViewClient(new

    1.2K20

    Android自定义webView头部进度加载效果

    看图说话: 上图是不是加载网页的时候会有一个进度条在横向加载,比以前网速不好的时候是一片空白给人的感觉友好多了是,然后效果还不错。...拦截加载的地址url * * @param view * @param url 被拦截的url * @return */ @Override public boolean shouldOverrideUrlLoading...(WebView view, String url) { mWebView.loadUrl(url); return true; } /** * 页面加载过程中,加载资源回调的方法 * * @param...(WebView view, String url) { super.onPageFinished(view, url); // 关闭图片加载阻塞 view.getSettings().setBlockNetworkImage...(true);//设置有焦点 mWebView.setFocusableInTouchMode(true);//设置可触摸 } } 总结 以上所述是小编给大家介绍的Android自定义webView头部进度加载效果

    1.4K10

    Android Webview的postUrl与loadUrl加载页面实例

    关于Androidwebview,用过的想必都不会陌生。这里我就不说webview的基本用法了,想要知道的可以去网上百多,有很多介绍webview基本用法的。...mUrl = new URL(url); HttpURLConnection connection = (HttpURLConnection) mUrl.openConnection();...(url, EncodingUtils.getBytes(postData, "BASE64")); 该方法有个缺陷,只在Android 5.0.0以上的Api才有,5.0.0以下的Api是没有此方法的...4、结论 webview的H5页面加载最好使用loadUrl方式,如果使用postUrl方式进行加载,你需要重写整个setWebViewClient方法,当中会出很多坑,建议这样做。...以上这篇Android Webview的postUrl与loadUrl加载页面实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

    2K30

    详解androidwebview加载网页(https和http)

    1.Android 加载https请求的网页的时候 打不开 当load有ssl层的https页面时,如果这个网站的安全证书在Android无法得到认证,WebView就会变成一个空白页,而并不会像PC...默认情况下,不能弹 js 框,需要重写 WebChromeClient 的 onJsAlert 重写部分也不需要特殊处理,直接返回 super.onJsAlert(view, url, message..., result); pps: 要 setWebViewClient 和 setWebChromeClient,webView 才能生效 2.Androidwebview加载网页 可能会出现另外一种情况...: webview加载的网页是http请求的 ,如果网页里有一张图片,并且该图片的地址是https请求的,这时候用webview加载网页,图片是不显示的。...加载网页,一定用同一种请求 android 5.0 webview不能加载http与https混合内容的问题 在Android Lollipop上webview默认不允许加载http与https混合内容

    7.8K10

    Android WebView 内处理302重定向不跳转的解决

    最近项目中Webview加载第三方的具有302的重定向,但是却发现却没有重新跳转。...return true; } 发现最后返回的true,所以导致不会重定向跳转,只要返回fasle就可以重定向跳转了,如果你某些情况下需要,返回true自己处理一些url那你完全可以自己做判断。...返回结果 含义 true 表示自己处理,不需要系统处理,比如如果是true,重定向就不会跳转 false 表示开发者自己处理,交给系统处理 补充知识:不让WebView调用系统自带浏览器 webView2...view, String url){ view.loadUrl(url); return true; } }); webView2.loadUrl...("http://www.baidu.com"); 重写setWebViewClient 以上这篇Android WebView 内处理302重定向不跳转的解决就是小编分享给大家的全部内容了,希望能给大家一个参考

    2.9K10
    领券