Wywołaj funkcję Java z JavaScript przez Android WebView

Chcę wykonać synchroniczne połączenie z jakimś kodem Java w mojej aplikacji na Androida.

Używam tego rozwiązania:https://stackoverflow.com/a/3338656

Mój kod 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>

Mój kod 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>

Kiedy stuknę wjava_call przycisk, przycisk przechodzi do stanu wciśniętego. widze'test' w dzienniku konsoli. Wszystko jest normalne, dopóki tutaj.

Problem polega na tym, że przycisk nigdy nie wraca do normalnego stanu. Pozostaje w stanie wciśniętym. Może wykonanie JavaScript jest zepsute lub coś w tym stylu?

Dlaczego przycisk nigdy nie powraca do normalnego stanu?

questionAnswers(3)

yourAnswerToTheQuestion