Llame a la función Java desde JavaScript a través de Android WebView

Quiero hacer una llamada sincrónica a algún código Java en mi aplicación de Android.

Estoy usando esta solución:https://stackoverflow.com/a/3338656

Mi código de Java:

<code>final class MyWebChromeClient extends WebChromeClient {
        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
            Log.d("LogTag", message);
            result.confirm();
            return true;
        }
    }
</code>

Mi código JavaScript:

<code><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>
</code>

Cuando toco en eljava_call Botón, el botón pasa al estado presionado. puedo ver'test' en el log de la consola. Todo es normal hasta aquí.

El problema es que el botón nunca vuelve a su estado normal. Se mantiene en estado presionado. Tal vez la ejecución de JavaScript está rota o algo así?

¿Por qué el botón nunca vuelve a su estado normal?

Respuestas a la pregunta(3)

Su respuesta a la pregunta