Android和H5之间的交互

本文详细介绍了Android与H5之间交互的方式,包括webView加载HTML页面,Android通过Java调用JavaScript方法,JavaScript调用Android本地Java方法,以及拦截HTML页面点击事件。示例代码展示了如何实现Java调用有返回值和无返回值的JavaScript方法,以及JavaScript如何调用Android的本地方法。
摘要由CSDN通过智能技术生成
1.设置允许执⾏JS脚本: webSettings.setJavaScriptEnabled(true);
2.添加通信接⼜
webView.addJavascriptInterface(Interface,"InterfaceName")
3. JS调Android
InterfaceName.MethodName
4. Android调JS无返回值的

webView.loadUrl("javascript:functionName()");

5.Android调JS有返回值的

webView.evaluateJavascript("sum(" + a + "," + b + ")", new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
Log.e("tag", "value=" + value);
}
});


HTML中代码

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <title></title>  
  5. <script type="text/javascript">  
  6.     function sum(a,b){  
  7.         return a+b;  
  8.     }  
  9.       
  10.     function s(){  
  11.         var result =window.android.back();  
  12.         document.getElementById("p").innerHTML=result;  
  13.     }  
  14.   
  15.     function sum2(a){  
  16.       document.getElementById("qq").innerHTML=a;  
  17.     }   
  18.     </script>  
  19. </head>  
  20. <body>  
  21. <button onclick="s()">js调用安卓本地方法</button>  
  22. <a href="file:///android_asset/test2.html">点击</a>  
  23. <p id="p"></p>  
  24. <p id="qq"></p>  
  25. </body>  
  26. </html>  

Android 中代码

  1.     protected void onCreate(Bundle savedInstanceState) {  
  2.         super.onCreate(savedInstanceState);  
  3.         setContentView(R.layout.activity_main);  
  4.         mWebView = (WebView) findViewById(R.id.wb);  
  5. <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值