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

CEO钕仔

CEO钕仔

2016-02-19 08:56

下面图老师小编跟大家分享一个简单易学的解析Android中webview和js之间的交互教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

1.android中利用webview调用网页上的js代码。
Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true,,然后通过loadUrl就可以直接进行调用,如下所示:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("javascript:test()");

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

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')");

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

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,
即可实现调用

展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
解析Android中webview和js之间的交互

Android开发之WebView组件的使用解析

编程语言 网络编程
Android开发之WebView组件的使用解析

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

基于Android中手势交互的实现方法

编程语言 网络编程
基于Android中手势交互的实现方法

android控件之WebView控件缩小

编程语言 网络编程
android控件之WebView控件缩小

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

解析交互设计中的拖放交互设计

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
解析交互设计中的拖放交互设计

轻松实现HTML和JS之间的转化的代码

Web开发
轻松实现HTML和JS之间的转化的代码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

js实现iframe动态调整高度的代码

js实现iframe动态调整高度的代码

JavaScript中的Navigator浏览器对象

JavaScript中的Navigator浏览器对象
下拉加载更多内容 ↓