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?