一种传感器的注册方法、装置及移动终端与流程

文档序号:12122947阅读:322来源:国知局
一种传感器的注册方法、装置及移动终端与流程

本发明涉及移动终端技术领域,特别是涉及一种传感器的注册方法、装置及移动终端。



背景技术:

目前终端中通常会集成一种或多种传感器,为用户提供更加丰富多彩的服务。当终端开机时,终端系统的框架层会根据硬件抽象层的传感器列表对各类传感器进行注册。然而,当终端的某个传感器已经坏损,或者不存在这个传感器时,终端系统内的框架层依然会根据硬件抽象层的传感器列表对这个传感器进行注册。当用户通过应用程序调用这个传感器时,驱动层将无法成功驱动相应传感器,导致死机黑屏、应用程序闪退等现象的发生,严重影响用户体验度。



技术实现要素:

本发明提供一种传感器的注册方法、装置及移动终端;以解决现有技术中因误注册传感器而导致的死机黑屏等技术问题。

本发明提供一种传感器的注册方法,其包括:

获取硬件抽象层的传感器列表,其中,所述传感器列表包括多个传感器类型的信息;

访问驱动层,并判断所述驱动层中是否存在与所述传感器类型相对应的设备文件,其中,所述设备文件为所述驱动层根据成功初始化的传感器所对应的所述传感器类型生成的文件;

若所述驱动层中存在与所述传感器类型相对应的设备文件,则对所述传感器类型进行注册。

本发明还提供一种传感器的注册装置,其包括:

获取单元,用于获取硬件抽象层的传感器列表,其中,所述传感器列表包括多个传感器类型的信息;

访问判断单元,用于访问驱动层,并判断所述驱动层中是否存在与所述传感器类型相对应的设备文件,其中,所述设备文件为所述驱动层根据成功初始化的传感器所对应的所述传感器类型生成的文件;

注册单元,用于若所述驱动层中存在与所述传感器类型相对应的设备文件,则对所述传感器类型进行注册。

本发明又提供一种移动终端,其包括存储有可执行程序代码的存储器和与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,执行如下步骤:

获取硬件抽象层的传感器列表,其中,所述传感器列表包括多个传感器类型的信息;

访问驱动层,并判断所述驱动层中是否存在与所述传感器类型相对应的设备文件,其中,所述设备文件为所述驱动层根据成功初始化的传感器所对应的所述传感器类型生成的文件;

若所述驱动层中存在与所述传感器类型相对应的设备文件,则对所述传感器类型进行注册。

本发明提供一种传感器的注册方法、装置及移动终端,其通过获取硬件抽象层的传感器列表,并访问驱动层,判断驱动层中是否存在与传感器类型相对应的设备文件,若驱动层中存在与传感器类型相对应的设备文件,则对传感器类型进行注册。该注册方法可以根据终端内传感器硬件实际情况来对传感器类型进行注册,而对无硬件支持或者传感器硬件坏损的传感器类型不进行注册,从而避免在使用传感器的过程中因误注册传感器类型而导致的死机黑屏、闪退等现象发生。

附图说明

图1为本发明优选实施例提供的传感器的注册方法的流程图。

图2为本发明优选实施例提供的传感器的注册方法的又一流程图。

图3为本发明优选实施例提供的传感器的注册装置的结构示意图。

图4为本发明优选实施例提供的传感器的注册装置的又一结构示意图。

图5为本发明的移动终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明优选实施例提供的传感器的注册方法的流程图。该注册方法可以应用于移动电话、个人数字助理(PDA)等电子设备上,在此不做具体限制。

本优选实施例中的传感器的注册方法,其包括:

步骤S101:获取硬件抽象层的传感器列表,其中,所述传感器列表包括多个传感器类型的信息。

