html5案例代码(HTML5代码)

  微信,微博以及现在市面上大量的软件使用内嵌了H5页面;有些外包公司,为了节约成本,采用Android内嵌H5模式开发,便于在iOS上直接复用页面, 从而提高开发效率。

  实现的原理:

本质是:Java代码和Java调用

H5页面,只是Html的扩展,Java用来处理页面的逻辑

  Android和H5互调案例

  一.java调用js

  WebView的基本设置:

  

  Java调用js原理就是Java代码调用了Js里面的函数。

  核心Java代码段:

  

  核心js代码段:

  

  二.Java调java

  1.在初始化webview代码中配置Java接口:

  

  2.在该Activity中实现Java接口类:

  

  3.Java中调用java代码的核心代码段:

  <input type="button"value="点击Android被调用"onclick="window.Android.showToast()"/>

  执行流程:

  点击js页面的button,将执行js的onclick方法(onclick=”window.Android.showToast()”),根据该Android标示与webview配置接口方法的第二个参数相匹配,然后执行js接口实现类的showToast()方法。从而实现js代码调用java代码。

html5案例代码(HTML5代码)

  H5页面调用Android播放视频

  基本思路和上面的例子(执行流程)一样,业务逻辑层面来说播放视频主要是从H5页面点击播放跳转(把视频播放的url传递给Java层)并触发Java实现播放视频的代码即可。

  1. webview中的核心配置:

  //设置支持js调用javawebView.addJavaInterface(newAndroidAndJSInterface(),"android");

  2.在该Activity中实现Java接口类:

  

  3.Java中调用java代码的核心代码段:

  java:android.playVideo(itemid, videourl, itemtitle);

  H5页面调用Android拨打电话

  思路都是一样的,点击H5页面把电话号码传到java层并调用拨号核心代码即可。

  在该Activity中实现Java接口类:

  @JavaInterface

  public void call(String phone) {

  Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phone));

  if (ActivityCompat.checkSelfPermission(JsCallJavaCallPhoneActivity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {

  return;

  }

  startActivity(intent);

  }

  重点内容

  1.如果调用如下方法时候报错,那么可以在Java接口类的具体实现方法上面加注解:@JavaInterface,或者把targetSdkVersion 改为 16(一般不适用)

  //设置支持js调用javawebView.addJavaInterface(newAndroidAndJSInterface(), "Android");

  2.该申请的权限不要忘了在AndroidManifest.xml中加上。

  本文来自CSDN博客,更多精彩内容,查看原文。

1、本网站名称:源码村资源网
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » html5案例代码(HTML5代码)

1 评论

您需要 登录账户 后才能发表评论

发表评论

欢迎 访客 发表评论