tags:

views:

55

answers:

1

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.

  1. I put their html snippet into a string and use String.format to add in several variables that AdManager requires.
  2. I enable javascript on the WebView (webView.getSettings().setJavaScriptEnabled(true);)
  3. 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.

A: 

There is a bug in WebView that's been there since about 1.5. Try using this line instead and see if it works for you.

webView.loadDataWithBaseURL("fake://fake.com", myString, "text/html", "UTF-8", null);
CaseyB
Yes. That did the trick.Thanks.
deSelby