一种能力调用方法和设备的制造方法

文档序号:8257934阅读:224来源:国知局
一种能力调用方法和设备的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其是涉及一种能力调用方法和设备。
【背景技术】
[0002]能力是指能够完成某特定业务处理事务的功能和资源集合,比如,百度的地图能力、中国移动的应用内计费能力等。互联网企业(苹果、谷歌、腾讯、百度等)以及电信运营商(中国移动等)均通过构建开放平台形成了以自身为核心的产业链,并将拥有庞大用户基础的核心能力对外开放,以繁荣第三方应用市场,为开发者带来价值,对公司主营业务正向促进。
[0003]现有技术中,能力开放技术通常是将能力以jar包的形式提供给开发者,由开发者将jar包集成到应用中,使得应用能够使用jar包中的能力。这种方式称为传统能力SDK(Software Development Kit,软件开发工具包)方式。
[0004]在上述传统能力SDK方式中,jar包只能提供给应用单独使用,并导致存在以下问题:(I)运营问题:能力重复安装、版本混乱、升级困难,相同能力可能由多个应用重复安装到终端设备上,在运行时会有多个版本同时存在,导致存储资源浪费;此外,能力被应用封装,导致能力提供方无法直接面对终端设备进行能力部署和升级。(2)用户体验问题:终端设备的公共资源使用混乱,引发用户体验异常;终端设备上的公共资源被多个应用各自同时使用,有可能出现资源冲突和使用混乱的情况,导致用户体验下降。

【发明内容】

