Android 中webview与原生Java的 交互以及网页JS 与原生的交互

# # 首先明确一点 Android 与web 页面也就是网页主要通过Android 的控件 webview 进行交互的
先说 Android 中调用 网页以及与网页交互的JS
加载网页直接用webview加载
代码如下:

 wv.loadUrl("http://192.168.2.180:8080/javaweb/testh5.html");
 public void clicktest(View view){
        wv.loadUrl("javascript:callH5('Android OK !!!')");

    }
    //此处为Android 调用web 页面的JS逻辑
    达成与网页的交互
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p id="result"></p>
<script type="text/javascript">
    function test() {
        console.log("click()1")
       window.android.showToat("显示Toast");
        console.log("click()2")
    }
    //定义本地方法 效果提供给Android端调用 被调用后将获得参数值
    function callH5(data){
        document.getElementById("result").innerHTML=data;
    }
</script>
<button onclick="test()">调用Android 的原生方法</button>
</body>
</html>

主要是JS 调用Android 主要是Android 的webview提供一个JS 接口提供给web 页面JS 代码调用

 wv.getSettings().setJavaScriptEnabled(true);
        wv.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                return true;
            }
**
        });
        wv.setWebChromeClient(new WebChromeClient());
      **  *==//这句话是关键与JS中window.android一致==***
        wv.addJavascriptInterface(new JSI(),"android");
private class JSI {
        @JavascriptInterface
        public void showToat(String s){
            Toast.makeText(getApplication(),s,Toast.LENGTH_SHORT).show();

        }
    }

====
这里写图片描述
这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南一舟110

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值