1. Mapping Java objects to JavaScript objects
Mainactivity.java
Package Com.example.jsdemo;import Android.os.bundle;import Android.support.v7.app.appcompatactivity;import Android.webkit.websettings;import Android.webkit.webview;public class Mainactivity extends Appcompatactivity { Private WebView Wview; @Override protected void OnCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate); Setcontentview (R.layout.activity_main); Wview = (WebView) Findviewbyid (R.id.wview); Wview.loadurl ("file:///android_asset/demo1.html"); WebSettings websettings = Wview.getsettings (); ① set WebView allows the invocation of JS websettings.setjavascriptenabled (TRUE); Websettings.setdefaulttextencodingname ("UTF-8"); ② Settings Support JS call Java wview.addjavascriptinterface (new Androidandjsinterface (), "Android"); } class androidandjsinterface{@JavascriptInterface public void Showtoast () {Toast.maketext (MainA Ctivity.this, "I was called by JS", Toast.length_short). Show (); } }}
Note: Two ways to resolve the Webview.addjavascriptinterface interface that do not work
① changed to 16 for version
② the JavaScript interface class method plus @javascriptinterface annotations
2.JavaScript calling Java Object Example
Demo1.html
<input type= "button" value= "click on Android is called" onclick= "window. Android.showtoast () "/>
JavaScript tune Java