how to get webview messages from js
1 answer
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> |