AgentWebAndroid和Js交互
最近在项⽬中遇到Android和JS的交互问题,第⼀次做,我和H5调了好⼏次,才调试好。泪奔ING
在这⾥记录⼀个Demo,防⽌以后忘记,⼩伙伴们也可以借鉴⼀下,有什么不对的,欢迎指正。(你可以说,我不⼀定听)
1.⾸先介绍⼀下,我⽤的是AgentWeb这个加载WebView的框架
AgentWeb 是⼀个⾼度封装的 Android WebView ,简单易⽤ , 带有进度条 、 ⽀持⽂件上传 、 下载 、 简化 Javascript 通信 ,加强 Web 安全的库 。
// webview加载框架的依赖
implementation'com.just.agentweb:agentweb:4.0.2' // (必选)
implementation'com.just.agentweb:download:4.0.2' // (可选)
implementation'com.just.agentweb:filechooser:4.0.2'// (可选)
具体我就不多做介绍了,你们去百度⼀下⼀⼤堆。我们主要介绍和JS交互的问题。
2.先准备⼀个htm l⽂件放在src_ma in下的a ssets⽂件下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Carson_Ho</title>
// JS代码
<script>
// Android需要调⽤的⽅法
function callJS(){
alert("Android调⽤了JS的callJS⽅法");
}
</script>
</head>
</html>
ndro
3.a ndr o id加载H5
mweb是LinearLayout 好了接下来才是重头戏,注意了不要眨眼睛
4.Andro id调⽤JS
callJS  是H5写的⽅法,你要和H5的⼩伙伴商量好哦,不然就真是狗带了
5.JS调⽤Andro id
javascript进度条
这个的话,我们只需要给H5的⼩伙伴留⼀下⽅法。需要两步
第⼀:写⼀个接⼝,在接⼝给H5留⽅法
public class AndroidInterface {
private AgentWeb agent;
private Context context;
public AndroidInterface(AgentWeb agent, Context context) { this.agent = agent; t = context;
}
@JavascriptInterface
public String getAndroid() {
return "Android";
}
}
第⼆:把接⼝设置进去
window.android.callAndroid();
完事了,第⼀次分享,希望可以帮助遇到这类问题的童鞋。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。