终端在开机时,终端的操作系统将对传感器进行注册。在注册的过程中,框架层需要获取硬件抽象层中的传感器列表,其中,传感器列表包括多个传感器类型,这里多个传感器类型指至少一个传感器类型。需要说明的是,当终端开机时,驱动层会根据操作系统的设置添加传感器环境变量。硬件抽象层从驱动层中读取传感器环境变量,并根据传感器环境变量生成相应的传感器类型,并保存至传感器列表中。

步骤S102:访问驱动层,并判断所述驱动层中是否存在与所述传感器类型相对应的设备文件,其中,所述设备文件为所述驱动层根据成功初始化的传感器所对应的所述传感器类型生成的文件;

框架层在获得传感器列表后,通过访问驱动层,判断驱动层中是否存在与传感器类型相对应的设备文件。其中,设备文件生成的步骤包括:驱动层对传感器类型所对应的传感器进行初始化操作;驱动层判断该传感器是否成功初始化;若该传感器成功初始化,则根据传感器类型生成与其相对应的设备文件,其中,该设备文件用于存储该传感器类型相关参数信息。若该传感器未成功初始化,则说明终端内未存在该传感器或者该传感器坏损无法正常使用,此时驱动层将不会根据该传感器类型生成相应的设备文件。

例如,终端内只有加速度传感器硬件设备,而操作系统设置了加速度传感器环境变量和磁场传感器环境变量,也就是说,在操作系统中将存在加速度传感器类型和磁场传感器类型。当终端开机时,驱动层将分别根据加速度传感器类型和磁场传感器类型初始化加速度传感器和磁场传感器。假设终端内的加速度传感器为正常状态,那么驱动层将会收到加速度传感器成功初始化的信号,驱动层将根据加速度传感器类型生成与其相对应的设备文件;而由于终端内没有磁场传感器硬件设备,驱动层将会收到磁场传感器未成功初始化的信号,此时驱动层将不会根据磁场传感器类型生成与其相对应的设备文件,即驱动层中只存在加速度传感器类型对应的设备文件,而不会存在磁场传感器类型对应的设备文件。

框架层在获取到传感器列表后,通过访问驱动层来判断传感器列表中每个传感器类型是否存在对应的设备文件。例如,传感器列表中存在加速度传感器类型和磁场传感器类型。框架层将判断驱动层中是否存在分别与加速度传感器类型和磁场传感器类型对应的设备文件。

步骤S103:若所述驱动层中存在与所述传感器类型相对应的设备文件,则对所述传感器类型进行注册。

当框架层判断出驱动层中存在与传感器类型相对应的设备文件时,将对该传感器类型进行注册。例如,当驱动层中仅有加速度传感器类型相对应的设备文件时,框架层将判断出驱动层中存在加速度传感器类型的设备文件,并对加速度传感器类型进行注册。

当框架层判断出驱动层中不存在与传感器类型相对应的设备文件时,将不对该传感器类型进行注册。例如,当驱动层不存在磁场传感器类型对应的设备文件时,而传感器列表中存在磁场传感器类型时,框架层通过访问驱动层,并判断出驱动层中不存在磁场传感器类型的设备文件,因此不对磁场传感器类型进行注册。

也就是说,框架层在读取传感器列表后,不会直接根据传感器列表对所有传感器类型进行注册,而是需要访问驱动层,当判断出驱动层中存在与传感器类型相对应的设备文件时,才对该传感器类型进行注册,当判断出驱动层中不存在与传感器类型相对应的设备文件时,不对该传感器类型进行注册。整个过程相当于对传感器列表中的传感器类型进行筛选,将终端中存在传感器硬件支持的传感器类型进行注册,而终端中不存在传感器硬件支持或者传感器硬件坏损的传感器类型不进行注册,这样有效地避免误注册传感器类型。

在完成上述过程后,框架层内将存在一个传感器类型注册表。该注册表中的传感器类型均有传感器硬件支持,且传感器可以正常工作。当应用层需要调用某个传感器类型时,框架层需要判断应用层需要调用的传感器类型是否在传感器类型注册表中;若应用层需要调用的传感器类型在传感器类型注册表中,那么就正常执行监听传感器、获取传感器的数据信息等步骤,使得应用层可以使用该传感器。若应用层需要调用的传感器类型不在传感器类型注册表中,那么框架层将反馈给应用层一个提示信息,告知应用层其调用的传感器类型无硬件支持或者硬件坏损等,这样应用层可以提示用户暂时无法使用该传感器。

