Android中webView和网页的交互

 Android中webView和网页的交互


 

Android中webView跟网页的交互式通过JavaScript进行的。具体步骤:

1、创建JavaScript,在点击的时候调用JavaScript中的方法

2、在Android中创建对应的Java文件,使用@JavaScriptInterface进行方法修饰,这个方法的名字要和JavaScript中保持一致

3、在WebView上注册JavaScript接口对应的类对象

js中:window.契约名.方法名(参数)参数一般转换成string型传;创建自己的Java文件,文件中包含 使用@JavaScriptInterface修饰的方法,参数列表和JavaScript保持一致调用WebView.addJavaScriptInterface(第二步中实例类对象,契约名)

html:

<html>
<head>
    <meta charset="utf-8">
<body>
<h1>今天是个没有睡好的日子</h1>

<button onclick="shake()">我是一个按钮</button>

<script>
    function shake(){
        var msg="猴子请来的逗比"
        window.student.sayMessage(msg)
    }

</script>
</body>
</head>
</html>

Student.java

public class Student {
    private static final String TAG = Student.class.getSimpleName();
    @JavascriptInterface
    public void sayMessage(String msg){
        Log.e(TAG, "sayMessage: "+msg );
        //使用EventBus进行数据传递
    }
}

MainActivity.java(部分代码)

 //获取浏览器的设置
        WebSettings settings = mWebView.getSettings();
        //打开JavaScriptEnabled(true)
        settings.setJavaScriptEnabled(true);
        //注册自定义的JavaScript接口==-------------契约名student一一对应
        mWebView.addJavascriptInterface(new Student(), "student");
原文地址:https://www.cnblogs.com/shen-hua/p/5950755.html