2016-03-21 75 views
0

我有問題。並抱歉我的泳池英語技能。android webview:如何在重定向時攔截表單數據?

在android中webivew,

我加載了一些頁面。並且此頁面將重定向另一個頁面。

當重定向時,url包含一些數據(post,form-data)。

我想catch包含數據。 befor加載的網址。

我想,重寫onPageStarted方法和捕獲數據。但不能。

我該怎麼辦?

private WebView mWebView; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    try { 
     mWebView.postUrl(URL, postdata.getBytes("UTF-8")); // Sample Page 
    } catch (UnsupportedEncodingException e) { 
     Logger.log(TAG, e.getMessage()); 
    } 
} 

private class WebViewClientClass extends WebViewClient { 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     super.onPageFinished(view, url); 
    } 

    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     super.onPageStarted(view, url, favicon); 
     //catch redirect form-data. 
    } 

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

回答

0

請在下面添加行,只有它會使用您的自定義類。

webView.setWebViewClient(new WebViewClientClass()); 

@覆蓋 公共布爾shouldOverrideUrlLoading(的WebView視圖,字符串URL){

//write your code here, get redirected url in this method and do your operation and then move ahead. 
return false; 
     } 

以上方法時,得到裝載重定向URL會一直叫。

希望這會幫助你。

+0

謝謝。但是,此頁面不稱爲shouldOverrideUrlLoading。 – engigom

+0

我已更新我的代碼,請查看更新的代碼並相應地更新您的當前代碼。 –

+0

是的。我製作新的WebViewClient並進行設置。但是,一些重定向網址是好的工作,但一些重定向url不工作... :( – engigom