欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解析Android中webview和js之間的交互

 更新時間:2013年07月02日 10:12:00   作者:  
本篇文章是對Android中webview和js之間的交互進行了詳細的分析介紹,需要的朋友參考下

1.android中利用webview調(diào)用網(wǎng)頁上的js代碼。
Android 中可以通過webview來實現(xiàn)和js的交互,在程序中調(diào)用js代碼,只需要將webview控件的支持js的屬性設(shè)置為true,,然后通過loadUrl就可以直接進行調(diào)用,如下所示:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("javascript:test()");

2. 網(wǎng)頁上調(diào)用android中java代碼的方法
在網(wǎng)頁中調(diào)用java代碼,需要在webview控件中添加javascriptInterface。如下所示:

復(fù)制代碼 代碼如下:

mWebView.addJavascriptInterface(new Object() {
            public void clickOnAndroid() {
                mHandler.post(new Runnable() {
                    public void run() {
                        Toast.makeText(Test.this, "測試調(diào)用java", Toast.LENGTH_LONG).show();
                    }
                });
            }
        }, "demo");

在網(wǎng)頁中,只需要像調(diào)用js方法一樣,進行調(diào)用就可以
<div id='b'><a onclick="window.demo.clickOnAndroid()">b.c</a></div>

3. Java代碼調(diào)用js并傳參
首先需要帶參數(shù)的js函數(shù),如function test(str),然后只需在調(diào)用js時傳入?yún)?shù)即可,如下所示:
mWebView.loadUrl("javascript:test('aa')");

4.Js中調(diào)用java函數(shù)并傳參
首先一樣需要帶參數(shù)的函數(shù)形式,但需注意此處的參數(shù)需要final類型,即得到以后不可修改,如果需要修改其中的值,可以先設(shè)置中間變量,然后進行修改。如下所示:

復(fù)制代碼 代碼如下:

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, "測試調(diào)用java" + String.valueOf(j), Toast.LENGTH_LONG).show();
                    }
                });
            }
        }, "demo");

然后在html頁面中,利用如下代碼<div id='b'><a onclick="window.demo.clickOnAndroid(2)">b.c</a></div>,
即可實現(xiàn)調(diào)用

相關(guān)文章

最新評論