how to get webview messages from js

    1 answer 1

    Use JavaScriptInterface for webview.

    Code example:

    public class JavascriptInterfaceActivity extends Activity { WebView wv; JavaScriptInterface JSInterface; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); wv = (WebView)findViewById(R.id.webView1); wv.getSettings().setJavaScriptEnabled(true); JSInterface = new JavaScriptInterface(this); wv.addJavascriptInterface(JSInterface, "JSInterface"); wv.loadUrl("file:///android_asset/myPage.html"); } public class JavaScriptInterface { Context mContext; JavaScriptInterface(Context c) { mContext = c; } public void changeActivity() { Intent i = new Intent(JavascriptInterfaceActivity.this, nextActivity.class); startActivity(i); finish(); } } } 

    Html

     <html> <head> <script type="text/javascript"> function displaymessage() { JSInterface.changeActivity(); } </script> </head> <body> <form> <input type="button" value="Click me!" onclick="displaymessage()" /> </form> </body> </html>