本优选实施例中的传感器的注册方法,其通过获取硬件抽象层的传感器列表,并访问驱动层,判断驱动层中是否存在与传感器类型相对应的设备文件,若驱动层中存在与传感器类型相对应的设备文件,则对传感器类型进行注册。该注册方法可以根据终端内传感器硬件实际情况来对传感器类型进行注册,而对无硬件支持或者传感器硬件坏损的传感器类型不进行注册,从而避免在使用传感器的过程中因误注册传感器类型而导致的死机黑屏、闪退等现象发生。

请参照图2,图2为本发明优选实施例中传感器的注册方法的又一流程图。该注册方法可以应用于移动电话、个人数字助理(PDA)等电子设备上,在此不做具体限制。

本优选实施例中的传感器的注册方法,其包括:

步骤S201:获取硬件抽象层的传感器列表,其中,所述传感器列表包括多个传感器类型的信息;

终端在开机时,终端的操作系统将对传感器进行注册。在注册的过程中,框架层需要获取硬件抽象层中的传感器列表,其中,传感器列表包括多个传感器类型,这里多个传感器类型指至少一个传感器类型。需要说明的是,当终端开机时,驱动层会根据操作系统的设置添加传感器环境变量。硬件抽象层从驱动层中读取传感器环境变量,并根据该传感器环境变量生成相应的传感器类型,并保存至传感器列表中。

步骤S202:访问驱动层,并判断所述驱动层中是否存在与所述传感器类型相对应的设备文件,其中,所述设备文件为所述驱动层根据成功初始化的传感器所对应的所述传感器类型生成的文件;若所述驱动层中存在与所述传感器类型相对应的设备文件,则执行步骤S203;若不存在与所述传感器类型相对应的设备文件,则执行步骤S204;

框架层在获得传感器列表后,通过访问驱动层,判断驱动层中是否存在与传感器类型相对应的设备文件。其中,设备文件生成的步骤包括:驱动层对传感器类型所对应的传感器进行初始化操作;驱动层判断该传感器是否成功初始化;若该传感器成功初始化,则根据传感器类型生成与其相对应的设备文件,其中,该设备文件用于存储该传感器类型的参数信息。若该传感器未成功初始化,则说明终端内未存在该传感器或者该传感器坏损无法正常使用,此时驱动层将不会根据该传感器类型生成相应的设备文件。

例如,终端内只有加速度传感器硬件,而操作系统设置了加速度传感器环境变量和磁场传感器环境变量,也就是说,在操作系统中将存在加速度传感器类型和磁场传感器类型。当终端开机时,驱动层将分别根据加速度传感器类型和磁场传感器类型初始化加速度传感器和磁场传感器。假设终端内的加速度传感器为正常状态,那么驱动层将会收到加速度传感器成功初始化的信号,驱动层将根据加速度传感器类型生成与其相对应的设备文件;而由于终端内没有磁场传感器硬件,驱动层将会收到磁场传感器未成功初始化的信号,驱动层将不会根据磁场传感器类型生成与其相对应的设备文件。也就是说,驱动层中只存在加速度传感器类型对应的设备文件,而不会存在磁场传感器类型对应的设备文件。

框架层在获取到传感器列表后,通过访问驱动层来判断传感器列表中每个传感器类型是否存在对应的设备文件。例如,传感器列表中存在加速度传感器类型和磁场传感器类型。框架层将判断驱动层中是否存在分别与加速度传感器类型和磁场传感器类型对应的设备文件。

步骤S203:对所述传感器类型进行注册;

当框架层判断出驱动层中存在与传感器类型相对应的设备文件时,框架层将对该传感器类型进行注册。例如,当驱动层中仅有加速度传感器类型相对应的设备文件时,框架层将判断出驱动层中存在加速度传感器类型的设备文件,并对加速度传感器类型进行注册。

