Android中WebView与H5的交互,Native与JS方法互调

2023-05-25,,

项目中经常用到WebView与H5的交互,一个是H5调本地方法,一个是本地调H5方法,在此记录一下。

首先,启用JS支持

         //启用js支持
webSettings.setJavaScriptEnabled(true);

1. JS调用Native方法

         // JS调用Native方法
mWebView.addJavascriptInterface(new JsInterface(), "android"); // "android"是js那边调用Java方法时的一个“句柄”或者引用,跟h5约定好,可以写成别的。android.openUrlByBrowser()
     public class JsInterface {
@JavascriptInterface
public void backpage() {  // 无返回值,无参
finish();
} @JavascriptInterface
public void openUrlByBrowser(String url) {  // 无返回值,有参
openBrowser(url);
} @JavascriptInterface
public boolean haszhifubao() {  // 有返回值
return AppPackageChecked.isExist(WebShowActivity.this, "com.eg.android.AlipayGphone");
} }

2. Native调用JS方法

     private void pauseVideo() {
mWebView.loadUrl("javascript:pauseVideo()");  // pauseVideo()是H5那边定义好的
}

使用时Android直接调用pauseVideo()就好了

   @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.left_layout:
pauseVideo();
finish();
break;
}
}

基本就是这些。

Android中WebView与H5的交互,Native与JS方法互调的相关教程结束。

《Android中WebView与H5的交互,Native与JS方法互调.doc》

下载本文的Word格式文档,以方便收藏与打印。