html调用activity,并将参数传递给activity
需求是在html5的广告页面中点击商品跳转到android的商品详情页activity,并可以购买该商品,购买商品需传递点击商品的id,因此这里需要传参
- android端的代码如下
public class WebActivity extends Activity {
WebView mWeb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.web);
mWeb = (WebView) findViewById(R.id.webView1);
mWeb.getSettings().setJavaScriptEnabled(true);
//通过它让html5找到这个类的方法
mWeb.addJavascriptInterface(new MyObject(this), "MyObject");
mWeb.loadUrl("http://jypc.groupfly.cn/SpecialBrand.html?guid=2d58b596-99a8-4ec8-ab9c-a1c58b67b47b");
}
public class MyObject {
private Context mContext;
public MyObject(Context mContext) {
this.mContext = mContext;
}
//这个方法就是网页交互的方法
@JavascriptInterface
public void startActivity(String content) {
Intent mIntent = new Intent(WebActivity.this, SecondActivity.class);
mIntent.putExtra("id", content);
mContext.startActivity(mIntent);
}
}
}
- html5的代码如下
<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 onShow() {
MyObject.startActivity(document.getElementById("text").value);
}
</script>
</head>
<body>
<div id="preview">
<input type="text" value="" id="text"> <input type="submit"
value="提交" onclick="onShow()">
</div>
</body>
</html>
未完待续
上面是html调用android,还有android调用html5,有时间了补上,以上代码附件地址。 —— [ 附件 ]