一种事件处理方法及装置与流程

文档序号:11677451阅读:127来源:国知局

技术领域
:】本发明涉及通信领域,尤其涉及一种事件处理方法及装置。
背景技术
::目前,智能手机、平板电脑等移动终端广泛采用安卓(android)系统。在工厂测试阶段实现对指纹功能的测试时,需要在工厂测试进程运行时,通过系统调用的方式,在指纹硬件的驱动中写入大量的程序代码,才能够驱动指纹硬件进行工作,并完成指纹功能测试。在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有的事件处理方法,需要检测人员手动输入大量程序代码,而这些程序代码的复用性、可维护性和稳定性都很差,实现方式复杂处理效率较低。技术实现要素:有鉴于此,本发明实施例提供了一种事件处理方法及装置,用以解决现有的事件处理方式的实现方式复杂且处理效率较低的问题。一方面,本发明实施例提供了一种事件处理方法,包括:当工厂测试进程运行时,启动指定服务对应的守护进程,所述守护进程用于启动指定服务对应的硬件;当所述守护进程开始运行后,在所述工厂测试进程中创建并运行事件监听线程,所述事件监听线程用于监听所述指定服务对应的硬件上的测试事件;响应于所述事件监听线程监听到所述测试事件时,通过调用所述事件监听线程,输出所述测试事件。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,启动指定服务对应的守护进程,包括:发送启动命令给所述指定服务对应的守护进程,以便于启动并运行所述指定服务对应的守护进程。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:通过所述指定服务对应的硬件采集操作信息;对所述操作信息进行识别,得到所述测试事件;将所述测试事件发送给本地层,以便于所述事件监听线程监听到所述测试事件。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述指定服务为指纹服务,所述指定服务对应的硬件为指纹硬件,所述测试事件为指纹设备测试事件。另一方面,本发明实施例提供了一种事件处理装置,所述装置设置于安卓终端,包括:启动单元,用于当工厂测试进程运行时,启动指定服务对应的守护进程,所述守护进程用于启动指定服务对应的硬件;创建运行单元,用于当所述守护进程开始运行后,在所述工厂测试进程中创建并运行事件监听线程,所述事件监听线程用于监听所述指定服务对应的硬件上的测试事件;输出单元,用于响应于所述事件监听线程监听到所述测试事件时,通过调用所述事件监听线程,输出所述测试事件。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述启动单元,具体用于:发送启动命令给所述指定服务对应的守护进程,以便于启动并运行所述指定服务对应的守护进程。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:采集单元,用于通过所述指定服务对应的硬件采集操作信息;识别单元,用于对所述操作信息进行识别,得到所述测试事件;发送单元,用于将所述测试事件发送给本地层,以便于所述事件监听线程监听到所述测试事件。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述指定服务为指纹服务,所述指定服务对应的硬件为指纹硬件,所述测试事件为指纹设备测试事件。上述技术方案中的一个技术方案具有如下有益效果:本发明实施例中,考虑到指定服务的守护进程中包含有启动该指定服务对应的硬件的必要信息,并且,指定服务的守护进程为终端处于正常模式下应用该指定服务的必要进程,因此,本发明实施例中通过在工厂测试进程运行时,启动指定服务的守护进程,由这个守护进程实现对指定服务对应的硬件的启动,在该过程中,不需要测试人员在指定服务对应的硬件驱动中手动输入大量的程序代码,就可以自动启动指定服务对应的硬件,有效简化了事件处理过程,也降低了事件处理过程的复杂程度,避免了不必要的人力资源浪费,能够有效的提升事件处理效率。因此,本发明实施例提供的技术方案能够解决现有的事件处理方式的实现方式复杂且处理效率较低的问题。【附图说明】为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。图1是本发明实施例所提供的事件处理方法的流程示意图;图2是本发明实施例所提供的事件处理装置的功能方块图。【具体实施方式】为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。需要注意的是,本发明实施例所描述的“上”、“下”、“左”、“右”等方位词是以附图所示的角度来进行描述的,不应理解为对本发明实施例的限定。此外在上下文中,还需要理解的是,当提到一个元件被形成在另一个元件“上”或“下”时,其不仅能够直接形成在另一个元件“上”或者“下”,也可以通过中间元件间接形成在另一元件“上”或者“下”。针对现有的事件处理方式的实现方式复杂且处理效率较低的问题,本发明实施例提供了如下解决思路:在工厂测试进程运行时,利用指定服务的守护进程启动该指定服务对应的硬件,以简化事件处理流程,提高事件处理效率。在该思路的引导下,本方案实施例提供了以下可行的实施方案。实施例一本发明实施例给出一种事件处理方法。具体的,请参考图1,其为本发明实施例所提供的事件处理方法的流程示意图,如图1所示,该方法包括以下步骤:s101,当工厂测试进程运行时,启动指定服务对应的守护进程。需要说明的是,指定服务的守护进程用于启动指定服务对应的硬件。具体的,守护进程是一般运行与本地层,可以将指定服务对应的硬件接口提供给安卓系统的核心层,并且,若守护进程由于某些异常情况停止运行后,仍然能够自动恢复。s102,当守护进程开始运行后,在工厂测试进程中创建并运行事件监听线程。需要说明的是,事件监听线程用于监听指定服务对应的硬件上的测试事件s103,响应于事件监听线程监听到测试事件时,通过调用事件监听线程,输出测试事件。本发明实施例中,考虑到在终端正常工作模式时,可以通过指定服务对应的守护进程实现对该指定服务对应的硬件,基于此,本发明实施例中,可以通过修改指定服务的守护进程的启动配置,根据修改后的启动条件,使得指定服务的守护进程能够在工厂测试模式(factorytestmode,ftm)下启动并运行,这同时也保证了工厂此时模式下的指定服务测试的工作方式与正常模式下的指定服务的工作方式一致。基于此,本发明实施例中,仅需要对指定服务的守护进程的启动条件进行修改,即可通过这个守护进程启动该指定服务对应的硬件,在该过程中,不需要检测人员手动这些复用性、可维护性和稳定性都很差的大量的程序代码,大大降低了检测人员的工作量,简化了事件处理步骤,提高了事件处理效率。在一个具体的实现过程中,指定服务可以为指纹服务,指定服务对应的硬件为指纹硬件,测试事件为指纹设备测试事件。可以理解的是,针对不同的指定服务,其对应的守护进程不同,其对应的硬件也不同。为了便于表述,以下以针对指纹服务的测试为例进行具体说明。指纹服务的保护进程为fingerprintd进程,fingerprintd进程用于提供给安卓系统的核心层指纹硬件接口的本地层守护进程。当终端处于正常工作模式下时,fingerprintd进程能够启动指纹硬件,使得指纹硬件正常工作。因此,若用户对指纹硬件有指纹的按下或抬起的操作,则指纹硬件都可以根据用户的操作信息得到相关事件。基于此,本发明实施例中,当终端处于ftm时,则可以在开机启动时就直接运行工厂测试进程factory,工厂测试进程属于一个linux程序,可以使用c语言或c++语言实现,在此不做赘述。在一个具体的实现s101的过程中,可以发送启动命令给指定服务对应的守护进程,以便于启动并运行指定服务对应的守护进程。此时,不需要检测人员在指定服务对应的硬件驱动中输入大量的初始化参数,就可以通过启动的指定服务对应的守护进程启动对应的硬件。在另一个具体的实现s101的过程中,可以设置该指定服务对应的守护进程的启动条件为ftm模式下的开机,这样,当处于ftm模式下的终端开机时,即可同时启动工厂测试进程与该指定服务对应的守护进程。在该过程中,不需要检测人员在指定服务对应的硬件驱动中输入大量的初始化参数,就可以通过启动的指定服务对应的守护进程启动对应的硬件。考虑到指定服务对应的守护进程可以用于启动指定服务对应的硬件,因此,在实际实现s102之前,还需要确定守护进程是否开始正常运行,当守护进程开始运行后,说明该守护进程已经启动或可以启动该指定服务对应的硬件,此时,执行s102中创建并运行事件监听线程的步骤。在实际实现过程中,可以通过获取守护进程的运行信息确定守护进程是否运行,或者,当守护进程开始正常运行后,接收守护进程发送的反馈信息的方式确定守护进程是否运行,等。需要说明的是,指定服务与其对应的设备的测试事件相关联。测试事件是安卓系统中的底层事件,它通常与用户的具体动作相关。测试事件发生后,对应的指定服务需要根据测试事件进行后续处理。在一个具体的实现过程中,可以通过指定服务对应的硬件采集操作信息,之后,通过对操作信息进行识别,得到测试事件,从而,将测试事件发送给本地层,以便于事件监听线程监听到测试事件。以下,仍以指纹服务为例进行具体说明。在工厂测试模式下对终端的指纹服务进行测试时,开机启动即可触发终端进入ftm模式,此时,启动factory进程和fingerprintd进程,并通过fingerprintd进程初始化指纹硬件,此时,确定fingerprintd进程开始运行,在factory进程中创建并运行内核事件监听线程。因此,当指纹硬件上采集到操作信息之后,就可以对这些操作信息进行识别,核心层(kernel)就可以获取到测试事件,之后,kernel层将这个事件发送到本地层,以便于被factory进程中的内核事件监听线程监听到,这样,factory进程就可以调用内核监听线程监听到测试事件,此时,就可以打印输出该测试事件,完成对指纹功能的测试。需要说明的是,本发明实施例中所提供的事件处理方法可以应用于安卓终端。其中,本发明实施例所涉及的终端可以包括但不限于个人计算机(personalcomputer,pc)、个人数字助理(personaldigitalassistant,pda)、无线手持设备、平板电脑(tabletcomputer)、手机、mp3播放器、mp4播放器等。需要说明的是,s101~s103的执行主体可以为事件处理装置,该装置可以位于本地终端的应用,或者还可以为位于本地终端的应用中的插件或软件开发工具包(softwaredevelopmentkit,sdk)等功能单元,本发明实施例对此不进行特别限定。可以理解的是,所述应用可以是安装在终端上的应用程序(nativeapp),或者还可以是终端上的浏览器的一个网页程序(webapp),本发明实施例对此不进行限定。本发明实施例的技术方案具有以下有益效果:本发明实施例中,考虑到指定服务的守护进程中包含有启动该指定服务对应的硬件的必要信息,并且,指定服务的守护进程为终端处于正常模式下应用该指定服务的必要进程,因此,本发明实施例中通过在工厂测试进程运行时,启动指定服务的守护进程,由这个守护进程实现对指定服务对应的硬件的启动,在该过程中,不需要测试人员在指定服务对应的硬件驱动中手动输入大量的程序代码,就可以自动启动指定服务对应的硬件,有效简化了事件处理过程,也降低了事件处理过程的复杂程度,避免了不必要的人力资源浪费,能够有效的提升事件处理效率。因此,本发明实施例提供的技术方案能够解决现有的事件处理方式的实现方式复杂且处理效率较低的问题。实施例二基于上述实施例一所提供的事件处理方法,本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。请参考图2,其为本发明实施例所提供的事件处理装置的功能方块图。如图2所示,该装置设置于安卓终端中,该装置包括:启动单元21,用于当工厂测试进程运行时,启动指定服务对应的守护进程,守护进程用于启动指定服务对应的硬件;创建运行单元22,用于当守护进程开始运行后,在工厂测试进程中创建并运行事件监听线程,事件监听线程用于监听指定服务对应的硬件上的测试事件;输出单元23,用于响应于事件监听线程监听到测试事件时,通过调用事件监听线程,输出测试事件。在一个具体的实现过程中,启动单元21,具体用于:发送启动命令给指定服务对应的守护进程,以便于启动并运行指定服务对应的守护进程。具体的,本发明实施例中,该装置还包括:采集单元24,用于通过指定服务对应的硬件采集操作信息;识别单元25,用于对操作信息进行识别,得到测试事件;发送单元26,用于将测试事件发送给本地层,以便于事件监听线程监听到测试事件。在一个具体的实现过程中,指定服务为指纹服务,指定服务对应的硬件为指纹硬件,测试事件为指纹设备测试事件。由于本实施例中的各单元能够执行图1所示的方法,本实施例未详细描述的部分,可参考对图1的相关说明。本发明实施例的技术方案具有以下有益效果:本发明实施例中,考虑到指定服务的守护进程中包含有启动该指定服务对应的硬件的必要信息,并且,指定服务的守护进程为终端处于正常模式下应用该指定服务的必要进程,因此,本发明实施例中通过在工厂测试进程运行时,启动指定服务的守护进程,由这个守护进程实现对指定服务对应的硬件的启动,在该过程中,不需要测试人员在指定服务对应的硬件驱动中手动输入大量的程序代码,就可以自动启动指定服务对应的硬件,有效简化了事件处理过程,也降低了事件处理过程的复杂程度,避免了不必要的人力资源浪费,能够有效的提升事件处理效率。因此,本发明实施例提供的技术方案能够解决现有的事件处理方式的实现方式复杂且处理效率较低的问题。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1