Rufen Sie die Java-Funktion von JavaScript über Android WebView auf

Ich möchte einen Java-Code in meiner Android-App synchron aufrufen.

Ich benutze diese Lösung:https://stackoverflow.com/a/3338656

Mein Java Code:

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

Mein JavaScript-Code:

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

Wenn ich auf tippejava_call Taste, die Taste geht in den gedrückten Zustand. Ich kann es sehen'test' im Konsolenprotokoll. Bis hier ist alles normal.

Das Problem ist, dass die Taste nie wieder in den normalen Zustand zurückkehrt. Es bleibt im gepressten Zustand. Vielleicht ist die JavaScript-Ausführung defekt oder so?

Warum kehrt die Taste niemals in den normalen Zustand zurück?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage