Android中WebView與H5的交互,Native與JS方法互調

項目中常常用到WebView與H5的交互,一個是H5調本地方法,一個是本地調H5方法,在此記錄一下。javascript

首先,啓用JS支持java

1         //啓用js支持
2         webSettings.setJavaScriptEnabled(true);

 

1. JS調用Native方法android

1         // JS調用Native方法
2         mWebView.addJavascriptInterface(new JsInterface(), "android"); // "android"是js那邊調用Java方法時的一個「句柄」或者引用,跟h5約定好,能夠寫成別的。android.openUrlByBrowser()
 1     public class JsInterface {
 2         @JavascriptInterface
 3         public void backpage() {  // 無返回值,無參  4             finish();
 5         }
 6 
 7         @JavascriptInterface
 8         public void openUrlByBrowser(String url) {  // 無返回值,有參
 9             openBrowser(url);
10         }
11 
12         @JavascriptInterface
13         public boolean haszhifubao() {  // 有返回值 14             return AppPackageChecked.isExist(WebShowActivity.this, "com.eg.android.AlipayGphone");
15         }
16 
17     }

 

2. Native調用JS方法web

1     private void pauseVideo() {
2         mWebView.loadUrl("javascript:pauseVideo()");  // pauseVideo()是H5那邊定義好的 3     }

使用時Android直接調用pauseVideo()就行了ide

1   @Override
2     public void onClick(View v) {
3         switch (v.getId()) {
4             case R.id.left_layout:
5                 pauseVideo();
6                 finish();
7                 break;
8         }
9     }

 

基本就是這些。this

相關文章
相關標籤/搜索