Android嵌入H5,H5中js调用安卓的方法
1、Android方面的准备
1)创建供js调用的类,类中的方法为js所调用的方法
package com.studytest;
import android.webkit.JavascriptInterface;
public class ForHtmlJavaScript {
@JavascriptInterface
public String toFill(String arg){
return "Android has recived " + arg;
}
@JavascriptInterface
public String toAlert(String arg){
return "Android has recived " + arg;
}
}
需要注意@JavascriptInterface
这个注解很重要,表示供H5中的js所调用
2)在activity类中注册该类
webView.addJavascriptInterface(new ForHtmlJavaScript(),"android");//注册为可被H5调用的方法,参数2为别名,H5调用时要用到
webView.loadUrl("http://172.21.0.63/asset/pages/forAndroidAndH5.html");//加载页面
如代码注解所述,new的对象为刚刚创建的方法类的实例,第二个参数为别名,js调用方法时需要对应的标注出来
此处需要注意的是加载页面的代码一定要在注册的代码之下,否则代码功能失效
H5中js的代码
var value = window.android.toFill("is fill");//调用android方提供的toFill()方法
$("#showText").val(value);//将获取的返回值填入对应的input框
js中调用的代码如第一行代码所示,android为刚刚规定的别名,别名之后直接为方法名和对应的参数
至此,H5中js调用Android方法的功能已经实现
Android内嵌H5(1)地址:https://blog.csdn.net/Dong_Da_JR/article/details/84336150