通过Android WebView从JavaScript调用Java函数

通过Android WebView从JavaScript调用Java函数

我想在我的Android应用程序中对某些Java代码进行同步调用。

我的Java代码:

final class MyWebChromeClient extends WebChromeClient {
        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
            Log.d("LogTag", message);
            result.confirm();
            return true;
        }
    }

我的JavaScript代码:

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

当我点击java_call按钮时,按钮进入按下状态。我可以'test'在控制台日志中看到。一切都很正常,直到这里。

问题是,按钮永远不会恢复到正常状态。它保持在按下状态。也许JavaScript执行被破坏了什么?

为什么按钮永远不会恢复正常状态?


UYOU
浏览 634回答 3
3回答

哔哔one

你的函数返回'true'。这使得HTML代码的“onclick”属性等于true,因此按钮仍然“被点击”。
打开App,查看更多内容
随时随地看视频慕课网APP