Вот моя проблема, я хочу вызвать метод Java, такой как window.jsBridge, который определен в Java через:
CustomChromeClient client = new CustomChromeClient(
"jsBridge", WebCallJsFunction.class);
mWebView.setWebChromeClient(client);
mWebView.loadUrl("file:///android_asset/test.html");
и в моем html:
<body>
</script>
document.write(window.jsBridge.getSomething())
</script>
</body>
На странице ничего не будет отображаться, потому что window.jsBridge не определен, но если я изменю это на следующее:
setTimeout(() => {
document.write(window.jsBridge.getSomething())
}, 500)
страница напишет правильную вещь. Я предполагаю, что причина в том, что метод java: mWebView.setWebChromeClient(client)
выполняется с js в text.html в то же время , и когда js запускается: document.write(window.jsBridge.getSomething())
, тогда в коде java нет выполнено завершено, я прав? Так как решить эту проблему?