一种Android终端的中间件、终端及其应用方法

文档序号:6500644阅读:143来源:国知局
一种Android终端的中间件、终端及其应用方法
【专利摘要】本发明公开了一种Android终端的中间件、终端及其应用方法,其中,该方法包括:中间件在启动时对Android终端中的所有应用程序进行检索,获得中间件的版本信息;对所有中间件的版本信息进行排序,根据排序信息启动最高版本的中间件。本发明的Android终端中间件、终端及其应用方法,通过对所有中间件版本信息进行排序后,启动最高版本的中间件供相应应用程序调用,实现了同一Android终端上存在多个能力相同版本不同的中间件时,始终由最高版本的中间件启动为所有应用程序提供服务。
【专利说明】—种Android终端的中间件、终端及其应用方法

【技术领域】
[0001]本发明涉及通信领域中终端【技术领域】,具体地,涉及Android终端的中间件、终端及其应用方法。

【背景技术】
[0002]随着智能手机、平板电脑的普及,越来越多的应用开发人员开始投入到智能移动终端应用程序的开发中。智能移动终端具有通用的操作系统,而Android作为一种开放的移动终端操作系统,在市场占有率上位列前茅。目前的Android终端程序开发人员中,除了大量的应用程序开发人员外,也有一部分中间件程序开发人员,他们研发的中间件程序不直接由终端用户使用,而是对操作系统底层接口进行封装构成一种中间层的服务程序,如基于IP的数据推送中间件、地理位置信息中间件、计费中间件、安全中间件等,提供给应用层的程序进行调用,减少了应用层程序开发人员开发的难度。
[0003]在Android系统上,将上述中间件服务程序部署到终端上的方法通常有以下几种方式:
[0004]1、中间件服务程序以独立的APK安装包形式存在,需要用户在应用市场进行下载安装;
[0005]2、中间件服务程序以APK安装包形式与应用程序安装包集成在一起,用户下载了应用安装包并安装了应用程序后,Android操作系统提示用户安装中间件服务程序;
[0006]3、中间件服务程序以独立的APK安装包形式存在,用户下载了应用的安装包并安装完应用后,应用程序提示用户到网络指定位置下载中间件服务程序安装包,用户下载后进行安装。
[0007]上述技术方案存在以下缺点:由应用程序调用的中间件服务程序需要被终端用户感知并进行下载安装,且在用户若不选择下载安装的情况下,应用程序将无法使用该中间件服务程序提供的能力,这种由用户参与的中间件应用方法严重影响用户体验。另外若Android终端上已经安装了低版本的中间件服务程序的情况下,当高版本的中间件程序随着其他的应用程序下载到Android终端上时,无法取代原有的低版本中间件来提供服务。


【发明内容】

[0008]本发明是为了克服现有技术中高版本的中间件下载到Android终端无法取代低版本中间件提供服务的缺陷,根据本发明的一个方面,提出一种Android终端中间件的应用方法。
[0009]根据本发明实施例的Android终端中间件的应用方法,包括:
[0010]中间件在启动时对Android终端中的所有应用程序进行检索,获得中间件的版本信息;
[0011]对所有中间件的版本信息进行排序,根据排序信息启动最高版本的中间件。
[0012]本发明是为了克服现有技术中高版本的中间件下载到Android终端无法取代低版本中间件提供服务的缺陷,根据本发明的另一个方面,提出一种Android终端的中间件。
[0013]根据本发明实施例的Android终端的中间件,包括:
[0014]版本检索模块,用于在启动时对Android终端中的所有应用程序进行检索,获得中间件的版本信息;
[0015]排序启动模块,用于对所有中间件的版本信息进行排序,根据排序信息启动最高版本的中间件。
[0016]本发明是为了克服现有技术中高版本的中间件下载到Android终端无法取代低版本中间件提供服务的缺陷,根据本发明的另一个方面,提出一种Android终端。
[0017]根据本发明实施例的Android终端,包括Android系统、应用程序和中间件,中间件包括:
[0018]版本检索模块,用于在启动时对Android终端中的所有应用程序进行检索,获得中间件的版本信息;
[0019]排序启动模块,用于对所有中间件的版本信息进行排序,根据排序信息启动最高版本的中间件。
[0020]本发明的Android终端中间件、终端及其应用方法,通过对所有中间件版本信息进行排序后,启动最高版本的中间件供相应应用程序调用,实现了同一 Android终端上存在多个能力相同版本不同的中间件时,始终由最高版本的中间件启动为所有应用程序提供服务。
[0021]本发明的Android终端中间件、终端及其应用方法,当Android终端上有新的应用程序安装或有应用程序被卸载,且新安装的应用程序或卸载的应用程序上集成了中间件程序时,需要对其进行判断并确保最高版本的中间件提供服务。
[0022]本发明的Android终端中间件、终端及其应用方法,通过将中间件以JAR包的形式与应用程序集成在一起,在应用程序下载安装过程中,中间件被部署到终端上该应用程序的安装目录下,在安装部署过程中无需用户感知与参与,提升了中间件部署中用户的体验,为用户提供了方便,增加了用户的满意度。
[0023]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0024]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

