html代码
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>测试</title>
<script type="text/javascript">
function openDetailPage(){
client.openDetailPage("{'ids':[16503, 16615, 8135, 7963],'pos':1}")
}
</script>
</head>
<body>
<br />
<button onclick="openDetailPage()">openDetailPage</button>
</body>
</html>
Android中代码
1,接收传过来的信息 类
class JsOperation {
Activity mActivity;
OnInfoPassedListener mListener;
public JsOperation(Activity activity, OnInfoPassedListener listener) {
mActivity = activity;
this.mListener = listener;
}
//打开图片详情页面
@android.webkit.JavascriptInterface
public void openDetailPage(String info) {
LogCus.d("JsOperation", "info>>>" + info);
parseInfo(info);
}
private void parseInfo(String info) {
LiveJsInfo liveInfo = JsonUtil.jsonToObj(info, LiveJsInfo.class);
if (liveInfo != null && mListener != null) {
mListener.infoPassed(liveInfo.pos, liveInfo.ids);
} else {
LogCus.w("JsOperation", "liveInfo == null");
}
}
}
2,数据传过来后的回调函数
public interface OnInfoPassedListener{
void infoPassed(int pos, int...photoIds);
}
真正调用代码:
wvContainer.addJavascriptInterface(new JsOperation(this, new OnInfoPassedListener() {
@Override
public void infoPassed(int pos, int... photoIds) {
LogCus.d("infoPassed", "photoIds>>" + Arrays.toString(photoIds) + "pos>>>" + pos);
}
}), "client");