AgentWeb WebView 与 Android交互 JS调用 Android
16lz
2021-01-23
WebView 与Android 交互的方法网上一大把,大概是自定义一个方法,加上
@JavascriptInterface
注解,
@JavascriptInterface public void BackToAndroid(){ Log.e("EEEEE","-+++++++-++++++----"); }
然后
mWebview.addJavascriptInterface(this,"android");
但是我用的是 AgentWeb 这个和Webview的方式稍微有点出入,文档上写的不是很好,如下
mAgentWeb.getJsInterfaceHolder().addJavaObject("android",new AndroidInterface(mAgentWeb,this));window.android.callAndroid();实际并没有给出
AndroidInterface的具体实现。。
其实是和上面的原理一模一样的,只是多了一层而已,下面是我个人的实现
public class AndroidInterface { private AgentWeb agent; private Context context; public AndroidInterface(AgentWeb agent, Context context) { this.agent = agent; this.context = context; } @JavascriptInterface public void BackToAndroid(){ RxBus.getDefault().send(new BackToHomeEvent()); }}
下面是AgentWeb调用的方法
mAgentWeb.getJsInterfaceHolder().addJavaObject("android",new AndroidInterface(mAgentWeb,getActivity()));
js 端的方法就是在方法中调用
window.android.BackToAndroid();其中android是上面我们约定好的,backtoandroid是我们自定义的方法名
更多相关文章
- Android SDK下载和更新失败的解决方法!!!
- Android studioError:(13, 0) Gradle DSL method not found: 'an
- android字体加粗的方法
- android中各种图标尺寸以及多分辨率支持方法
- android 7.0 系统关闭彩信过CTA测试的方法
- Android 缩放、移动、旋转View相关方法
- Android SDK 安装过程及安装失败的处理方法[转]