步骤S204:不对所述传感器类型进行注册;

当框架层判断出驱动层中不存在与传感器类型相对应的设备文件时,框架层将不对该传感器类型进行注册。例如,当驱动层不存在磁场传感器类型对应的设备文件时,而传感器列表中存在磁场传感器类型时,框架层通过访问驱动层,并判断出驱动层中不存在磁场传感器类型的设备文件,因此不对磁场传感器类型进行注册。

也就是说,框架层在读取传感器列表后,不会直接根据传感器列表对所有传感器类型进行注册,而是需要访问驱动层。当判断出驱动层中存在与传感器类型相对应的设备文件时,才对该传感器类型进行注册,当判断出驱动层中不存在与传感器类型相对应的设备文件时,不对该传感器类型进行注册。整个过程相当于对传感器列表中的传感器类型进行筛选,将终端中存在传感器硬件支持的传感器类型进行注册,而终端中不存在传感器硬件支持或者传感器硬件坏损的传感器类型不进行注册,这样有效地避免误注册传感器类型。

步骤S205:获取虚拟传感器类型;

终端内的传感器分为传感器硬件和虚拟传感器。其中,传感器硬件是确实存在的器件,而虚拟传感器是基于传感器硬件通过软件模拟传感器行为的虚拟器件。例如,方向传感器其为虚拟传感器的一种,主要基于加速度传感器硬件和磁场传感器硬件来获取数据。虚拟传感器类型一般存放在框架层中。当框架层完成对传感器列表中的多个传感器类型的注册后,将获取虚拟传感器类型,即执行步骤S205。

步骤S206:判断与所述虚拟传感器类型相对应的多个所述传感器类型是否成功注册;若所述与所述虚拟传感器类型相对应的多个所述传感器类型均成功注册,则执行步骤S207;若所述与所述虚拟传感器类型相对应的多个所述传感器类型中至少一个所述传感器类型未成功注册,则执行步骤S208;

框架层判断与虚拟传感器类型相对应的多个传感器类型是否成功注册。其中,多个传感器类型包括至少一个传感器类型。例如,当虚拟传感器为方向传感器时,与方向传感器相对应的多个传感器类型分别为加速度传感器类型和磁场传感器类型。

步骤S207:对所述虚拟传感器类型进行注册;

当框架层判断出与虚拟传感器类型相对应的多个传感器类型均成功注册,说明终端内存在为虚拟传感器类型提供数据的多个传感器硬件,此时框架层将对该虚拟传感器类型进行注册。例如,当加速度传感器类型和磁场传感器类型均被成功注册时,说明终端内存在加速度传感器硬件和磁场传感器硬件,并且两个传感器硬件可以正常工作,此时基于加速度传感器和磁场传感器的方向传感器才会被注册。

步骤S208:不对所述虚拟传感器类型进行注册。

当框架层判断出与虚拟传感器类型相对应的多个传感器类型中至少一个传感器类型未成功注册,则说明该虚拟传感器类型无法得到相应传感器硬件的支持,此时框架层将不对该虚拟传感器类型进行注册。例如,若加速度传感器已经坏损,框架层不会对加速度传感器类型进行注册,进一步地,也不会对方向传感器类型进行注册。

本优选实施例中的传感器的注册方法,其通过获取硬件抽象层的传感器列表,并访问驱动层,判断驱动层中是否存在与传感器类型相对应的设备文件,若驱动层中存在与传感器类型相对应的设备文件,则对传感器类型进行注册。当需要注册虚拟传感器时,只有判断出与虚拟传感器相对应的多个传感器类型均成功注册的情况下才对虚拟传感器类型进行注册。该注册方法可以根据终端内传感器硬件实际情况来对传感器类型和相应的虚拟传感器类型进行注册,而对无硬件支持或者传感器硬件坏损的传感器类型和相应的虚拟传感器类型不进行注册,从而避免在使用过程中因误注册传感器类型和虚拟传感器类型而导致的死机黑屏、闪退等现象发生。

