运行于智能终端的插件管理系统及方法
技术领域
本发明涉及智能终端领域,尤其涉及一种运行于智能终端的插件管理系统及方法。
背景技术
智能终端的快速普及,使得智能终端的用户对于使用智能终端的体验提出了层出不穷的高要求。例如,希望在使用智能终端时,具有一套更为个性化、定制化的交互方案。对,安装有安卓系统的智能终端在框架层对应用层提供了统一的API接口,其中包括了绝大部分的功能控制,例如,浮窗功能、CPU加速功能、呼吸灯功能、振动功能等,但是仅局限于提供给开发者,需要开发者进行创作组合,才能提供给终端用户使用。一旦开发者创作组合完成后,用户仅可在已完成的组合下使用,无法扩展或定制符合自身喜好的交互方式,这对于以开放为特色的安卓系统而言,引起了封闭的使用体验。
此外,若安装于智能终端内的应用程序为非合作的应用厂商也无法使用这部分能力,使得应用程序的交互功能更为封闭。
因此,需要一种新型的插件管理系统,可将智能终端内的部分插件能力抽象为独立的插件模块,向用户提供二次组合的功能
发明内容
为了克服上述技术缺陷,本发明的目的在于提供一种运行于智能终端的插件管理系统及方法,用户可通过插件模块的组合,定制出符合自身喜好的交互方式。
本发明公开了一种运行于智能终端的插件管理系统,其特征在于,插件管理系统包括:
插件管理服务模块,运行于智能终端的系统服务内,当系统服务对应用程序解析获得解析结果时,自系统服务接收解析结果,以获取系统服务内的插件模块信息;
插件应用创建模块,自插件管理服务模块查询插件模块的列表并显示,接收一创建指令后,将选定的插件模块与应用程序的事件绑定;
当接收一触发指令时,与事件绑定的插件模块将根据创建指令顺次执行,以形成针对事件的特定交互。
优选地,插件管理服务模块包括:
获取单元,自系统服务获取解析结果;
标记单元,标识具有插件模块的应用程序;
记录单元,将插件模块的插件模块信息记录,并固化到本地形成信息文件。
优选地,插件应用创建模块包括:
查询单元,与插件管理服务模块通信连接,查询系统服务中支持的插件模块的列表;显示单元,与智能终端的显示屏连接,向显示屏发送显示插件模块的列表的显示界面;
组合单元,接收创建指令,获取插件模块的选定项,及应用程序的时间的选定项,将创建指令中选定的插件模块及选定的应用程序的事件绑定;
编辑单元,接收编辑指令,对插件模块管理或编辑。
优选地,插件管理系统还包括插件应用执行模块;
插件执行应用模块接收导入至智能终端的插件字符串,并将插件字符串发送至插件管理模块;
插件管理模块校验插件字符串中是否具有智能终端内已安装的插件模块;
当具有已安装的插件模块时,插件执行应用模块导入与插件字符串对应的插件模块,并发送至插件应用创建模块以绑定插件模块及应用程序的事件;
当不具有已安装的插件模块时,插件执行应用模块标记导入失败。
优选地,插件管理系统还包括集成模块;
集成模块集成提供插件能力的插件模块,并封装为工具包,其中
集成模块包括:
安装单元,将软件开发包安装于智能终端内;
解析单元,解析插件模块的Androidmanifest.xml,以判断插件模块是否具有插件能力;
当插件模块具有插件能力时,解析插件模块信息并添加到插件管理服务模块,并固化插件模块信息至智能终端。
本发明还公开了一种运行于智能终端的插件管理方法,其特征在于,包括以下步骤:
运行于智能终端的系统服务对应用程序解析获得解析结果;
系统服务内的插件管理服务模块,自系统服务接收解析结果,以获取系统服务内的插件模块信息;
插件应用创建模块自插件管理服务模块查询插件模块的列表并显示,接收一创建指令后,将选定的插件模块与应用程序的事件绑定;
当应用程序的事件触发时,与事件绑定的插件模块将根据创建指令顺次执行,以形成针对事件的特定交互。
优选地,系统服务内的插件管理服务模块,自系统服务接收解析结果,以获取系统服务内的插件模块信息的步骤包括:
插件管理服务模块的获取单元自系统服务获取解析结果;
插件管理服务模块的标记单元标识具有插件模块的应用程序;
插件管理服务模块的记录单元将插件模块的插件模块信息记录,并固化到本地形成信息文件。
优选地,插件应用创建模块自插件管理服务模块查询插件模块的列表并显示,接收一创建指令后,将选定的插件模块与应用程序的事件绑定的步骤包括:
创建一插件模块;
插件应用创建模块的查询单向与插件管理服务模块通信连接,查询系统服务中支持的插件模块的列表;
插件应用创建模块的显示单元,与智能终端的显示屏连接,向显示屏发送显示插件模块的列表的显示界面;
插件应用创建模块的组合单元接收创建指令,获取插件模块的选定项,及应用程序的时间的选定项,将创建指令中选定的插件模块及选定的应用程序的事件的绑定配置。
优选地,插件管理方法还包括以下步骤:
插件执行应用模块接收导入至智能终端的插件字符串,并将插件字符串发送至插件管理模块;
插件管理模块校验插件字符串中是否具有智能终端内已安装的插件模块;
当具有已安装的插件模块时,插件执行应用模块导入与插件字符串对应的插件模块,并发送至插件应用创建模块以绑定插件模块及应用程序的事件;
当不具有已安装的插件模块时,插件执行应用模块标记导入失败。
采用了上述技术方案后,与现有技术相比,具有以下有益效果:
1.智能终端内的插件模块可独立或组合运行,根据用户自身的喜好,自定义各类插件模块以实现自由配置的交互方式;
2.若某些应用程序集成有插件框架,安装在智能终端上后,其提供的插件功能同样可被识别并应用;
3.插件模块的使用不局限于某些场景,可在任意应用程序下使用。
附图说明
图1为符合本发明一优选实施例中运行于智能终端的插件管理系统的结构示意图;
图2为符合本发明又一优选实施例中运行于智能终端的插件管理系统的结构示意图;
图3为符合本发明一优选实施例中运行于智能终端的插件管理方法的流程示意图;
图4为符合本发明一优选实施例中运行于智能终端的插件管理方法中插件管理服务模块的操作流程示意图;
图5为符合本发明一优选实施例中运行于智能终端的插件管理方法中插件应用创建模块的操作流程示意图;
图6为符合本发明一优选实施例中运行于智能终端的插件管理方法中插件执行应用模块的操作流程示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
参阅图1,为符合本发明一优选实施例中运行于智能终端的插件管理系统,在该实施例中,插件管理系统包括:
-插件管理服务模块
智能终端安装的操作系统,例如安卓系统,其内具有系统服务(systemserver)进程,并在系统服务内,运行有插件管理服务模块(AddonsManagerService),当操作系统随智能终端的启动而开始工作时,插件管理服务模块便随系统服务的启动而运行。
运行后,系统服务的安装包管理服务将对所有已安装的应用程序进行解析,已确定这些应用程序是否为具有插件能力的插件模块,例如在某些时间触发下,这些应用程序将为其他发出事件的应用程序提供交互能力,例如具有振动能力的应用程序为振动插件模块、具有呼吸灯能力的应用程序为呼吸灯插件模块等,插件管理服务模块将从系统服务获取解析结果(包括插件模块、插件模块具有的能力等),从而插件管理服务模块可获取系统服务内的插件模块信息。
-插件应用创建模块
插件应用创建模块为用户用来创建插件的应用程序,用户可在智能终端的桌面上点击代表插件应用创建模块的图标,以激活插件应用创建模块。插件应用创建模块启动后,与插件管理服务模块连接,查询插件模块的清单列表,并展示至用户。用户查看到插件模块后,可向智能终端施加一创建指令,例如期望在收到微信消息时,智能终端录屏,则创建指令指向录屏插件。插件应用创建模块根据该创建指令,将选定的插件模块与应用程序的事件绑定,从而在该事件触发时,触发插件模块对应的插件能力。
具体地,在接收一触发指令,例如应用程序的事件触发,或应用程序按照既定的顺序执行的指令后,接收用户在界面上主动触发的触发指令时,智能终端根据插件应用创建模块内的配置,依次启动与事件绑定的插件模块,利用这些插件模块的插件能力,可形成对应于这些时间的特定交互。以上述微信收到消息为例,事件为微信收到新消息,与该事件绑定的插件模块为振动模块、呼吸灯(红色与绿色交替显示)、录屏及播放特定铃声时,一旦微信确实收到新消息时,智能终端将振动、呼吸灯交替显示红色与绿色、录制当前显示屏以及播放特定铃声,从而实现用户定制化插件和交互的效果。
一优选实施例中,插件管理服务模块包括:
-获取单元
获取单元与安装包管理服务连接,自系统服务获取所述解析结果。
-标记单元
标记单元与获取单元连接,接收解析结果后,对解析结果内拥有特定intent的声明进行标记,从而标识具有插件模块的应用程序。
-记录单元
记录单元与标记单元连接,将插件模块的插件模块信息记录,例如插件模块的说明、能力简介、API规范、版本信息等,并固化到本地形成信息文件。在系统服务的开机流程完成后,插件管理服务模块的初始化流程运行结束,预期可得到当前系统服务中所有安装的插件模块的信息。
又一优选实施例中,插件应用创建模块包括:
-查询单元
插件应用创建模块在启动时,查询单元与插件管理服务模块通信连接,查询系统服务中支持的插件模块的列表。
-显示单元
显示单元与查询单元连接,获取列表后,并与智能终端的显示屏连接,向显示屏发送显示插件模块的列表的显示界面。
-组合单元
用户在显示屏上的点击,为创建指令的输入,组合单元根据显示屏接收并转发的创建指令,获取插件模块的选定项,例如灯效闪烁、内存清理或者是CPU加速,及应用程序的时间的选定项,例如监听来电事件、游戏内的击杀事件等,将创建指令中选定的插件模块及选定的应用程序的事件绑定。
-编辑单元
编辑单元同样自显示屏接收用户输入的编辑指令,对插件模块管理或编辑,例如插件模块间的组合、删除、新增等。
参阅图2,另一优选实施例中,插件管理系统还包括插件应用执行模块。用户在外部获得的插件字符串导入到本地,向智能终端新增加不具有的,但可在智能终端的硬件支持下可实现的插件模块。对此,插件执行应用模块接收导入至智能终端的插件字符串,并将插件字符串发送至插件管理模块。插件管理模块接收后,插件管理模块校验插件字符串中是否具有智能终端内已安装的插件模块,例如所导入的字符串是否支持于智能终端的硬件。当校验结果为,插件字符串对应于具有已安装的插件模块时,插件执行应用模块导入与插件字符串对应的插件模块,并发送至插件应用创建模块以绑定插件模块及应用程序的事件,从而根据其他用户定制的插件模块,应用在自身的智能终端上,由此,提供了智能终端的社交属性,为各类用户提供了定制、分享、评价的功能;当校验结果为,插件字符串对应于不具有已安装的插件模块时,插件执行应用模块标记导入失败。插件模块导入成功后,即可运行,运行时,可按照插件应用创建模块的能力实施。
继而,插件管理系统还包括集成模块,集成模块集成提供插件能力的插件模块,并封装为工具包,其中集成模块包括:安装单元,将软件开发包安装于智能终端内;解析单元,解析插件模块的Androidmanifest.xml,以判断插件模块是否具有插件能力;当插件模块具有插件能力时,解析插件模块信息并添加到插件管理服务模块,并固化插件模块信息至智能终端。
参阅图3,为符合本发明一优选实施例中插件管理方法的流程示意图,在该实施例中,插件管理方法包括以下步骤:
S100:运行于智能终端的系统服务对应用程序解析获得解析结果;
S200:系统服务内的插件管理服务模块,自系统服务接收解析结果,以获取系统服务内的插件模块信息;
S300:插件应用创建模块自插件管理服务模块查询插件模块的列表并显示,接收一创建指令后,将选定的插件模块与应用程序的事件绑定;
S400:当接收一触发指令时,与事件绑定的插件模块将根据创建指令顺次执行,以形成针对事件的特定交互。
参阅图4,步骤S200包括:
S210:插件管理服务模块的获取单元自系统服务获取所述解析结果;
S220:插件管理服务模块的标记单元标识具有插件模块的应用程序;
S230:插件管理服务模块的记录单元将插件模块的插件模块信息记录,并固化到本地形成信息文件。
具体地,首先可在I19tservice app内展开安装,后利用packagemanagerservice安装apk,并交由packageparse解析Androidmanifest.xml,从而判断系统服务内解析的插件模块是否为具有插件能力,若具有插件能力,则可将解析的info信息添加到addonsmanagerservice,并固化信息到本地(仿照apk安装流程),并以apk安装流程安装在智能终端内。若解析的结果为不具有插件能力时,则直接以apk安装流程安装在智能终端内。
参阅图5,步骤S300包括:
S310:创建一插件模块;
S320:插件应用创建模块的查询单向与插件管理服务模块通信连接,查询系统服务中支持的插件模块的列表;
S330:插件应用创建模块的显示单元,与智能终端的显示屏连接,向显示屏发送显示插件模块的列表的显示界面;
S340:插件应用创建模块的组合单元接收创建指令,获取插件模块的选定项,及应用程序的时间的选定项,将创建指令中选定的插件模块及选定的应用程序的事件的绑定配置。
具体地,在插件应用创建模块(addons producer)内创建一插件模块,并查询系统服务内的addons,例如通过addons manager app的addons manager service查询系统服务内已安装的addons(通过system server及I19tService或其他插件服务提供app返回插件模块的插件功能的描述)。而后,展示所有的addons,通过用户的选择,选定一个或多个addons后,对插件模块进行参数配置,例如询问用户是否需要再添加addons,参数配置时,通过addonsmanagerservice去查询当前系统服务中已安装的addons,例如通过I19tservice返回参数列表,最终创建结束。
参阅图6,为符合本发明一优选实施例中运行于智能终端的插件管理方法中插件执行应用模块的操作流程示意图,插件执行应用模块运行时,按照以下步骤实现:
S500:插件执行应用模块接收导入至智能终端的插件字符串,并将插件字符串发送至插件管理模块;
S600:插件管理模块校验插件字符串中是否具有智能终端内已安装的插件模块;
S700:当具有已安装的插件模块时,插件执行应用模块导入与插件字符串对应的插件模块,并发送至插件应用创建模块以绑定插件模块及应用程序的事件;
S800:当不具有已安装的插件模块时,插件执行应用模块标记导入失败。
具体地,addons SDK集成方,例如I19t service等,接收用户导入的addonsstrings,后进入stringparser模块判断是否有不支持的插件模块,若是,则停止步骤,若无,则生成一个新的插件模块,开始运行插件模块后,不断接收命令,执行n条命令(命令为通过AIDL进行docommand触发,从而执行真正需要做的事件,例如亮灯、AI检测、振动等,并根据addons app的需求返回)后,不断运行直至停止步骤。
智能终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的智能终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是智能终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。