I am writing a hybrid web/native app and ran into issue. My app
downloads a music file via Java code, and needs to update a Javascript
download progress bar in the WebView in real time.
My understanding is the only way to call Javascript from Java is via
the WebView's loadUrl method.
while ((byteCount = in.read(byteBuffer, 0, BUFFER_SIZE)) != -1) {
out.write(byteBuffer, 0, byteCount);
cumByteCount += byteCount;
int percentDowloaded = (cumByteCount * 100) / contentLength;
Log.i(LOG_TAG, "percent: " + percentDowloaded);
webview.loadUrl("javascript:updateDownloadProgress('" +
percentDowloaded + "')");
}
out.flush();
If so, then while calling Java from Javascript is synchronous, calling
Javascript from Java is always asynchronous since loadUrl is
asynchronous.
I notice that all of my webview.loadUrl calls get queued up and don't
get executed until the whole file has been downloaded. Is there any
trick to make the webview execute my javascript immediately instead of
queuing everything up?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---