请参照图3,图3为本发明优选实施例提供的传感器的注册装置的结构示意图。该注册装置300可以应用于移动电话、个人数字助理(PDA)等电子设备上,在此不做具体限制。

本优选实施例中的传感器的注册装置300包括:获取单元301、访问判断单元302和注册单元303。其中获取单元301用于获取硬件抽象层的传感器列表,其中,传感器列表包括多个传感器类型的信息;访问判断单元302用于访问驱动层,并判断驱动层中是否存在与传感器类型相对应的设备文件,其中,设备文件为驱动层根据成功初始化的传感器所对应的传感器类型生成的文件;注册单元303用于若驱动层中存在与传感器类型相对应的设备文件,则对传感器类型进行注册。

下面将结合图3对本优选实施例中的传感器的注册装置300进行详细地叙述。

终端在开机时,传感器的注册装置300将对传感器进行注册。在注册的过程中,获取单元301需要获取硬件抽象层中的传感器列表,其中,传感器列表包括多个传感器类型,这里多个传感器类型指至少一个传感器类型。需要说明的是,当终端开机时,驱动层会根据终端操作系统的设置添加传感器环境变量。硬件抽象层从驱动层中读取传感器环境变量,并根据传感器环境变量生成相应的传感器类型,并保存至传感器列表中。

获取单元301在获得传感器列表后,将获取的传感器列表传至访问判断单元302。访问判断单元302将通过访问驱动层,判断驱动层中是否存在与传感器类型相对应的设备文件。

需要说明的是,当终端开机后,驱动层对传感器类型所对应的传感器进行初始化操作;驱动层判断该传感器是否成功初始化;若该传感器成功初始化,则根据传感器类型生成与其相对应的设备文件,其中,该设备文件用于存储该传感器类型相关参数信息。若该传感器未成功初始化,则说明终端内未存在该传感器或者该传感器坏损无法正常使用,此时驱动层将不会根据该传感器类型生成相应的设备文件。

例如,终端内只有加速度传感器硬件设备,而操作系统设置了加速度传感器环境变量和磁场传感器环境变量,也就是说,在操作系统中将存在加速度传感器类型和磁场传感器类型。当终端开机时,驱动层将分别根据加速度传感器类型和磁场传感器类型初始化加速度传感器和磁场传感器。假设终端内的加速度传感器为正常状态,那么驱动层将会收到加速度传感器成功初始化的信号,驱动层将根据加速度传感器类型生成与其相对应的设备文件;而由于终端内没有磁场传感器硬件设备,驱动层将会收到磁场传感器未成功初始化的信号,驱动层将不会根据磁场传感器类型生成与其相对应的设备文件,即驱动层中只存在加速度传感器类型对应的设备文件,而不会存在磁场传感器类型对应的设备文件。

当访问判断单元302判断出驱动层中存在与传感器类型相对应的设备文件时,将向注册单元303发送第一信号,使得注册单元303根据该第一信号对该传感器类型进行注册。例如,当驱动层中仅有加速度传感器类型相对应的设备文件时,访问单元302将判断出驱动层中存在加速度传感器类型的设备文件,并由注册单元303对加速度传感器类型进行注册。

当访问判断单元302判断出驱动层中不存在与传感器类型相对应的设备文件时,访问判断单元302将向取消注册单元(图3中未示出)发送第二信号,使得取消注册单元终止对该传感器类型的注册。

也就是说,传感器的注册装置300在读取传感器列表后,不会直接根据传感器列表对所有传感器类型进行注册,而是需要访问判断单元302访问驱动层。当判断出驱动层中存在与传感器类型相对应的设备文件时,注册单元303才对该传感器类型进行注册;当访问判断单元302判断出驱动层中不存在与传感器类型相对应的设备文件时,取消注册单元将取消对该传感器类型的注册。整个过程相当于对传感器列表中的传感器类型进行筛选,将终端中存在传感器硬件支持的传感器类型进行注册,而终端中不存在传感器硬件支持或者传感器硬件坏损的传感器类型不进行注册,这样有效地避免误注册传感器类型。

