[发明专利]功能调用方法、装置及存储介质有效
申请号: | 201911130079.9 | 申请日: | 2019-11-18 |
公开(公告)号: | CN110851240B | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 董俊杰;徐琰;张昭 | 申请(专利权)人: | 北京小米移动软件有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/54 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 羊淑梅 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 功能 调用 方法 装置 存储 介质 | ||
本公开是关于一种功能调用方法、装置及存储介质,属于终端技术领域。所述方法包括:当快应用接收到对应于操作系统提供的目标功能的调用请求时,从操作系统中将目标可执行文件调用至快应用的运行进程;通过快应用执行目标可执行文件以调用目标功能。本公开实施例提供了一种快应用与操作系统的功能接口之间的调用方式,使得快应用能够调用操作系统提供的功能,扩展快应用的能力。
技术领域
本公开实施例涉及终端技术领域,特别涉及一种功能调用方法、装置及存储介质。
背景技术
快应用是一种无需下载、即搜即用的新形态应用,使用了前端技术栈开发,同时具备HTML 5(Hyper Text Markup Language 5,超文本标记语言5)与原生应用的双重优点。
快应用一般采用JS(JavaScript)进行开发,而终端操作系统提供的功能接口一般采用C或C++等程序设计语言编写,这就导致快应用与操作系统的功能接口之间的调用存在问题。
发明内容
本公开实施例提供了一种功能调用方法、装置及存储介质,所述技术方案如下:
当快应用接收到对应于操作系统提供的目标功能的调用请求时,将目标可执行文件载入到所述快应用的运行进程,所述目标可执行文件用于实现所述目标功能;
调用所述目标可执行文件的初始化函数,将所述目标可执行文件提供的功能接口注册到JS环境中;
通过所述快应用在所述JS环境中调用所述功能接口以执行所述目标功能;
其中,所述快应用是基于集成在所述操作系统中的快应用框架运行且无需手动安装的应用。
可选地,所述调用所述目标可执行文件的初始化函数,将所述目标可执行文件提供的功能接口注册到JS环境中,包括:
调用所述目标可执行文件的初始化函数,在所述JS环境中创建JS对象;
将所述目标可执行文件提供的所述功能接口注册到所述JS对象上。
可选地,所述方法还包括:
获取所述目标功能对应的接口定义语言文件,所述接口定义语言文件用于定义所述功能接口;
根据所述接口定义语言文件对所述目标功能对应的源文件进行编译,生成所述目标可执行文件。
可选地,所述根据所述接口定义语言文件对所述目标功能对应的代码进行编译,生成所述目标可执行文件,包括:
将所述接口定义语言文件转换为采用第一编程语言编写的文件,得到转换后的文件;
对所述转换后的文件和所述目标功能对应的源文件共同进行编译,生成所述目标可执行文件,所述目标功能对应的代码是采用所述第一编程语言编写的。
可选地,所述方法还包括:
将第一回调函数传给所述目标功能的执行函数;
通过所述目标功能的执行函数在获取到所述目标功能的相关参数之后,调用所述第一回调函数将所述目标功能的相关参数发送给所述快应用。
可选地,所述方法还包括:
在所述目标功能的对象上添加第二回调函数,所述第二回调函数用于监听所述目标功能的事件;
当所述目标功能的对象监听到所述事件时,通过所述第二回调函数将所述目标功能的相关参数发送给所述快应用。
根据本公开实施例的第二方面,提供了一种功能调用装置,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小米移动软件有限公司,未经北京小米移动软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911130079.9/2.html,转载请声明来源钻瓜专利网。