[0005]本发明实施例提供一种能力调用方法和设备,以避免能力调用过程中的运营问题和用户体验问题,节约终端设备的存储资源,并提高用户体验。
[0006]为了达到上述目的,本发明实施例提供一种能力调用方法,用在终端设备内第三方应用调用能力的过程,所述终端设备包括能力组件和能力组件管理框架,所述能力组件为所述第三方应用对应的能力组件,所述方法包括:
[0007]在第三方应用需要调用能力时,所述能力组件获得所述终端设备上当前安装的所有第三方应用中的最高版本的应用程序接口 API具体实现;
[0008]所述能力组件将所述API具体实现的版本信息发送给所述能力组件管理框架,由所述能力组件管理框架利用所述版本信息判断所述API具体实现是否需要升级,并在所述API具体实现不需要升级时,由所述能力组件管理框架将所述API具体实现不需要升级的信息通知给所述能力组件;
[0009]所述能力组件在所述API具体实现不需要升级时,调用所述最高版本的API具体实现,并将所述API具体实现返回给所述第三方应用,以由所述第三方应用利用所述API具体实现执行相应能力。
[0010]本发明实施例提供一种终端设备,用在终端设备内第三方应用调用能力的过程,所述终端设备包括能力组件管理模块和能力组件管理框架管理模块,所述能力组件管理模块为所述第三方应用对应的能力组件管理模块;其中:
[0011]所述能力组件管理模块,用于在所述第三方应用需要调用能力时,获得所述终端设备上当前安装的所有第三方应用中的最高版本的应用程序接口 API具体实现,并将所述API具体实现的版本信息发送给所述能力组件管理框架管理模块;以及,在所述API具体实现不需要升级时,调用所述最高版本的API具体实现,并将所述API具体实现返回给所述第三方应用,以由所述第三方应用利用所述API具体实现执行相应能力;
[0012]所述能力组件管理框架管理模块,用于利用所述版本信息判断所述API具体实现是否需要升级,并在所述API具体实现不需要升级时,将所述API具体实现不需要升级的信息通知给所述能力组件管理模块。
[0013]与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,在第三方应用需要调用能力时,通过将终端设备上当前安装的所有第三方应用中的最高版本的API(Applicat1n Program Interface,应用程序接口)具体实现返回给该第三方应用,以由该第三方应用利用该最高版本的API具体实现执行相应能力,从而在多个第三方应用之间实现共享最高版本的API具体实现的能力,避免了能力调用过程中的运营问题和用户体验问题,节约了终端设备的存储资源,并提高了产品性能,减少系统开销,并提高用户体验。
【附图说明】
[0014]为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0015]图1和图2是本发明实施例一中调用最闻版本的API具体实现的不意图;
[0016]图3是本发明实施例一提供的一种能力调用方法流程示意图;
[0017]图4是本发明实施例二提供的一种能力调用方法流程示意图;
[0018]图5是本发明实施例三提供的一种能力调用方法流程示意图;
[0019]图6是本发明实施例四提供的一种终端设备结构示意图。
【具体实施方式】
[0020]下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0021]实施例一
[0022]针对现有技术中存在的问题,本发明实施例一提出一种能力调用方法,该方法用在终端设备内第三方应用调用能力的过程中,该终端设备包括能力组件和能力组件管理框架。其中,该能力组件为上述第三方应用对应的能力组件,且终端设备具体包括但不限于使用Android操作系统的移动终端。本发明实施例中,第三方应用包含的能力不仅可以供本第三方应用自身使用,还可以被其它第三方应用共享使用,这种形式的能力则称为能力组件。
[0023]与传统能力SDK方式相同的是,本发明实施例中提出的能力组件将API接口和API具体实现聚合在同一 jar包中,并最终被编译到第三方应用的程序包中。与传统能力SDK方式不同的是,本发明实施例中提出的能力组件能够保证使用能力的第三方应用均使用到最高版本的API具体实现(即最新版本的API具体实现)。例如,在终端设备上安装有多个使用开放能力的第三方应用后,各第三方应用中包含的API接口均会调用最高版本的API具体实现。
[0024]如图1所不的调用最闻版本的API具体实现的不意图,终端设备上有应用I和应用2,应用I内包含的API具体实现的版本为VI,应用2内包含的API具体实现的版本为V2,V2版本高于Vl版本。基于此,应用I会调用应用2中包含的API具体实现,且应用2会调用应用2中包含的API具体实现,从而保证了各应用均能使用到最高版本的API具体实现。而传统能力SDK方式的API接口一定会调用自身的API具体实现,不会出现跨应用调用API具体实现的情况,也无法使得各个应用均能使用到最高版本的API具体实现。
[0025]与传统能力SDK方式无法自动升级相比,本发明实施例中提出的能力组件还可以自动升级。进一步的,该能力组件通过调用能力组件管理框架的初始化API,继而可以依托该能力组件管理框架实现本能力组件的自动升级。在能力组件升级完成之后,当终端设备上安装有更高版本的API具体实现时,该能力组件能够调用该终端设备上安装的更高版本的API具体实现。
[0026]如图2所示的调用更高版本的API具体实现的示意图,终端设备上安装有更高版本的API具体实现,该API具体实现的版本为V3,V3版本高于V2版本。基于此,应用I会调用V3版本的API具体实现,应用2会调用V3版本的API具体实现,从而保证各应用均能使用到最高版本的API具体实现。
[0027]在上述应用场景下,如图3所示,该能力调用方法包括以下步骤:
[0028]步骤301,在第三方应用需要调用能力时,该第三方应用的能力组件获得终端设备上当前安装的所有第三方应用中的最高版本的API具体实现。
[0029]步骤302,能力组件将最闻版本的API具体实现的版本/[目息(如最闻版本的API具体实现的版本为V3)发送给能力组件管理框架。
[0030]步骤303,能力组件管理框架利用最高版本的API具体实现的版本信息判断API具体实现是否需要升级。如果API具体实现不需要升级,则执行步骤304 ;如果API具体实现需要升级,则执行步骤305。
[0031]本发明实施例中,能力组件管理框架可以从能力管理子系统(即网络侧的服务器)上获得最高版本的API具体实现的版本信息,该最高版本的API具体实现为网络中所有第三方应用的最高版本的API具体实现。而
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1