本优选实施例中的传感器的注册装置300,其通过获取单元301获取硬件抽象层的传感器列表,并由访问判断单元302访问驱动层并判断驱动层中是否存在与传感器类型相对应的设备文件,若驱动层中存在与传感器类型相对应的设备文件,则注册单元303对传感器类型进行注册。该注册装置300可以根据终端内传感器硬件实际情况来对传感器类型进行注册,而对无硬件支持或者传感器硬件坏损的传感器类型不进行注册,从而避免在使用传感器的过程中因误注册传感器类型而导致的死机黑屏、闪退等现象发生。

请参照图4,图4为本发明优选实施例提供的传感器的注册装置的又一结构示意图。该注册装置400可以应用于移动电话、个人数字助理(PDA)等电子设备上,在此不做具体限制。

本优选实施例中的传感器的注册装置400包括:获取单元401、访问判断单元402、注册单元403、取消注册单元404、获取判断单元405,其中获取判断单元405还包括获取子单元4051、判断子单元4052、注册子单元4053、取消注册子单元4054。

终端在开机时,传感器的注册装置400将对传感器进行注册。在注册的过程中,获取单元401需要获取硬件抽象层中的传感器列表,其中,传感器列表包括多个传感器类型的信息,这里多个传感器类型指至少一个传感器类型。需要说明的是,当终端开机时,驱动层会根据终端操作系统的设置添加传感器环境变量。硬件抽象层从驱动层中读取传感器环境变量,并根据传感器环境变量生成相应的传感器类型,并保存至传感器列表中。

获取单元401在获得传感器列表后,将获取的传感器列表传至访问判断单元402。访问判断单元402将通过访问驱动层,判断驱动层中是否存在与传感器类型相对应的设备文件。

需要说明的是,当终端开机后,驱动层对传感器类型所对应的传感器进行初始化操作;驱动层判断该传感器是否成功初始化;若该传感器成功初始化,则根据传感器类型生成与其相对应的设备文件,其中,该设备文件用于存储该传感器类型相关参数信息。若该传感器未成功初始化,则说明终端内未存在该传感器或者该传感器坏损无法正常使用,此时驱动层将不会根据该传感器类型生成相应的设备文件。

例如,终端内只有加速度传感器硬件设备,而操作系统设置了加速度传感器环境变量和磁场传感器环境变量,也就是说,在操作系统中将存在加速度传感器类型和磁场传感器类型。当终端开机时,驱动层将分别根据加速度传感器类型和磁场传感器类型初始化加速度传感器和磁场传感器。假设终端内的加速度传感器为正常状态,那么驱动层将会收到加速度传感器成功初始化的信号,驱动层将根据加速度传感器类型生成与其相对应的设备文件;而由于终端内没有磁场传感器硬件设备,驱动层将会收到磁场传感器未成功初始化的信号,驱动层将不会根据磁场传感器类型生成与其相对应的设备文件,即驱动层中只存在加速度传感器类型对应的设备文件,而不会存在磁场传感器类型对应的设备文件。

当访问判断单元402判断出驱动层中存在与传感器类型相对应的设备文件时,将向注册单元403发送第三信号,使得注册单元403根据该第三信号对该传感器类型进行注册。例如,当驱动层中仅有加速度传感器类型相对应的设备文件时,访问单元402将判断出驱动层中存在加速度传感器类型的设备文件,并由注册单元403对加速度传感器类型进行注册。

当访问判断单元402判断出驱动层中不存在与传感器类型相对应的设备文件时,访问判断单元402将向取消注册单元404发送第四信号,使得取消注册单元404终止对该传感器类型的注册。

