Android webView 注入js文件,及交互

Android webView 注入js文件,及交互,第1张

0.js文件:

链接: https://pan.baidu.com/s/1MaWKxgkYgQTVQCgn8-dxLg

提取码:o6wy

3.添加js要调用的Android方法

4.添加  (JsBridge:js中调用Android方法的对象名)

5.注入js

6.Android 调用js方法 传值给js

步骤 3 中发送了处理后的消息,在webactivity中接受消息并处理:

数据示例:(参数需要使用单引号包着)

else 中对应的

callbackResult('sr1557665118336','{"data":"test"}')

if中对应的

javascript:callbackResult('sr1557665118336','{"data":"test"}')

7.补充:eventbus 消息实体封装类

8.总结:

1、设置webview对js的支持

2、在html中添加 evaluateNativeToJS 方法

3、在Android中调用 evaluateNativeToJS 方法

1、创建js调用的接口(添加js要调用的方法 evaluateJsToNative)

2、设置webview对js的支持

3、js调用 evaluateJsToNative方法

function getAvg(res) {

res = JSON.parse(res)

if (res.code == 401) {

app.tokenFailed()

return

}

if (res.code == 500) {

app.busNone()

return

}}

以上js的写法 app.tokenFailed()是JS调用Android的方法,下面的接口类的写法

class WebAppInterface {

public Context mContext

public WebAPPInterface(Context context) {

this.mContext = context

}

@JavascriptInterface  //加上这一句话,不然的话在高版本的时候有可能报错

public void tokenFailed() { //如果token失效其他两个fragment会提示 此处不做处理

LogUtil.d("tokenFailed: ")

}

@JavascriptInterface  //加上这一句话,不然的话在高版本的时候有可能报错

public void busNone() { //车辆不存在

ToastUtils.showShortToast( "车辆不存在")

}

//as调用js

public void getAvg(final String response) {

getActivity().runOnUiThread(new Runnable() {

@Override

public void run() {

busDataWebView.loadUrl("javascript:getAvg('" + response + "')")

}

})

}

public void getWarnByDay(final String response, final String type) {

getActivity().runOnUiThread(new Runnable() {

@Override

public void run() {

busDataWebView.loadUrl("javascript:getWarnByDay('" + response + "','" + type + "')")

}

})

}

}

在下面是初始化通信

//打开本包内assets目录下的index.html文件

busDataWebView.loadUrl("file:///android_asset/pages/data.html")

//1、设置允许执行的JS脚本

busDataWebView.getSettings().setJavaScriptEnabled(true)

mInterface = new WebAPPInterface(getContext())

//2、添加通信接口

busDataWebView.addJavascriptInterface(mInterface, "app")


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8082659.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存