WebView-WebView与本地Js进行交互

10  WebView与本地Js进行交互

10.1 整理html相关内容

先把html,css,js文件放入assets文件夹中,这个要和html以前引用js、css一样的目录,不然html就引用不到js,css文件;

 

10.2 webview设置允许使用js

webview.getSettings().setJavaScriptEnabled(true);

 

10.3 webview添加js接口

//参数1:自定义一个js接口,也可以是当前类,目的就是放androidjs互调的方法

//参数2:这个相当于定义前参数的一个对象名称,js中直接使用testCall.native();

webview.addJavascriptInterface(this, "testCall");

10.4 android 调用js

Android:

webview.loadUrl("javascript:androidcalljs('" + etxt_js.getText().toString() + "')");

js

//js调用android的方法并进行传值

function jscallandroid(){

//  alert("==jscallandroid==");

    testCall.JsCallAndroid(document.getElementById("show_txt").value);

    }

注:1)loadUrljavascript:要调js方法名('参数');这里的必须添加单引号

10.5 js调用android

Js:function androidcalljs(str){

         document.getElementById("show_txt").value = str;

         //alert("==androidcalljs=="+str);

         }

Android:

public void JsCallAndroid(String jsStr) {

        Toast.makeText(getApplicationContext(), jsStr + "======",

                Toast.LENGTH_SHORT).show();

        Message message = new Message();

        message.what = 100;

        message.obj = jsStr;

        handler.sendMessage(message);

    }

:如果要给控件复制需要通过handler来通知界面线程;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值