也就是说,传感器的注册装置400在读取传感器列表后,不会直接根据传感器列表对所有传感器类型进行注册,而是需要访问判断单元402访问驱动层。当判断出驱动层中存在与传感器类型相对应的设备文件时,注册单元403才对该传感器类型进行注册,当访问判断单元402判断出驱动层中不存在与传感器类型相对应的设备文件时,取消注册单元404将取消对该传感器类型的注册。整个过程相当于对传感器列表中的传感器类型进行筛选,将终端中存在传感器硬件支持的传感器类型进行注册,而终端中不存在传感器硬件支持或者传感器硬件坏损的传感器类型不进行注册,这样有效地避免误注册传感器类型。

终端内的传感器分为传感器硬件和虚拟传感器。其中,传感器硬件是确实存在的器件,而虚拟传感器是基于传感器硬件通过软件模拟传感器行为的虚拟器件。例如,方向传感器其为虚拟传感器的一种,主要基于加速度传感器硬件和磁场传感器硬件来获取数据。虚拟传感器类型一般存放在传感器的注册装置400中。当传感器的注册装置400完成对传感器列表中的多个传感器类型的注册后,将对虚拟传感器类型进行注册。

具体地,获取判断单元405中的获取子单元4051获取虚拟传感器类型,获取子单元4051将获取的虚拟传感器类型传递至判断子单元4052,由判断子单元4052判断与虚拟传感器类型相对应的多个传感器类型是否成功注册。其中,多个传感器类型包括至少一个传感器类型。例如,当虚拟传感器为方向传感器时,与方向传感器相对应的多个传感器类型分别为加速度传感器类型和磁场传感器类型。

当判断子单元4052判断出与虚拟传感器类型相对应的多个传感器类型均成功注册,说明终端内存在为虚拟传感器类型提供数据的多个传感器硬件,此时判断子单元4052将向注册子单元4053发送第五信号,使得注册子单元4053根据第五信号对该虚拟传感器类型进行注册。例如,当加速度传感器类型和磁场传感器类型均被成功注册时,说明终端内存在加速度传感器硬件和磁场传感器硬件,并且两个传感器硬件可以正常工作,此时基于加速度传感器和磁场传感器的方向传感器类型才会被注册。

当判断子单元4052判断出与虚拟传感器类型相对应的多个传感器类型中至少一个传感器类型未成功注册,则说明该虚拟传感器类型无法得到相应传感器硬件的支持,此时判断子单元4052向取消注册子单元4054发送第六信号,使得取消注册子单元4054根据第六信号不对该虚拟传感器类型进行注册。例如,若加速度传感器已经坏损,消注册单元404将取消对加速度传感器类型的注册,进一步地,取消注册子单元4054也不会对方向传感器类型进行注册。

本优选实施例中的传感器的注册装置400,其通过获取单元401获取硬件抽象层的传感器列表;访问判断单元402访问驱动层并判断驱动层中是否存在与传感器类型相对应的设备文件,若驱动层中存在与传感器类型相对应的设备文件,则由注册单元403对传感器类型进行注册。当需要注册虚拟传感器类型时,只有判断子单元4052判断出与虚拟传感器相对应的多个传感器类型均成功注册的情况下,注册子单元4053才对虚拟传感器类型进行注册。该注册装置400可以根据终端内传感器硬件实际情况来对传感器类型和相应的虚拟传感器类型进行注册,而对无硬件支持或者传感器硬件坏损的传感器类型和相应的虚拟传感器类型不进行注册,从而避免在使用过程中因误注册传感器类型和虚拟传感器类型而导致的死机黑屏、闪退等现象发生。

本发明还提供一种移动终端,如平板电脑、手机等移动终端,请参阅图5,图5为本发明优选实施例提供的移动终端结构示意图。该移动终端500可以包括射频(RF,Radio Frequency)电路501、包括有一个或一个以上计算机可读存储介质的存储器502、输入单元503、显示单元504、传感器505、音频电路506、无线保真(WiFi,Wireless Fidelity)模块507、包括有一个或者一个以上处理核心的处理器508、以及电源509等部件。本领域技术人员可以理解,图5中示出的移动终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

