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?