Quiero hacer una llamada síncrona a algún código Java en mi aplicación de Android.Llamar a la función Java desde JavaScript sobre Android WebView
estoy usando esta solución: https://stackoverflow.com/a/3338656
Mi código Java:
final class MyWebChromeClient extends WebChromeClient {
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
Log.d("LogTag", message);
result.confirm();
return true;
}
}
Mi código JavaScript:
<html>
<script>
function java_request(){
alert('test');
}
</script>
<body>
<h2>Welcome</h2>
<div id="area"></div>
<form>
<input type="button" value="java_call" onclick="java_request()">
</form>
</body>
</html>
Al tocar el botón java_call
, el botón va a el estado presionado. Puedo ver 'test'
en el registro de la consola. Todo es normal hasta aquí.
El problema es que el botón nunca vuelve a su estado normal. Permanece en estado comprimido. Tal vez la ejecución de JavaScript se ha roto o algo así?
¿Por qué el botón nunca vuelve a su estado normal?
gracias por la información, vi esta solución. ya que hay un error en 2.3.X para esta solución, no quiero usarlo. La solución fue muy buena. – ozkolonur
@ozkolonur He estado usando esto con todas las versiones de Android 2.2+, nunca vi ningún error. ¿Puedes compartir lo que es? Un enlace también es muy bienvenido. –
http://code.google.com/p/android/issues/detail?id=12987 – ozkolonur