Android中 WebView与Js的交互2

接着上篇内容继续:
1. 我们先写个 html(这里直接借用人家的):

function funFromjs(){
document.getElementById("helloweb").innerHTML="HelloWebView,i'm from js";
}
var aTag = document.getElementsByTagName('a')[0];
aTag.addEventListener('click', function(){
//调用android本地方法
myObj.fun1FromAndroid("调用android本地方法fun1FromAndroid(String name)!!");
return false;
}, false);

2. 在创建一个js调用Android的类
public class JsC {
private Context mContext;

public JsC(Context context) {
    mContext = context;
}
@JavascriptInterface//这里必须要加上这个注解
public void fun1FromAndroid(String msg) {
    Toast.makeText(mContext, "" + msg, Toast.LENGTH_SHORT).show();
}

} 或者在 你的webview的所在的页面直接 写上面加注解的那个方法

3. webview的设置(js调用本地方法): 这里的jstest.html就是上面的js代码,我是放在了assets下面
//js调用android的方法
webView.addJavascriptInterface(new JsC(this), “myObj”);//如果你的加注解的是写在了本页面,那就直接this,这里的myObj就是本地的对象,供js来调用本地方法。
webView.loadUrl(“file:///android_asset/jstest.html”);

4. android调用js的方法: webView.loadUrl(“javascript:funFromjs()”);

你可能感兴趣的:(Android中 WebView与Js的交互2)