射频电路501可用于收发信息,或通话过程中信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器508处理;另外,将涉及上行的数据发送给基站。通常,射频电路501包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,射频电路501还可以通过无线通信与网络和其他设备通信。该无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。

存储器502可用于存储应用程序和数据。存储器502存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器508通过运行存储在存储器502的应用程序,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据移动终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器508和输入单元503对存储器502的访问。

输入单元503可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元503可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器508,并能接收处理器508发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元503还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、指纹识别模组、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元504可用于显示由用户输入的信息或提供给用户的信息以及移动终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元504可包括显示面板。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器508以确定触摸事件的类型,随后处理器508根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图5中,触敏表面与显示面板是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。

移动终端还可包括至少一种传感器505,传感器505可以为加速度传感器、磁场传感器、光传感器、运动传感器以及其他传感器。具体地,加速度传感器用来获取移动终端的加速度数据,磁场传感器用来检测移动终端周围磁场的变化数据;在一优选实施例中,加速度传感器和磁场传感器也可以用于为方向传感器提供数据,其中方向传感器为虚拟传感器。

光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在移动终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于移动终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路506可通过扬声器、传声器提供用户与移动终端之间的音频接口。音频电路506可将接收到的音频数据转换成电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路506接收后转换为音频数据,再将音频数据输出处理器508处理后,经射频电路501以发送给比如另一移动终端,或者将音频数据输出至存储器502以便进一步处理。音频电路506还可能包括耳塞插孔,以提供外设耳机与移动终端的通信。

无线保真(WiFi)属于短距离无线传输技术,移动终端通过无线保真模块507可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了无线保真模块507,但是可以理解的是,其并不属于移动终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器508是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器502内的应用程序,以及调用存储在存储器502内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。可选的,处理器508可包括一个或多个处理核心;优选的,处理器508可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器508中。

移动终端还包括给各个部件供电的电源509(比如电池)。优选的,电源可以通过电源管理系统与处理器508逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源509还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管图5中未示出,移动终端还可以包括摄像头、蓝牙模块等,在此不再赘述。

具体在本实施例中,移动终端中的处理器508会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器502中,并由处理器508来运行存储在存储器502中的应用程序,处理器508具体执行如下步骤:获取硬件抽象层的传感器列表,其中,所述传感器列表包括多个传感器类型的信息;访问驱动层,并判断所述驱动层中是否存在与所述传感器类型相对应的设备文件,其中,所述设备文件为所述驱动层根据成功初始化的传感器所对应的所述传感器类型生成的文件;若所述驱动层中存在与所述传感器类型相对应的设备文件,则对所述传感器类型进行注册。

处理器508在执行完对所述传感器类型进行注册后,还用于执行如下步骤:

获取虚拟传感器类型;判断与所述虚拟传感器类型相对应的多个所述传感器类型是否成功注册;若所述与所述虚拟传感器类型相对应的多个所述传感器类型均成功注册,则对所述虚拟传感器类型进行注册;若所述与所述虚拟传感器类型相对应的多个所述传感器类型中至少一个所述传感器类型未成功注册,则不对所述虚拟传感器类型进行注册。

处理器508在执行完判断所述驱动层中是否存在与所述传感器类型相对应的设备文件之后,还用于执行:若不存在与所述传感器类型相对应的设备文件,则不对所述传感器类型进行注册。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对传感器的注册方法的详细描述,此处不再赘述。

本发明实施例提供的传感器的注册装置,所述传感器的注册装置与上文实施例中传感器的注册方法属于同一构思,在所述传感器的注册装置上可以运行所述传感器的注册方法实施例中提供的任一方法,其具体实现过程详见所述传感器的注册方法实施例,此处不再赘述。

需要说明的是,对本发明所述传感器的注册方法而言,本领域普通测试人员可以理解实现本发明实施例所述传感器的注册方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在终端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如所述传感器的注册方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。

本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。

综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1