I have already found many examples about how to call JavaScript from android. But it's not working for me. My target SDK is 17(android 4.2). This is how I am loading my html page from my activity:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); myWebView = (WebView)findViewById(R.id.mapwebview1); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); JavaScriptHandler jScriptHandler = new JavaScriptHandler(this); WebChromeClient myWebChromeClient = new WebChromeClient(); myWebView.setWebChromeClient(myWebChromeClient); myWebView.addJavascriptInterface(jScriptHandler, "MyHandler"); myWebView.loadUrl("file:///android_asset/mywebpage.html"); myWebView.loadUrl("javascript:myFunc()"); } Here is the code for my JavaScriptHandler:
public class JavaScriptHandler { //TabFragmentMap mapFragment; Context context; //Fragment fragment; public JavaScriptHandler (Context c){ this.context = c; } }
Here is the code for my html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>PhoneGap</title> </head> <body onload="myFunc()"> <h1 id="test1">Hello World</h1> <input type="button" value="Say hello" onClick="moveMyself()" /> <div id="myDiv"></div> <script type="text/javascript"> function myFunc() { document.getElementById('test1').innerHTML = 'Good Morning'; } </script> </body> </html>