綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[資料] Android中webview和js之間的交互

[複製連結] 查看: 1241|回覆: 1|好評: 1
跳轉到指定樓層
樓主
暗桌之光 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2011-7-24 15:59

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
1.android中利用webview調用網頁上的js代碼。
Android 中可以通過webview來實現和js的交互,在程式中調用js代碼,只需要將webview控件的支持js的屬性設定為true,,然後通過loadUrl就可以直接進行調用,如下所示:
  1. mWebView.getSettings().setJavaScriptEnabled(true);
  2. mWebView.loadUrl("javascript:test()");
複製代碼
2. 網頁上調用android中java代碼的方法
在網頁中調用java代碼,需要在webview控件中添加javascriptInterface。如下所示:
  1. mWebView.addJavascriptInterface(new Object() {
  2.             public void clickOnAndroid() {
  3.                 mHandler.post(new Runnable() {
  4.                     public void run() {
  5.                         Toast.makeText(Test.this, "測試調用java", Toast.LENGTH_LONG).show();
  6.                     }
  7.                 });
  8.             }
  9.         }, "demo");
複製代碼
在網頁中,只需要像調用js方法一樣,進行調用就可以
  1. <div id='b'><a onclick="window.demo.clickOnAndroid()">b.c</a></div>
複製代碼
3. Java代碼調用js並傳參
首先需要帶參數的js函數,如function test(str),然後只需在調用js時傳入參數即可,如下所示:
  1. mWebView.loadUrl("javascript:test('aa')");
複製代碼
4.Js中調用java函數並傳參
首先一樣需要帶參數的函數形式,但需注意此處的參數需要final類型,即得到以後不可修改,如果需要修改其中的值,可以先設定中間變量,然後進行修改。如下所示:
  1. mWebView.addJavascriptInterface(new Object() {
  2.             public void clickOnAndroid(final int i) {
  3.                 mHandler.post(new Runnable() {
  4.                     public void run() {
  5.                                 int j = i;
  6.                                 j++;
  7. Toast.makeText(Test.this, "測試調用java" + String.valueOf(j), Toast.LENGTH_LONG).show();
  8.                     }
  9.                 });
  10.             }
  11.         }, "demo");
複製代碼
然後在html頁面中,利用如下代碼
  1. <div id='b'><a onclick="window.demo.clickOnAndroid(2)">b.c</a></div>
複製代碼

即可實現調用
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 2幫助 +2 收起 理由
ch80418 + 1 偶像,看完你的內容,讓我找到了活著的意義.
louis5727008 + 1 好內容。朕有賞,還不謝主隆恩.

查看全部評分

收藏收藏1 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
沙發
louis5727008 | 收聽TA | 只看該作者
發表於 2012-2-6 14:50
太棒了~很有收穫~
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則