原生调用js方法,带参数
activityBaseWebAddWebView.loadUrl("javascript:changeColor('" + viewColor + "')");//changeColor是js方法,viewColor是参数
js调用原生
1、创建js通信接口
//js通信接口
class JavascriptInterface {
private Context context;
JavascriptInterface(Context context) {
this.context = context;
}
@android.webkit.JavascriptInterface
public void openImage(String imageUrls, String img) {
Intent intent = new Intent();
intent.putExtra("imageUrls", imageUrls);
intent.putExtra("curImageUrl", img);
intent.setClass(GreetingCardWebActivity.this, PhotoBrowserActivity.class);
startActivity(intent);
}
@android.webkit.JavascriptInterface
public void toLogin() {
startActivity(new Intent(getApplicationContext(), LoginActivity.class));
}
@android.webkit.JavascriptInterface
public void toCompanyDetail(int epId, String accessPath) {
// window.yxbl_app.toCompanyDetail() //js调用android源码方法
Intent intent = new Intent(GreetingCardWebActivity.this, CompanyDetailWebActivity.class);
intent.putExtra("epId", epId);
intent.putExtra("accessPath", accessPath);
startActivity(intent);
}
@android.webkit.JavascriptInterface
public void getGreetingCardProc(String title, String imgUrl, String content, String url) {
mtitle = title;
mlogo = imgUrl;
mcontent = content;
mshareUrl = url;
mTitleText.setText(mtitle);
}
}
2、webview添加js通信接口
webView.addJavascriptInterface(new JavascriptInterface(this), "yxbl_app");
本文介绍了一种实现JavaScript与原生应用交互的方法,包括从原生调用JavaScript方法并传递参数,以及如何在JavaScript中调用原生方法来启动新的活动。通过具体的代码示例展示了创建JS接口类,并在WebView中添加该接口以实现双向通信的过程。
1095

被折叠的 条评论
为什么被折叠?



