CN113126987A - 一种改进h5应用与设备的交互方法及存储介质 - Google Patents

一种改进h5应用与设备的交互方法及存储介质 Download PDF

Info

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
Application number
CN202110395355.5A
Other languages
English (en)
Inventor
胡焱
王汉路
张锋
牛鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Financial Information Technology Co Ltd
Original Assignee
Inspur Financial Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Financial Information Technology Co Ltd filed Critical Inspur Financial Information Technology Co Ltd
Priority to CN202110395355.5A priority Critical patent/CN113126987A/zh
Publication of CN113126987A publication Critical patent/CN113126987A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote 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应用与设备的交互方法及存储介质
技术领域
本发明涉及智能终端领域,特别是涉及一种改进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应用与设备的交互的步骤。
CN202110395355.5A 2021-04-13 2021-04-13 一种改进h5应用与设备的交互方法及存储介质 Pending CN113126987A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610387A (zh) * 2023-07-17 2023-08-18 杭州比智科技有限公司 一种基于动态加载和bitmap实现渠道对接及数据分析方法

Cited By (2)

* Cited by examiner, † Cited by third party
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