zoukankan      html  css  js  c++  java
  • 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");
  • 相关阅读:
    初学微信小程序 TodoList
    设计一个基于svg的涂鸦组件(一)
    基于51单片机的12864驱动
    java 使用xom对象数据序列化为xml、反序列化、Preferences相关操作小案例
    ios UIWebView 播放优酷土豆视频
    VMware Player 使用错误集锦
    Django 使用UEditor
    Entity Framework底层操作封装V2版本号(3)
    cocos2dx笔记1:概述
    oracle10g精简版安装步骤
  • 原文地址:https://www.cnblogs.com/shen-hua/p/5950755.html
Copyright © 2011-2022 走看看