Access the JSON response from webview of android Access the JSON response from webview of android json json

Access the JSON response from webview of android


Build a class called MyJavaScriptInterface. And MyJavaScriptInterface to WebView.

    WebViewClient yourWebClient = new WebViewClient() {        @Override        public boolean shouldOverrideUrlLoading(WebView view, String url) {            return false;        }        @Override        public void onPageFinished(WebView view, String url) {            wb.loadUrl("javascript:HtmlViewer.showHTML" +                    "('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");        }    };    wb = (WebView) findViewById(R.id.webview);    wb.getSettings().setJavaScriptEnabled(true);    wb.getSettings().setSupportZoom(true);    wb.getSettings().setBuiltInZoomControls(true);    wb.setWebViewClient(yourWebClient);    wb.loadUrl("http://pqrs.abcde.com/facebook");    wb.addJavascriptInterface(new MyJavaScriptInterface(this), "HtmlViewer");

    class MyJavaScriptInterface {    private Context ctx;    MyJavaScriptInterface(Context ctx) {        this.ctx = ctx;          }    @JavascriptInterface    public void showHTML(String html) {        System.out.println(html);    }}

Note: From you are required to remove window in wb.loadUrl("javascript:...");.And @JavascriptInterface before "public void showHTML".

You can get content from showHtml(..) in html parameter.


    webView.setWebViewClient(new myWebClient());    webView.getSettings().setJavaScriptEnabled(true);    webView.loadUrl(webdata);}public class myWebClient extends WebViewClient {    @Override    public void onPageStarted(WebView view, String url, Bitmap favicon) {        // TODO Auto-generated method stub        super.onPageStarted(view, url, favicon);    }    @Override    public boolean shouldOverrideUrlLoading(WebView view, String url) {        // TODO Auto-generated method stub        view.loadUrl(url);        return true;    }}