webview调用js方法

/**
 * 调用js方法  由于webview中调用js需要拼接成字符串比较麻烦,所以简单的封装了一下
 *    
 * @param strs 第一个参数是js方法名字,其余任意个参数为传递给js的参数 
 */
public void callJs(Object... strs) {
    Message message = new Message();
    message.obj = getCallJsString(strs);
    handlerJs.sendMessage(message);
}


private Handler handlerJs = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        if (msg.what == 0) {
            webView.loadUrl((String) msg.obj);
        }
    }
};
//

/**
 * 获取调用js时使用的string串
 *
 * @param strs 第一个参数为js方法名,其余任意参数为传递给js的参数
 * @return
 */
private String getCallJsString(Object... strs) {
    String name = (String) strs[0];
    String params = "";
    for (int i = 1; i < strs.length; i++) {
        params += strs[i] + "','";
    }
    params = params.substring(0, params.length() - 2);
    result = "javascript:" + name + "('" + params + ")";
    return result;

}

你可能感兴趣的:(webview调用js方法)