Use js to interact with java, and use jsjava
To facilitate interaction between webpages and applications, Android WebView provides a mechanism for JavaScript webpage scripts to call Java methods. You only need to call the addJavascriptInterface method to map a Java object to a JavaScript Object.
MainActivity. java code:
Package com. apple. browser; import android. annotation. suppressLint; import android. app. activity; import android. OS. bundle; import android. view. menu; import android. webkit. webSettings; import android. webkit. webView; import android. widget. toast; public class MainActivity extends Activity {private WebView webView; private Activity activity; @ SuppressLint ("SetJavaScriptEnabled") @ Overrideprotected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. activity_main); activity = this; webView = (WebView) findViewById (R. id. webview); webView. loadUrl ("file: // android_asset/index.html"); final WebSettings settings = webView. getSettings (); settings. setJavaScriptCanOpenWindowsAutomatically (true); settings. setJavaScriptEnabled (true); settings. setsuppzoom zoom (true); webView. addJavascriptInterface (new JSInvokeClass (), "js2java");} public final class JSInvokeClass {public void back () {// activity. finish (); Toast. makeText (activity, "Java method called through js", Toast. LENGTH_SHORT ). show ();}}}
Code in HTML:
<input type=button name=smt value='invoke java' onclick="javascript:window.js2java.back();">
XML layout code:
Omitted