private boolean loadUrl(final Context context, final String url, final HtmlData data) { final Signal s = new Signal(); s.ready = false; mHandler.post( new Runnable() { @Override public void run() { WebView web = new WebView(context); web.getSettings().setJavaScriptEnabled(true); web.getSettings().setLoadsImagesAutomatically(false); web.getSettings().setBlockNetworkImage(true); web.addJavascriptInterface(new MyJavaScriptInterface(s, data), "HTMLOUT"); web.setWebViewClient(new FetchSearchPage()); web.loadUrl(url); } }); synchronized (s) { while (!s.ready) { try { s.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); return false; } } return true; } }