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


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

首先,啟用JS支持

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

 

1. JS調用Native方法

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方法

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

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

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     }

 

基本就是這些。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM