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