Chamar a função Java do JavaScript para o Android WebView

Eu quero fazer uma chamada síncrona para algum código Java no meu aplicativo Android.

Eu estou usando esta solução:https://stackoverflow.com/a/3338656

Meu código 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>

Meu 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>

Quando eu toco nojava_call botão, o botão vai para o estado pressionado. eu consigo ver'test' no log do console. Tudo é normal até aqui.

O problema é que o botão nunca volta ao seu estado normal. Ele permanece no estado pressionado. Talvez a execução do JavaScript esteja quebrada ou algo assim?

Por que o botão nunca retorna ao seu estado normal?

questionAnswers(3)

yourAnswerToTheQuestion