【专利附图】

【附图说明】
[0025]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0026]图1为本发明应用程序与中间件关系的结构示意图;
[0027]图2为本发明Android终端中间件的应用方法的流程示意图;
[0028]图3为本发明Android终端有新的集成了中间件的应用程序安装时的流程示意图;
[0029]图4为本发明Android终端中集成了最高版本的中间件的应用程序被卸载时流程示意图;
[0030]图5为本发明Android终端的中间件的结构示意图。

【具体实施方式】
[0031]下面结合附图,对本发明的【具体实施方式】进行详细描述,但应当理解本发明的保护范围并不受【具体实施方式】的限制。
[0032]本发明提出一种Android终端上无需用户参与的中间件应用方法,且应用的中间件可提供共享式的服务,可使得在存在多个中间件程序的情况下,始终由最高版本的中间件程序提供服务,这样既保证了中间件无阻碍的安装到用户移动终端上并为应用程序提供服务,同时也不影响用户体验。
[0033]本发明中,中间件服务程序以JAR包的形式,作为应用程序的一部分集成在应用程序安装包内,用户下载应用程序并安装后,中间件服务程序即被部署到Android终端上的该应用程序的安装目录下,用户并不感知中间件程序的存在。
[0034]中间件服务程序JAR包中包含SDK和中间件服务程序两部分,其中SDK为中间件服务程序开放给应用程序的接口,应用程序通过调用SDK里的接口可以完成启动中间件服务程序、向中间件服务程序注册、使用中间件服务程序能力等功能;由于本发明的技术方案中中间件服务程序需要为多个应用程序提供相关能力的服务,因此SDK与中间件服务程序之间的交互与调用需要定义为进程间通信模式。
[0035]如图1所示,应用程序I和应用程序2为同一 Android终端上不同的两个应用程序,均需调用能力A的中间件,应用程序I集成了能力A中间件N0.1,应用程序2集成了能力A中间件N0.2,假定能力A中间件N0.2版本高于能力A中间件N0.1,因此由能力A中间件N0.2为应用程序I和应用程序2提供服务,能力A中间件N0.1不运行。应用程序I可通过能力A中间件N0.1的JAR包中的SDKl实现与能力A中间件N0.2的交互,从而使用能力A中间件N0.2提供的服务,而应用程序2则通过能力A中间件N0.2的JAR包中的SDK2实现与能力A中间件N0.2的交互,从而使用能力A中间件N0.2提供的服务。
[0036]本发明提出一种Android终端中间件的应用方法,该方法实现了同一 Android终端上存在多个相同能力不同版本的中间件程序时,始终由最高版本的中间件启动为所有应用程序提供服务。
[0037]( I)版本竞争的实现
[0038]当同一 Android终端上存在多个能力相同版本不同的中间件程序时,由于只能由一个中间件为所有应用程序提供服务,因此需要解决多个版本不同的中间件竞争启动的问题,竞争启动的原则是最高版本的中间件启动并提供服务。
[0039]版本竞争由中间件程序实现,步骤如下:
[0040]步骤一:在所集成的应用程序的配置文件(AndroidManifest.xml)内写入一个关键字,标记该应用程序与其相关,同时写入自身的版本信息;
[0041]在步骤一中,应用程序的配置文件中写入的标记关键字及版本信息是在应用程序发布时写入的。
[0042]步骤二:中间件启动时,通过Android系统的包管理工具(Package Manager)对Android终端中所有应用进行检索,检索条件为步骤一中提到的标记相关性的关键字;
[0043]从步骤二中检索得到的应用列表内可读出各中间件的版本信息及其所集成的应用信息,对所有中间件的版本信息进行排序,若自身即为最高版本中间件,则继续启动,否则停止启动自身中间件,启动最高版本的中间件。
[0044]( 2 )版本切换的实现
[0045]当Android终端上有新的应用程序安装或有应用程序被卸载,且新安装的应用程序或卸载的应用程序上集成了中间件程序时,需要对其进行判断并确保最高版本的中间件提供服务。
[0046]集成了更高版本的新应用安装时,Android终端中间件的应用方法中的版本切换的实现方法包括:
[0047]步骤一:已安装的中间件监听Android系统新应用安装广播,根据广播里的应用信息,通过Android系统的包管理工具(Package Manager)对该应用程序进行检索;
[0048]步骤二:步骤一检索得到新安装的应用程序里集成的中间件的版本信息,与自身的版本信息进行比较,若低于自身的版本信息则不作任何处理,若高于自身的版本信息,则检查自身是否启动,若已启动,则停止自身程序的运行,并通过Android系统的定向广播通知新版本的中间件运行,否则不作处理;
[0049]集成了最高版本中间件程序的应用程序被卸载,Android终端中间件的应用方法中的版本切换方法包括:
[0050]步骤一:已安装的中间件监听Android系统应用卸载广播,根据广播里的应用信息,与本地记录的应用列表进行比较,若被卸载的应用程序在应用列表中,且其所集成的中间件是最高版本,则进入步骤二 ;
[0051]步骤二:检查自身版本是否是剩余中间件中的最高版本,若不是则不作任何处理;若是,则检查自身被集成的应用程序是否启动,若已启动,则不作任何处理,否则将自身被集成的应用程序启动。
[0052]上述版本切换实现方法中的相关逻辑,均在各中间件的广播接收器(Android系统中的Receiver)里完成,因此可以操作自身服务程序(Android系统中的Service)的启动与退出。
[0053]如图2所示,为本发明Android终端中间件的应用方法的流程示意图,包括:
[0054]步骤12:中间件在启动时对Android终端中的所有应用程序进行检索,获得所述中间件的版本信息;
[0055]具体的,步骤12具体包括:
[0056]步骤122:中间件在启动时通过Android系统的包管理工具,根据关键字对所述Android终端中的所有应用程序进行检索。
[0057]步骤14:对所有中间件的版本信息进行排序,根据排序信息启动最高版本的中间件。
[0058]如图3所示,如果Android终端有新的集成了中间件的应用程序安装时,还包括:
[0059]步骤22:已安装的中间件监听Android系统发布的新应用程序安装广播,根据广播的应用信息通过Android系统的包管理工具,对新应用程序进行检索;
[0060]步骤24:根据检索得到的新应用程序中集成的中间件的版本信息,与已安装的中间件的版本信息相比较,根据比较结果进行处理:
[0061]步骤242:如果新应用程序中集成的中间件的版本信息低于已安装的中间件的版本信息,则不进行处理;
[0062]步骤244:如果新应用程序中集成的中间件的版本信息高于已安装的中间件的版本信息,则检索已安装的中间件是否已启动,若已启动,则停止已安装的中间件的运行,并通过Android系统的定向广播通知新应用程序中集成的中间件运行,否则不进行处理。
[0063]如图4所示,在Android终端中集成了最高版本的中间件的应用程序被卸载时,还包括:
[0064]步骤32:已安装的中间件监听所述Android系统发布的应用卸载广播,确定被卸载的应用程序的中间件为最闻版本;
[0065]步骤34:已安装的中间件检索自身是否是最高版本的中间件,若不是,则不进行任何处理,若是,则检索自身被集成的应用程序是否已启动,若已启动,则不进行任何处理,否则,启动自身被集成的应用程序。
[0066]在本发明中,中间件以JAR包的形式作为应用程序的一部分集成在所述应用程序的安装包内,用户下载应用程序并安装后,中间件即被部署到Android终端上应用程序的安装目录下。
[0067]本发明的Android终端中间件的应用方法,通过对所有中间件版本信息进行排序后,启动最高版本的中间件供相应应用程序调用,实现了同一 Android终端上存在多个能力相同版本不同的中间件时,始终由最高版本的中间件启动为所有应用程序提供服务。
[0068]本发明的Android终端中间件的应用方法,当Android终端上有新的应用程序安装或有应用程序被卸载,且新安装的应用程序或卸载的应用程序上集成了中间件程序时,需要对其进行判断并确保最高版本的中间件提供服务。
[0069]本发明的Android终端中间件的应用方法,通过将中间件以JAR包的形式与应用程序集成在一起,在应用程序下载安装过程中,中间件被部署到终端上该应用程序的安装目录下,在安装部署过程中无需用户感知与参与,提升了中间件部署中用户的体验,为用户提供了方便,增加了用户的满意度。
[0070]如图5所示,本发明公开了一种Android终端的中间件,包括:
[0071]版本检索模块10,用于在启动时对Android终端中的所有应用程序进行检索,获得中间件的版本信息;
[0072]排序启动模块20,用于对所有中间件的版本信息进行排序,根据排序信息启动最高版本的中间件。
[0073]其中,版本检索模块10,具体用于在启动时通过Android系统的包管理工具,根据关键字对Android终端中的所有应用程序进行检索。
[0074]其中,Android终端的中间件还包括:
[0075]监听检索模块30,用于监听Android系统发布的新应用程序安装广播,根据广播的应用信息通过Android系统的包管理工具,对新应用程序进行检索;
[0076]比较处理模块40,用于根据检索得到的新应用程序中集成的中间件的版本信息,与已安装的中间件的版本信息相比较,根据比较结果进行处理:
[0077]如果新应用程序中集成的中间件的版本信息低于已安装的中间件的版本信息,则不进行处理;
[0078]如果新应用程序中集成的中间件的版本信息高于已安装的中间件的版本信息,则检索已安装的中间件是否已启动,若已启动,则停止已安装的中间件的运行,并通过Android系统的定向广播通知新应用程序中集成的中间件运行,否则不进行处理。
[0079]其中,监听检索模块30,还用于监听Android系统发布的应用卸载广播,确定被卸载的应用程序的中间件为最闻版本;
[0080]比较处理模块40,还用于检索自身是否是最高版本的中间件,若不是,则不进行任何处理,若是,则检索自身被集成的应用程序是否已启动,若已启动,则不进行任何处理,否贝IJ,启动自身被集成的应用程序。
[0081]根据本发明实施例,本发明还公开了一种Android终端,包括Android系统、应用程序和中间件,中间件包括:
[0082]版本检索模块,用于在启动时对Android终端中的所有应用程序进行检索,获得所述中间件的版本信息;
[0083]排序启动模块,用于对所有中间件的版本信息进行排序,根据排序信息启动最高版本的中间件。
[0084]其中:版本检索模块,具体用于在启动时通过Android系统的包管理工具,根据关键字对Android终端中的所有应用程序进行检索。
[0085]中间件还包括:
[0086]监听检索模块,用于监听Android系统发布的新应用程序安装广播,根据广播的应用信息通过Android系统的包管理工具,对新应用程序进行检索;
[0087]比较处理模块,用于根据检索得到的新应用程序中集成的中间件的版本信息,与所述已安装的中间件的版本信息相比较,根据比较结果进行处理:
[0088]如果新应用程序中集成的中间件的版本信息低于已安装的中间件的版本信息,则不进行处理;
[0089]如果新应用程序中集成的中间件的版本信息高于已安装的中间件的版本信息,则检索已安装的中间件是否已启动,若已启动,则停止已安装的中间件的运行,并通过Android系统的定向广播通知新应用程序中集成的中间件运行,否则不进行处理。
[0090]其中:监听检索模块,还用于监听Android系统发布的应用卸载广播,确定被卸载的应用程序的中间件为最闻版本;
[0091 ] 比较处理模块,还用于检索自身是否是最高版本的中间件,若不是,则不进行任何处理,若是,则检索自身被集成的应用程序是否已启动,若已启动,则不进行任何处理,否贝IJ,启动自身被集成的应用程序。
[0092]本发明的Android终端的中间件和Android终端,通过对所有中间件版本信息进行排序后,启动最高版本的中间件供相应应用程序调用,实现了同一 Android终端上存在多个能力相同版本不同的中间件时,始终由最高版本的中间件启动为所有应用程序提供服务。
[0093]本发明的Android终端的中间件和Android终端,当Android终端上有新的应用程序安装或有应用程序被卸载,且新安装的应用程序或卸载的应用程序上集成了中间件程序时,需要对其进行判断并确保最高版本的中间件提供服务。
[0094]本发明的Android终端的中间件和Android终端,通过将中间件以JAR包的形式与应用程序集成在一起,在应用程序下载安装过程中,中间件被部署到终端上该应用程序的安装目录下,在安装部署过程中无需用户感知与参与,提升了中间件部署中用户的体验,为用户提供了方便,增加了用户的满意度。
[0095]本发明能有多种不同形式的【具体实施方式】,上面以图1-图5为例结合附图对本发明的技术方案作举例说明,这并不意味着本发明所应用的具体实例只能局限在特定的流程或实施例结构中,本领域的普通技术人员应当了解,上文所提供的具体实施方案只是多种优选用法中的一些示例,任何体现本发明权利要求的实施方式均应在本发明技术方案所要求保护的范围之内。
[0096]最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种Android终端中间件的应用方法,其特征在于,包括: 中间件在启动时对Android终端中的所有应用程序进行检索,获得所述中间件的版本信息; 对所有中间件的版本信息进行排序,根据排序信息启动最高版本的中间件。
2.根据权利要求1所述的方法,其特征在于,所述中间件在启动时对Android终端中的所有应用程序进行检索的步骤包括: 所述中间件在启动时通过Android系统的包管理工具,根据关键字对所述Android终端中的所有应用程序进行检索。
3.根据权利要求1所述的方法,其特征在于,在所述Android终端有新的集成了中间件的应用程序安装时,方法还包括: 已安装的中间件监听所述Android系统发布的新应用程序安装广播,根据所述广播的应用信息通过Android系统的包管理工具,对所述新应用程序进行检索; 根据检索得到的新应用程序中集成的中间件的版本信息,与所述已安装的中间件的版本信息相比较,根据比较结果进行处理。
4.根据权利要求3所述的方法,其特征在于,所述与已安装的中间件的版本信息相比较,根据比较结果进行处理的步骤包括: 如果新应用程序中集成的中间件的版本信息低于已安装的中间件的版本信息,则不进行处理; 如果新应用程序中集成的中间件的版本信息高于已安装的中间件的版本信息,则检索已安装的中间件是否已启动,若已启动,则停止已安装的中间件的运行,并通过Android系统的定向广播通知新应用程序中集成的中间件运行,否则不进行处理。
5.根据权利要求1所述的方法,其特征在于,在所述Android终端中集成了最高版本的中间件的应用程序被卸载时,方法还包括: 已安装的中间件监听所述Android系统发布的应用卸载广播,确定所述被卸载的应用程序的中间件为最闻版本; 已安装的中间件检索自身是否是最高版本的中间件,若不是,则不进行任何处理,若是,则检索自身被集成的应用程序是否已启动,若已启动,则不进行任何处理,否则,启动自身被集成的应用程序。
6.根据权利要求5所述的方法,其特征在于,所述中间件以JAR包的形式作为应用程序的一部分集成在所述应用程序的安装包内,用户下载应用程序并安装后,中间件即被部署到Android终端上所述应用程序的安装目录下。
7.一种Android终端的中间件,其特征在于,包括: 版本检索模块,用于在启动时对Android终端中的所有应用程序进行检索,获得所述中间件的版本信息; 排序启动模块,用于对所有中间件的版本信息进行排序,根据排序信息启动最高版本的中间件。
8.根据权利要求7所述的中间件,其特征在于, 所述版本检索模块,具体用于在启动时通过Android系统的包管理工具,根据所述关键字对所述Android终端中的所有应用程序进行检索。
9.根据权利要求7所述的中间件,其特征在于,还包括: 监听检索模块,用于监听所述Android系统发布的新应用程序安装广播,根据所述广播的应用信息通过Android系统的包管理工具,对所述新应用程序进行检索; 比较处理模块,用于根据检索得到的新应用程序中集成的中间件的版本信息,与所述已安装的中间件的版本信息相比较,根据比较结果进行处理: 如果新应用程序中集成的中间件的版本信息低于已安装的中间件的版本信息,则不进行处理; 如果新应用程序中集成的中间件的版本信息高于已安装的中间件的版本信息,则检索已安装的中间件是否已启动,若已启动,则停止已安装的中间件的运行,并通过Android系统的定向广播通知新应用程序中集成的中间件运行,否则不进行处理。
10.根据权利要求7所述的中间件,其特征在于, 所述监听检索模块,还用于监听所述Android系统发布的应用卸载广播,确定所述被卸载的应用程序的中间件为最闻版本; 所述比较处理模块,还用于检索自身是否是最高版本的中间件,若不是,则不进行任何处理,若是,则检索自身被集成的应用程序是否已启动,若已启动,则不进行任何处理,否贝U,启动自身被集成的应用程序。
11.一种Android终端,其特征在于,包括Android系统、应用程序和中间件,所述中间件包括: 版本检索模块,用于在启动时对Android终端中的所有应用程序进行检索,获得所述中间件的版本信息; 排序启动模块,用于对所有中间件的版本信息进行排序,根据排序信息启动最高版本的中间件。
12.根据权利要求11所述的终端,其特征在于, 所述版本检索模块,具体用于在启动时通过Android系统的包管理工具,根据关键字对所述Android终端中的所有应用程序进行检索。
13.根据权利要求11所述的终端,其特征在于,所述中间件还包括: 监听检索模块,用于监听所述Android系统发布的新应用程序安装广播,根据所述广播的应用信息通过Android系统的包管理工具,对所述新应用程序进行检索; 比较处理模块,用于根据检索得到的新应用程序中集成的中间件的版本信息,与所述已安装的中间件的版本信息相比较,根据比较结果进行处理: 如果新应用程序中集成的中间件的版本信息低于已安装的中间件的版本信息,则不进行处理; 如果新应用程序中集成的中间件的版本信息高于已安装的中间件的版本信息,则检索已安装的中间件是否已启动,若已启动,则停止已安装的中间件的运行,并通过Android系统的定向广播通知新应用程序中集成的中间件运行,否则不进行处理。
14.根据权利要求11所述的终端,其特征在于, 所述监听检索模块,还用于监听所述Android系统发布的应用卸载广播,确定所述被卸载的应用程序的中间件为最闻版本; 所述比较处理模块,还用于检索自身是否是最高版本的中间件,若不是,则不进行任何处理,若是,则检索自身被集成的应用程序是否已启动,若已启动,则不进行任何处理,否贝IJ,启动自身被集成 的应用程序。
【文档编号】G06F9/445GK104049984SQ201310077835
【公开日】2014年9月17日 申请日期:2013年3月12日 优先权日:2013年3月12日
【发明者】陈阁, 王磊, 李颖 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1