? ? ? ??在Android開發(fā)中,越來越多的商業(yè)項目使用了Android原生控件與WebView進(jìn)行混合開發(fā),當(dāng)然不僅僅就是顯示一個WebView那么簡單,有時候還需要本地Java代碼與HTML中的javascript進(jìn)行交互,Android也對交互做了很好的封裝,所以很容易實現(xiàn)例如:點擊網(wǎng)頁中的按鈕Android調(diào)用原生對話框,點擊網(wǎng)頁中的電話號碼調(diào)用Android撥號APP。
實現(xiàn)Android調(diào)用JS腳本是非常簡單的,直接Webview調(diào)用loadUrl方法,里面是JS的方法名,并可以傳入?yún)?shù),javascript:xxx()方法名需要和JS方法名相同
contentWebView.loadUrl("javascript:javacalljs()");
js代碼

實現(xiàn)JS調(diào)用Android方法,需要在Java代碼中添加下面這句,webview綁定javascriptInterface,js腳本通過這個接口來調(diào)用java代碼, 第一個參數(shù)是自定義類對象,映射成JS對象,這里我直接傳this,第二個參數(shù)是別名,JS腳本通過這個別名來調(diào)用java的方法,這個別名跟HTML代碼中也是對應(yīng)的。
contentWebView.addJavascriptInterface(MainActivity.this,"android");

先看一下效果圖,上面是2個原生Button View 下面是一個WebView

網(wǎng)頁布局

java中調(diào)用的方法

轉(zhuǎn)載http://blog.csdn.net/leejizhou/article/details/50894531