android js与html 交互


1、android向调用html js

	public void invokeJs(String jsName, String para) {		String jsString = "javascript:" + jsName + "('" + para + "')";		wuyeIntro.loadUrl(jsString);	}

android 调用页面的js

2、html向android 壳发送消息

		wuyeIntro.addJavascriptInterface(new Object() {				public void checkVersion() {				};			}, "updateform");

android 向html中注入一段js代码,html通过调用该js实现向android壳发送消息。Window.updateform.checkVersion();

3、android 不能注入js问题

  上面提到的第二种通信方式,在sdk 19以上的版本可能就不能使用了,官方解释为可能存在一些安全泄露的问题,所以在高本上不支持这种方式调用。

  解决方法有两种:

 1)设置 android:targetSdkVersion版本小于19,

2)当html需要调用android壳时通过设置一些超链接设置某些规则,壳解析到这种规则后做对应的处理。

3)根据当前系统的版本决定使用方式,在19以上android增加了另外的调用方式:

     evaluateJavascript的方式与html进行交互,更方便,且更容易获取js的返回值


 view.evaluateJavascript(jsString, new ValueCallback<String>() {                             @Override                             public void onReceiveValue(String value) {                                 // TODO Auto-generated method stub                                 Log.d("zaokun", "InJavaScriptLocalObj ==value========="+value);                             }                         }); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值