[发明专利]HTML5和安卓切换时冲突的解决方法在审
申请号: | 201710496357.7 | 申请日: | 2017-06-26 |
公开(公告)号: | CN107220134A | 公开(公告)日: | 2017-09-29 |
发明(设计)人: | 纪琦华;蒲珂;曾泽基;李哲山;赵永超;胡彬;方宏;蔡忠善 | 申请(专利权)人: | 中广热点云科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/44 |
代理公司: | 北京爱普纳杰专利代理事务所(特殊普通合伙)11419 | 代理人: | 王玉松 |
地址: | 100081 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | html5 切换 冲突 解决方法 | ||
技术领域
本发明涉及H5和安卓切换技术领域,具体涉及一种H5和安卓切换时冲突的解决方法。
背景技术
在H5与Android进行Hybird应用开发时产生的事件冲突问题,主要原因是Android的WebView控件与切换布局控件(如ViewPager)的Touch(触摸)事件之间的产生冲突,即两种不同的控件不能同时兼容,而这种冲突问题会给用户体验带来很大的不便。
发明内容
本发明的目的在于提出一种H5和安卓切换时冲突的解决方法,该方法提供了一种解决上述冲突的方式,通过Android提供的addJavaScriptInterface方法实现JS对Java方法的调用以及Touch事件的传递及拦截机制来解决。
为实现上述目的,本发明所采用的技术方案是一种H5和安卓切换时冲突的解决方法,包括以下步骤:
S1、调用Android的WebView控件的addJavaScriptInterface,建立Javascript对象与Android原生对象的绑定关系;
S2、通过H5的JS获取屏幕滑动广告位的控件的坐标和宽度,并传递Java对象;
S3、重写WebView控件的onInterceptTouchEvent方法,对WebView的Touch事件进行拦截并判断分发处理。
进一步的,所述S1中具体为,在Android的WebView控件添加addJavascriptInterface方法,在addJavascriptInterface中添加调用注入Java对象的方法,对象注入即通过WebView建立Javascript对象与Android原生对象的绑定关系。
本发明解决方法S2中的具体描述为:获取屏幕滑动广告位的控件的坐标和宽高后,通过JS直接调用Java对象的注入方法,将控件的坐标和宽高传递Java对象。
在进一步的方案中,所述获取屏幕滑动广告位的控件的宽度的具体方法为:
S23、在函数findDimensions()中,使用window.innerHeight和window.innerWidth得到广告位控件的高度和宽度;
S24、通过深入Document内部对body进行检测,获取广告位控件大小。
再进一步的改进中,所述S23之前还包括:
S21、通过H5的JS建立一个表单,包含两个文本框,用于屏幕滑动广告位控件当前的宽度和高度,且其数值会随控件大小的改变而变化;
S22、在的JavaScript代码中,定义了两个变量winWidth和winHeight,用于保存控件的高度值和宽度值;
所述S23中得到控件的高度和宽度后,将高度和宽度保存至两个变量winWidth和winHeight中;所述S24中获取屏幕滑动广告位控件大小后,将其保存至两个变量winWidth和winHeight中。
又进一步的改进方案的补充,所述S24之后还包括:
S25、在函数findDimensions()的最后,通过按名称访问表单元素,结果输出至两个文本框;
S26、在JavaScript代码的最后,调用findDimensions()函数。
本发明对于两个控件的分发机制的改进为:所述S3中,通过在onInterceptTouchEvent方法中判断手势的坐标是否在WebView的滑动广告位控件范围之内,来对WebView的Touch事件进行拦截并判断分发处理。
在一个具体的改进方案中,所述对WebView的Touch事件进行拦截并判断分发处理的具体方法为:
在onInterceptTouchEvent方法判断得手势的坐标在WebView的滑动广告位控件范围之内,则调用ViewPager的requestDisallowInterceptTouchEvent(true)方法,且onInterceptTouchEvent返回值设置为true,阻止ViewPager调用onInterceptTouchEvent拦截,WebView会阻止ViewPager获取Touch事件,并分发WebView的Touch事件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中广热点云科技有限公司,未经中广热点云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710496357.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据交互方法、装置及系统
- 下一篇:节段梁预制测量用稳固式超高观测塔