2016-09-30 33 views

回答

0

您可以使用webClient並實現shouldOverrideUrlLoading t在WebView加載它們之前攔截所有的URL。

mWebView.setWebViewClient(new WebViewClient() { 


    @Override 
    public boolean shouldOverrideUrlLoading(WebView webView, String url) { 

     // Here put your code to exit 

     // return true; //This indicates WebView to NOT load the url; 
     // return false; //Allow WebView to load url 
    } 
}); 
+0

謝謝你的回覆。 如果網絡視圖有多個重定向,您如何使用此代碼跟蹤它們?我嘗試了代碼,但它現在甚至沒有加載第一個url –

+0

@SheshanGamage你有沒有回報錯誤? –

+0

我用這個塊 ' webView.setWebViewClient(新WebViewClient(){ \t \t @覆蓋 \t \t公共布爾shouldOverrideUrlLoading(web視圖網頁視圖,字符串URL){ \t \t \t \t \t \t \t \t如果( webView.getUrl()。contains(「code」)){ \t \t \t \t \t return true; \t \t \t \t} \t \t \t \t其他{ \t \t \t \t \t返回FALSE; \t \t \t \t} \t \t} \t \t}); \t} ' 但它現在不加載它給我錯誤,不加載任何東西 –

0

這樣的方法

webview.setWebViewClient(new WebViewClient() { 
    public boolean shouldOverrideUrlLoading(WebView view, String url){ 
     // do your action here 
     view.loadUrl(url); 
     return false; // then it is not handled by default action 
    } 
}); 
+0

檢查更新的答案@佘山Gamage –

+0

請聯繫我的回答@佘山Gamage –

+0

入住這http://stackoverflow.com/a/5125620/2826147那是我想你需要的東西。@佘山Gamage提到 –

-1

你需要創建一個:如果你要處理的URL,然後覆蓋這個我不能使用JavaScript在這裏,因爲我沒有自己的網站

public class ProductionWebView extends Activity{ 


    private WebView webView; 
    String url ="https://www.google.lk/?gws_rd=ssl"; 



    @SuppressLint("JavascriptInterface") 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.production_webview); 
     webView = (WebView) findViewById(R.id.webView1); 
     webView.getSettings().setLoadsImagesAutomatically(true); 
     webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
     webView.loadUrl(url); 

     //ws.setJavaScriptEnabled(true); 
     webView.addJavascriptInterface(new Object() 
     { 
      public void performClick() 
      { 
       // Deal with a click on the OK button 
      } 
     }, "Next"); 
     webView.addJavascriptInterface(new Object() 
     { 

      public void performClick() 
      { 

      } 
     }, "Authorize");   

    } 


} 
+0

如果網絡視圖有多個重定向,您如何使用此代碼跟蹤它們? 我試過,但它現在甚至沒有加載第一個url –

+0

你可以把日誌放在shouldOverrideUrlLoading方法來獲取所有的重定向信息 –

+0

返回true如果並檢查它是否解決你的問題 –