JavaScript 與 Android 程式碼互相呼叫

在 Android 裡將網頁載入到畫面,使用 WebView 元件就可以很輕鬆達成任務。
如果要再加上跟 JavaScript 的互動的話,Android 系統也提供了互通機制。

可從 Android 呼叫 JavaScript 的函式,或從 JavaScript 呼叫 Android 的函式。

// ----------------------
// 設定 Android 端
// ----------------------
建立一個類別 JavaScriptInterface
專門給 JavaScript 呼叫

/** 建立給 JavaScript 呼叫的函式 **/
public class JavaScriptInterface {
    public void callAndroid() {
        //Android 要執行的程式碼
    }
}

設定 WebView 的功能    

//啟用 WebView 的 JavaScript 執行功能
webView.getSettings().setJavaScriptEnabled(true);
//設定允語 JavaScript 呼叫的對應名稱
webView.addJavascriptInterface(new JavaScriptInterface(), "android");

// -----------------------
// 設定 JavaSript 端
// -----------------------    

<script type="text/javascript">
    function callJavascript() {
        //JavaScript 要執行的程式碼
    }
</script>

// -----------------------
// JavaScript 與 Android 程式碼互相呼叫
// -----------------------
Android :
mWebView.loadUrl("javascript:callJavascript(参数)");

JavaScript :
window.android.callAndroid(参数);

posted @ 2012-12-19 17:10  日光之下无新事  阅读(284)  评论(0编辑  收藏  举报