WebView调用调用Java方法
- 允许WebView加载js
1 | webView.getSettings().setJavaScriptEnabled(true); |
- 编写js接口类
- 给webview添加js接口
1 | webView.addJavascriptInterface(obj,interfaceName); |
Android 调用js方法
使用loadUrl方法调用javascript
1 | //jsString是要调用的js代码的字符串 |
实例
- 新建一个工程WebViewDemo
- layout_main.xml代码如下。分为上下两个部分,上部分为WebView,下部分为Native。两部分均有一个输入框和按钮,输入文字点击按钮,就会在对面的输入框显示。
1 | <?xml version="1.0" encoding="utf-8"?> |
- MainActivity实例化控件,并且允许WebView加载js
- 编写js接口类LbzJsInterface
1 | public class LbzJsInterface { |
1 | public interface JSBridge { |
- 给webview添加js接口
1 | webView.addJavascriptInterface(new LbzJsInterface(this), "lbzLauncher"); |
- MainActivity实现JSBridge
1 | @Override |
- WebView要加载index.html
1 | <!DOCTYPE html> |
- 加载html
1 | webView.loadUrl("file:///android_asset/index.html"); |
- 添加Native的监听事件,在监听中Android 调用js方法
1 | send.setOnClickListener(new View.OnClickListener() { |
- Demo的运行状态