CN113126987A - 一种改进h5应用与设备的交互方法及存储介质 - Google Patents
一种改进h5应用与设备的交互方法及存储介质 Download PDFInfo
- Publication number
- CN113126987A CN113126987A CN202110395355.5A CN202110395355A CN113126987A CN 113126987 A CN113126987 A CN 113126987A CN 202110395355 A CN202110395355 A CN 202110395355A CN 113126987 A CN113126987 A CN 113126987A
- Authority
- CN
- China
- Prior art keywords
- application
- applications
- interaction
- browser
- devices according
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000003993 interaction Effects 0.000 title claims abstract description 19
- 238000004891 communication Methods 0.000 claims abstract description 16
- 230000007246 mechanism Effects 0.000 claims abstract description 15
- 238000002347 injection Methods 0.000 claims abstract description 12
- 239000007924 injection Substances 0.000 claims abstract description 12
- 230000010354 integration Effects 0.000 claims abstract description 10
- 230000002093 peripheral effect Effects 0.000 claims description 8
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 239000002346 layers by function Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种改进H5应用与设备的交互方法,集成基于android的classLoader的反射机制,通过webkit将功能对象注入到JS;集成基于QT的webEngine和QaxWidget的对象注入机制将dll动态注入到JS;集成基于web iframe间通过消息机制建立不同frame间的通讯管道。通过以上三种技术集成,本发明能够实现H5应用JS与原生应用开发语言间的互相调用。
Description
技术领域
本发明涉及智能终端领域,特别是涉及一种改进H5应用与设备的交互方法及存储介质。
背景技术
随着智慧屏幕需求的日益增加,智能设备的外设也越来越多,随之而来的就是外设与应用间的互通方式的需求也越来越多。外设与应用间版本不兼容,无法高效的进行硬件设备的动态扩展。针对这一问题,目前的解决方案主要包括:1、原生应用开发,集成本地外设的调用模块。2、开发通讯模块SDK,供第三方应用使用。以上通过SDK、定制开发模块的方式,无疑增加了模块和第三方应用的开发工作量及重复性代码。
发明内容
本发明主要解决的技术问题是提供一种改进H5应用与设备的交互方法及存储介质,引入一次模块开发,动态加载提供服务,外抛JS接口的方式减少第三方应用的开发工作量及重复性代码。将软件的开发重点放在业务层上,减少功能层的投入。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种改进H5应用与设备的交互方法,包括:
开发通讯模块;
H5应用集成JS;
建立通讯管道,提供H5应用互调访问接口;
H5应用通过JS接收容器对象,与设备外设驱动交互。
优选的,所述H5应用集成JS步骤进一步包括:集成基于android的类加载器的反射机制,通过webkit将功能对象注入到JS;集成基于QT的webEngine和QaxWidget的对象注入机制将dll动态注入到JS。
优选的,所述建立通讯管道步骤进一步包括:集成基于web iframe间通过消息机制建立若干frame间的通讯管道。
优选的,所述开发通讯模块步骤还包括:通过classLoader反射机制获取插件类,实例化对象后通过webkit将对象注入到web应用中;
Windows设备Chrome浏览器:通过webchannel的对象注入方式,将插件化模块注入;
Windows设备IE浏览器:通过QaxWidget的绑定全局对象,利用Qt对象的反射原理在全局对象中创建映射关系,调用时反向推论出插件对象并invoke方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如前述公开的所述的采用改进H5应用与设备的交互的步骤。
本发明的有益效果是:本发明基于android、windows原生应用中加载web页面的方式,通过注入集成、事件驱动实现一套硬件接口标准、一套H5代码跨平台运行的方式,该方式可提供硬件设备的动态扩展,可提供H5应用的版本全兼容。
附图说明
图1是本发明实施例1所述的一种改进H5应用与设备的交互方法的拓扑图;
图2是本发明实施例1所述的一种改进H5应用与设备的交互方法中通讯管道的拓扑图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
实施例1
本发明一种改进H5应用与设备的交互方法,请参阅图1和图2,包括:
一种改进H5应用与设备的交互方法,集成基于android的classLoader的反射机制,通过webkit将功能对象注入到JS;集成基于QT的webEngine和QaxWidget的对象注入机制将dll动态注入到JS;集成基于web iframe间通过消息机制建立不同frame间的通讯管道。通过以上三种技术集成,实现H5应用JS与原生应用开发语言间的互相调用。
Android设备:外设通讯模块插件化开发,并通过classLoader反射机制获取插件类,实例化对象后通过webkit将对象注入到web应用中;
当为Windows设备Chrome浏览器时,通过webchannel的对象注入方式,将插件化模块注入;
当为Windows设备IE浏览器时,通过QaxWidget的绑定全局对象,利用Qt对象的反射原理在全局对象中创建映射关系,调用时反向推论出插件对象并invoke方法。
具体实现步骤如下:
1.集成PluginJS的H5应用;
2.接收容器对象,与设备外设驱动交互,提供H5应用互调访问接口;
H5应用注册事件监听及回调函数,由容器接收到相关事件后调用回调函数,将数据或状态传递给H5应用;
H5应用主动调用JS API,容器执行完后将数据或状态通过回调方式传递给应用;
3.android设备上实现业务或功能对象注入的核心模块;
4.实现JS调用java接口类,并对业务进行处理,同时返回执行过程及结果;
5.实现chrome内核浏览器的对象注入及互调接口,实现IE内核浏览器的对象注入及互调接口;
6.实现JS调用C++,接口类,并对业务进行处理同时返回执行过程及结果;
7.浏览器模式下,基于web message进行跨窗体的接口互调,完成兼容处理。
8.浏览器模式下,通过iframe间数据通讯,完成不同窗体的JS互调,并对业务进行处理同时返回执行过程及结果。
基于与前述实施例中方法同样的发明构思,本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如前述公开的的采用改进H5应用与设备的交互的步骤。
本发明基于android、windows原生应用中加载web页面的方式,通过注入集成、事件驱动实现一套硬件接口标准、一套H5代码跨平台运行的方式,该方式可提供硬件设备的动态扩展,可提供H5应用的版本全兼容。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种改进H5应用与设备的交互方法,其特征在于,包括:
开发通讯模块;
H5应用集成JS;
建立通讯管道,提供H5应用互调访问接口;
H5应用通过JS接收容器对象,与设备外设驱动交互。
2.根据权利要求1所述的一种改进H5应用与设备的交互方法,其特征在于:所述H5应用集成JS步骤进一步包括:集成基于android的类加载器的反射机制,通过webkit将功能对象注入到JS;集成基于QT的webEngine和QaxWidget的对象注入机制将dll动态注入到JS。
3.根据权利要求1所述的一种改进H5应用与设备的交互方法,其特征在于:所述建立通讯管道步骤进一步包括:集成基于web iframe间通过消息机制建立若干frame间的通讯管道。
4.根据权利要求1所述的一种改进H5应用与设备的交互方法,其特征在于:所述开发通讯模块步骤还包括:通过classLoader反射机制获取插件类,实例化对象后通过webkit将对象注入到web应用中。
5.根据权利要求4所述的一种改进H5应用与设备的交互方法,其特征在于:当为Windows设备Chrome浏览器时,通过webchannel的对象注入方式,将插件化模块注入。
6.根据权利要求4所述的一种改进H5应用与设备的交互方法,其特征在于:当为Windows设备IE浏览器时,通过QaxWidget的绑定全局对象,利用Qt对象的反射原理在全局对象中创建映射关系,调用时反向推论出插件对象并invoke方法。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1-6任一项所述的采用改进H5应用与设备的交互的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110395355.5A CN113126987A (zh) | 2021-04-13 | 2021-04-13 | 一种改进h5应用与设备的交互方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110395355.5A CN113126987A (zh) | 2021-04-13 | 2021-04-13 | 一种改进h5应用与设备的交互方法及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113126987A true CN113126987A (zh) | 2021-07-16 |
Family
ID=76776035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110395355.5A Pending CN113126987A (zh) | 2021-04-13 | 2021-04-13 | 一种改进h5应用与设备的交互方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113126987A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610387A (zh) * | 2023-07-17 | 2023-08-18 | 杭州比智科技有限公司 | 一种基于动态加载和bitmap实现渠道对接及数据分析方法 |
-
2021
- 2021-04-13 CN CN202110395355.5A patent/CN113126987A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610387A (zh) * | 2023-07-17 | 2023-08-18 | 杭州比智科技有限公司 | 一种基于动态加载和bitmap实现渠道对接及数据分析方法 |
CN116610387B (zh) * | 2023-07-17 | 2023-10-03 | 杭州比智科技有限公司 | 一种基于动态加载和bitmap实现渠道对接及数据分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7917913B2 (en) | Injecting proxy components using blueprints | |
US8490070B2 (en) | Unified mobile platform | |
CN111176626B (zh) | 跨编程语言的代码调用方法及装置、介质、设备 | |
CN110691136A (zh) | 数据交互方法、装置、电子设备及存储介质 | |
CN107818588B (zh) | Android系统基于JNI多线程调用Qt绘图的装置和方法 | |
CN113126987A (zh) | 一种改进h5应用与设备的交互方法及存储介质 | |
CN107483412B (zh) | 一种HTML5 web worker迁移方法及系统 | |
CN110221840B (zh) | 应用程序的功能实现方法及装置、设备及存储介质 | |
CN109725887B (zh) | 基于消息研发框架的数据交互方法、装置及终端设备 | |
US6829575B2 (en) | Enterprise javabeans container | |
CN106778269B (zh) | 一种驱动层防注入方法、装置及客户端 | |
CN111966508A (zh) | 一种消息的批量发送方法、装置、计算机设备和存储介质 | |
CN112527535B (zh) | 一种基于原生WebView扩展应用的互动方法及终端 | |
CN110609680A (zh) | 基于Spring拦截器的参数传递方法、装置、存储介质及设备 | |
CN112579212A (zh) | 跨语言调用的方法、调用方装置及被调用方装置 | |
CN105446732A (zh) | 64位程序的运行实现方法、装置和系统 | |
CN110417912B (zh) | 一种文件下载完成后回调的方法 | |
CN103577177A (zh) | 一种图形库调用方法和设备 | |
CN110286957B (zh) | 一种使用Ocx扩展webkit内核应用的方法 | |
CN106775768B (zh) | Native代码调用系统、方法及APP混合开发系统 | |
CN111708519A (zh) | 一种业务组件的处理方法、装置、设备和存储介质 | |
CN111966427B (zh) | 一种Android native调用Java API的实现方法 | |
CN116049582B (zh) | WebView监控方法、计算机设备和计算机可读存储介质 | |
US8572561B1 (en) | Multiple java ME MIDlet execution in single-instance CLDC JVM | |
CN116166224A (zh) | 一种基于Cordova开发混合App的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |