I am trying to call a javascript function setGameName() through android Webview Activity but it is throwing uncaught ReferenceError:setGameName not defined at :1
.
My Source code is as follows:
webView2.setWebChromeClient(new WebChromeClient());
webView2.getSettings().setLightTouchEnabled(true);
webView2.getSettings().setJavaScriptEnabled(true);
webView2.addJavascriptInterface(jsInterface, "AndroidFunction");
webView2.loadUrl("file:///android_asset/www/index.html");
webView2.loadUrl("javascript:setGameName()");
Html code:
<body>
<script type="text/javascript">
function init() {
console.log("====== I am getting called::===");
var testVal = document.getElementById('playertextId').value;
AndroidFunction.proceedFurther(testVal);
};
function setGameName() {
console.log("====== Got the value===");
document.getElementById('gametextId').value;
};
</script>
</body>
It is loading index.html fine but throwing exception at function call, Please provide an appropriate solution..
Update:
i have found the problem the page is not getting loaded at the time of function call..(Since on giving a time delay of 5000ms it is getting called..)!!
But How do I implement it then..?
loadUrl is asychronous. That means it returns immediately before the page has loaded. So setGameName does not yet exist when you try to call it.
You can implement a WebClient with an onPageFinished method and call your javascript code there.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With