Android--H5交互简介
16lz
2021-01-25
本文主要介绍利用JavascriptInterface实现Android和H5界面的交互。
因为是Android的技术分享,js具体代码就不贴了,只要知道前端给的Consume.getWebId("invest")
这个方法就够了。
下面开始介绍Android代码:
- 新建一个Operator类
private Activity activity; public H5Operator(Activity activity) { this.activity = activity; } @JavascriptInterface public void getWebId(final String message){ activity.runOnUiThread(new Runnable() { @Override public void run() { if("invest".equals(message)){ //在这里执行你想要的操作; } } }); }
代码说明:getWebId
必须要和前端的一致,"invest".equals(message)
匹配收到的message,然后执行android自己的操作,比如跳转之类的。
- WebViewActivity界面
//核心方法代码 @SuppressLint({"NewApi", "SetJavaScriptEnabled"}) private void initializeWebView() { webView.addJavascriptInterface(new H5Operator(WebViewActivity.this), "Consume"); try { String userId = (String) SPutils.get(this, "userId", "0"); String url = "访问的界面"; WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setAllowFileAccess(true); webSettings.setAllowFileAccessFromFileURLs(true); webSettings.setBuiltInZoomControls(false); webSettings.setSupportZoom(false); webSettings.setDisplayZoomControls(false); this.webView.loadUrl(url); } catch (Exception e) { e.printStackTrace(); } } //在onCreate方法中调用 this.initializeWebView();
代码说明:@SuppressLint({"NewApi", "SetJavaScriptEnabled"})
NewApi
作用是屏蔽android lint错误,SetJavaScriptEnabled
开启Javascript支持。
webView.addJavascriptInterface(new H5Operator(H5Operator.this), "Consume");
这句代码中需要注意的是"Consume"必须和前端给的方法一致。
以上,就是Android和H5交互的方法,很简单,其他延伸的知识就不在这赘述了。详细的分享这篇讲挺多的,大家可以参考下。
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- Android创建旋转箭头-不恢复原位-旋转动画的使用
- Android框架保证View更新必须在主线程的解读
- Android(安卓)读取扫码枪的内容,可以读取条形码 ,二维码
- Android(安卓)5.X 新特性详解(一)——主题、Palette、阴影、着色和
- android中view事件传递
- android HorizontalScrollView实现滚动状态监听
- android 开发 View _1_ View的子类们 和 视图坐标系图
- Android(安卓)仿qq 点赞功能