2017-04-07 37 views
0

我想拦截从Instagram身份验证中获得的重定向中的代码。我使用shouldOverrideUrlLoading()来停止加载页面,但WebView继续并加载它。这里是我的代码Android WebView客户端shouldOverrideUrlLoading()方法没有被调用重定向URL

  public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 

      String url = view.getUrl(); 
      if (url.startsWith("https://someurl.com")){ 
       return true; 
      } 
      return false; 

     } 
+0

您确定服务器正在发送HTTP 3xx结果吗?或者是'https:// someurl.com'上的网页通过JavaScript或其他方式做自己的准重定向? – CommonsWare

+0

是的,它加载的网址,我刚刚意识到,我从WebView获取网址,而不是从WebResourceRequest中检索它,在一些发布答案 –

回答

0

发现我使用的WebView网址,而不是从WebResourceRequest,下面的代码String url = view.getUrl();应该是这样的String url = String.valueOf(request.getUrl();而整个方法的URL看起来像这样:

 public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 

     String url = String.valueOf(request.getUrl(); 
     if (url.startsWith("https://someurl.com")){ 
      return true; 
     } 
     return false; 

    } 
相关问题