У меня есть WebView, JS-код внутри. Также у меня есть интерфейс, позволяющий вызывать метод Java из WebView в код Java. Мне нужно передать данные из JS в Java. Для этого:
webView.loadUrl("javascript:getData()");
//Obtain Java object here
В JavaScript:
function gataData () {
//serialize data to JSON, pass it as 'native' function param
JSInterface.setLocationsData(data);// This calls a Java function setLocationsData(String param)
}
В интерфейсе JavaScript (код Java):
void setLocationsData(String param){
//parse JSON here, create Java Object
}
Проблема: у меня есть задержка между вызовом скрипта в WebView после webView.loadUrl () и моментом, когда данные возвращаются в мой код Java. Java-код не ждет, пока JS завершит свой бизнес. Как мне это решить?