馬上加入Android 台灣中文網,立即免費下載應用遊戲。
您需要 登錄 才可以下載或查看,沒有帳號?註冊
x
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 onclick="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 onclick="window.demo.clickOnAndroid(2)">b.c</a></div>
複製代碼 ,
即可實現調用 |