问题描述
android原生app和h5混合开发时,webview加载网页,而我需要把该网页内用户填入的表单信息传递到app的activity内进行处理该怎么实现?
实现方法
假设网页页面内有一个提交按钮,当我点击这个提交按钮时,app会获取该页面的内容
js端:
$("#submit_btn").click(function(){
var str = "我是js函数的值;";
var str2 = "我是js函数的第二个值;";
//这里的passParams只能传递字符串,参数可以是N(N>=0)个
window.JSInterface.passParams(str,str2);
});
android端
如何用webview加载一个url页面:android webview带cookie访问url
在activity里建立一个内部类
class JSInterface{
@JavascriptInterface
/*这里的方法passParams要和js里的window.JSInterface.passParams(str,str2)
中的passParams对应*/
public void passParams(String str,String str2){
Log.i("jsInfo",str+"\n"+str2);
}
}
然后在webview的设置里加上这行代码
//这里的"JSInterface"要和js代码里window.JSInterface的JSInterface对应
webView.addJavascriptInterface(new JSInterface(),"JSInterface");