1.MainActivity类
public class MainActivity extends AppCompatActivity { private WebView wv_url; @SuppressLint("JavascriptInterface") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setTitle("android调用js"); wv_url = (WebView) findViewById(R.id.wv_url); wv_url.getSettings().setJavaScriptEnabled(true); wv_url.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); wv_url.setWebChromeClient(new WebChromeClient(){ }); wv_url.loadUrl("file:///android_asset/js.html"); } public void Java_js(View v){ wv_url.loadUrl("javascript:getImg()"); } }2.JsAndroid 类
public class JsAndroid { private WebView mWebView; public JsAndroid(WebView mWebView) { this.mWebView = mWebView; } @JavascriptInterface public void setImg(){ mWebView.post(new Runnable() { @Override public void run() { mWebView.loadUrl("javascript:getImg('https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=2478328247,1838208372&fm=117&gp=0.jpg')"); } }); } }
3.html写法
<html> <meta charset="UTF-8"> <head> <script> function getImg(){ alert("java调用了js"); } </script> </head> <body> </body> </html>