Android studio 中與本地 html 頁面互動
阿新 • • 發佈:2019-01-23
在Android studio的工程裡的main目錄下建立一個 assets目錄與res同級如下圖:
在assets目下考入寫好的html頁面,webview通過“file:///android_assets/xxxx.html”載入此檔案。
_webView.loadUrl("file:///android_asset/01_test.html");
下面說一下java與js之間的互動:
首先webview要設定支援 js:_webView.getSettings().setJavaScriptEnabled(true);再註冊js訪問java的介面:
_webView.addJavascriptInterface(newContact(),"contact");
class Contact{ @JavascriptInterface//必須標明否則訪問不了public void clickAndroid() { Toast.makeText(MyWebViewActivity.this, "contact success", Toast.LENGTH_LONG).show(); } }
js訪問Android本地方法:繫結的關鍵字“aontact”.加方法名如下:
function opAndroid(){
contact.clickAndroid
}
<button id="button"onclick="contact.clickAndroid()">
Android 訪問js方法:
首先在html的js中構建一個方法
<script type="text/javascript"> function invokedByJava(param) { document.getElementById("button").innerHTML = "Java has invoked JS function and returnd the data:"+param; } </script>
再通過地址:(由javascript:function())組成如下:
_webView.loadUrl("javascript:invokedByJava('java_data')");(必須在UI執行緒,否則無法訪問)