Я уже пытался реализовать для моего проекта решение, показанное здесь , как я показываю, но безрезультатно.
До сих пор я сделал следующее:
В моем JavaScript файле:
<script type="text/javascript">
[…]
var latlng="hola";
</script>
И в Android:
webView.loadUrl(myURL);
webView.addJavascriptInterface(new CustomJavaScriptInterface(webView.getContext()), "Android");
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
webView.loadUrl("javascript:Android.getlatlng(latlng);");
}
},3000);
Я также определил CustomJavaScriptInterface так:
public class CustomJavaScriptInterface {
Context mContext;
/**
* Instantiate the interface and set the context
*/
CustomJavaScriptInterface(Context c) {
mContext = c;
}
/**
* retrieve the ids
*/
public void getlatlng(final String latlng) {
//Do somethings with the Ids
String sdf=latlng;
String asd="";
}
}
Но publi c void getlatlng (final String latlng) никогда не запускается.
Если я не ошибаюсь, все как в показанном примере, но это не работает.
Что я делаю не так?