My app uses a WebView widget to load ads from Google AdManager. AdManager gives you an HTML snippet, which is 90% javascript to call their server for the image to load.
- I put their html snippet into a string and use String.format to add in several variables that AdManager requires.
- I enable javascript on the WebView (webView.getSettings().setJavaScriptEnabled(true);)
- I load the string into the WebView (webView.loadData(myString, "text/html", "UTF-8");
result: the ad never loads (although the WebViewClient shows serveral .js resources loading).
If I take that exact string and create a file and then use webView.loadUrl("file:///android_asset/test.html"), the image loads properly.
Why would loadUrl work but loadData does not?
BTW, I've verified that javascript is running. I injected a little script to write out a text string and it works.