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(参数);