一种应用重力感应功能的方法及其移动终端的制作方法

文档序号:5844561阅读:174来源:国知局
专利名称:一种应用重力感应功能的方法及其移动终端的制作方法
技术领域
本发明涉及应用重力感应功能的方法及其移动终端,尤其涉及应用重力感应功能 实现应用功能状态自动切换的方法及其移动终端。
背景技术
随着移动终端硬件技术的飞速发展,越来越多新颖,充满创意的新功能被引入手 机终端领域,增强了手机的实用性和娱乐性,为用户带来更丰富的操作体验和乐趣。重力感应功能就是这样的一种新技术功能。要实现重力感应功能,首先需要在手 机终端中植入重力传感器,又称作加速度传感器。重力传感器是将物体的重力或者加速运 动信号转换为电信号的传感器,主要用于对倾斜角、惯性力、冲击及振动等参数的测量。多 数加速度传感器是根据压电效应的原理来工作的。压电效应是指,对于不存在对称中心的 异极晶体加在晶体上的外力,除了使晶体发生形变以外,还将因该形变改变晶体的极化状 态,在晶体内部建立电场,这种由于机械力作用使介质发生极化的现象称为正压电效应。一 般加速度传感器就是利用了其内部的由于加速度造成的晶体变形这个特性。由于这个变形 会产生电压,只要计算出电压和力所产生的加速度之间的关系,就可以将加速度信号转化 成电压信号输出。植入重力传感器的手机终端通过分析重力传感器输出的电压信号数据, 就能感知手机终端的运动状态。通过在手机终端中植入重力传感器,为其带来了一系列新奇的功能,譬如有如下 一些应用场景手机翻转静音功能。手机用户在开会的时候经常会因为来电闹铃而手忙脚乱,不 想接听电话,但又由于不好意思挂断电话而会被铃声吵到很烦,甚至会影响到他人。在此情 况下,翻转静音功能便会让手机用户仅通过简单的翻转手机动作将闹铃声音变为静音。手机甩动切换图片或音乐。当手机用户通过播放器听音乐或通过图片浏览器浏览 图片时,可能想不通过触摸屏或键盘就能轻松实现图片和歌曲的切换。通过重力感应器的 甩动功能,只要简单地将手机朝固定方向甩动即可实现这种切换。手机横竖屏自动切换。当用户使用手机浏览图片或PPT文档时,可能需要根据图 片或文档的长宽方向自动调整屏幕方向,让图片或文档能全屏最优化显示。手机的横竖屏 自动切换功能可以帮助用户实现上述功能。只要将手机顺时针或逆时针旋转一定角度,屏 幕方向则会相应进行切换而方便浏览。通常,手机的横竖屏自动切换功能是在各个需要该自动切换功能的应用程序中加 入相应的重力感应功能模块,接受并处理重力传感器驱动发出的消息或事件。这种方法既 造成了模块代码的冗余,同时也增加了系统负担。由于Windows Mobile操作系统是一个多 任务操作系统,当运行的程序较多时,相应的并发场景也很多,能旋转屏幕的应用程序可能 会互相作用,使系统屏幕方向紊乱,易于产生花屏或手机假死等现象。所以许多手机支持横 竖屏自动切换的应用程序数量很少,通常限制为一或两种。

发明内容
本发明所要解决的技术问题是提供一种应用重力感应功能的方法及其移动终端, 能够使得移动终端中应用重力感应功能的应用模块数量不受限制。为了解决上述技术问题,本发明提供了一种应用重力感应功能的方法,包括移动终端加载一服务软件,通过该服务软件监测移动终端的重力感应事件和/或 应用重力感应的相关事件,并根据监测到的事件控制支持重力感应功能且当前运行的应用 模块实现相应的状态切换。进一步地,该方法具体包括所述服务软件获取所述应用模块的当前状态,当监测到有所述重力感应事件和/ 或应用重力感应的相关事件发生时,若判断所述应用模块设置了所述重力感应功能,则将 所述应用模块从所述当前状态切换到相应的另一状态。进一步地,所述重力感应事件通过重力传感器的输出信号监测;所述应用重力感 应的相关事件是指与横竖屏切换功能相关的应用模块的窗口切换事件;所述服务软件获取到所述应用模块的当前状态为所述应用模块当前窗口的屏幕 方向,当监测到有所述重力感应事件发生,或监测到有所述窗口切换事件发生,若判断所述 应用模块设置了所述横竖屏自动切换功能,则将所述应用模块从所述当前窗口的屏幕方向 旋转到用户手持方向。进一步地,当所述服务软件监测到有所述重力感应事件发生时,若判断所述应用模块未设置 所述横竖屏自动切换功能,则保持所述应用模块的所述当前窗口的屏幕方向;或者,当所述 服务软件监测到有所述应用模块窗口切换事件发生时,若判断所述应用模块未设置所述横 竖屏自动切换功能,则将所述应用模块从所述当前窗口的屏幕方向旋转到用户手动设置的 方向。进一步地,该方法还包括所述移动终端提供所述应用模块设置重力感应功能的开关的界面,且将设置的所 述重力感应功能的开关值保存在注册表中;所述服务软件在进行所述状态的切换前读取所 述注册表中的开关值,以获知所述当前运行的应用模块是否设置了所述重力感应功能。为了解决上述技术问题,本发明提供了一种应用重力感应功能的移动终端,包括 相互连接的状态获取/切换模块以及重力感应事件监测模块,其中状态获取/切换模块,用于根据重力感应事件监测模块输出的事件发生指示,控 制支持重力感应功能且当前运行的应用模块实现相应的状态切换;重力感应事件监测模块,用于在监测到移动终端的重力感应事件和/或应用重力 感应的相关事件后,向状态获取/切换模块输出事件发生指示。进一步地,该移动终端还包括重力感应功能设置模块;其中重力感应功能设置模块,用于提供应用模块设置重力感应功能及其应用的开关的 界面;状态获取/切换模块获取应用模块的当前状态,在输入事件发生指示后,若判断 应用模块设置了重力感应功能,则将应用模块从当前状态切换到相应的另一状态。进一步地,
状态获取/切换模块获取的应用模块的当前状态为应用模块当前窗口的屏幕方 向,根据重力感应事件监测模块输出的第一屏幕方向旋转指示,将应用模块从当前窗口的 屏幕方向旋转到用户手持方向;重力感应事件监测模块当通过重力传感器的输出信号监测到重力感应事件发生 时,或监测到有应用模块的窗口切换事件发生,若判断应用模块设置了横竖屏自动切换功 能,则向状态获取/切换模块输出第一屏幕方向旋转指示。进一步地,状态获取/切换模块根据重力感应事件监测模块输出的第二屏幕方向旋转指示, 将应用模块从所述当前窗口的屏幕方向旋转到用户手动设置的方向;重力感应事件监测模块监测到有窗口切换事件发生时,若判断应用模块未设置所 述横竖屏自动切换功能,则向状态获取/切换模块输出第二屏幕方向旋转指示。进一步地,重力感应功能设置模块,将设置的重力感应功能的开关值保存在注册表中;状态获取/切换模块在进行状态的切换前读取该注册表中的开关值,以获知当前 运行的应用模块是否设置了重力感应功能。本发明的应用重力感应功能的方法及其移动终端,同以往在各需要重力感应功能 的应用模块中均添加有相应的功能模块的技术方案相比,由于通过一个服务程序综合管理 和控制所有需要重力感应功能的应用模块使用该重力感应功能,故使得应用重力感应功能 的应用模块数量不受限制,同时也避免了模块代码的冗余,且不会增加系统负担。特别是对于需要使用横竖屏切换功能的应用模块,不会像以往那样互相作用,故 可避免系统屏幕方向紊乱而产生花屏或手机假死等故障,并且能够尽可能地支持各个需要 该横竖屏切换功能的应用模块,使得移动终端在用户手中能够随心所欲地使用,由此大大 增加了用户体验。


图1为本发明的应用重力感应功能的方法实施例流程图;图2为本发明的移动终端重力感应功能设置界面截图;图3为本发明的手机终端应用重力感应的横竖屏自动切换功能的方法实施例的 流程图;图4为本发明的应用重力感应功能的移动终端实施例的结构框图。
具体实施例方式本发明的移动终端及其应用重力感应功能实现自动切换的方法,基本构思是,利 用一个服务软件作为应用重力感应功能的管理和控制中心,在开机时被加载在移动终端中 监控并感知终端的重力感应事件,以此来控制终端中当前运行的且设置了应用重力感应功 能的应用模块实现相应状态的切换。以下结合附图和优选实施例对本发明的技术方案进行详细地阐述。以下例举的实 施例仅仅用于说明和解释本发明,而不构成对本发明技术方案的限制。如图1所示,是本发明的应用重力感应功能的方法实施例流程图。本发明的应用重力感应功能实现应用功能状态自动切换的方法,可以应用在Windows Mobile操作系统下 的手机终端、掌上电脑、个人数字助理(PDA,Pers0nal Digital Assistant)、数码相机以及 MP4的任意一种需要使用屏幕的便携式移动终端上。以下将以应用在Windows Mobile操作 系统下的手机终端作为实施例,对本发明的上述方法进行详细地描述,该实施例的步骤是 在手机终端开机后执行的,包括110:加载服务程序;目前,几乎所有的Pocket PC开发人员都是创建一个可执行文件并将该文件的快 捷方式放到\Windows\MartUp中,这样在系统重启后便会启动该程序在后台运行。鉴于在 Windows CE中的进程数量限制为32,微软提出了有限的进程运行应用程序的这一问题的 一种解决方案支持作为不同的线程运行在一个进程中的DLL服务程序来解决运行进程数 量限制问题。在windows Mobile (WM) 6.0中,服务程序实现为Dll文件。服务程序的Dll 文件编译进入设备的Windows目录后,在注册表添加相应信息;启动设备后,WM便会通过 services, exe进程根据注册表的设置加载相应的Dll文件,从而启动服务程序。在此,服务 程序都是作为services, exe的线程存在的。本发明的服务装置也是通过运行服务程序实现的,该服务程序在开机后被加载。120 获取前台运行的应用模块的当前状态;譬如前台正在运行的MP3音乐播放模块的当前状态是一首歌曲的名称。又譬如, 前台正在运行的通讯来电模块的当前状态是铃音和/或振动,等等。130 监测是否有重力感应事件和/或应用重力感应的相关事件发生,是则执行下 列步骤,否则返回步骤130继续进行监测;在此,重力感应事件是通过手机终端感知重力传感器的输出信号监测。应用重力 感应的相关事件譬如与横竖屏切换相关的当前窗口切换事件,等等。140:对判断前台运动的应用模块是否支持重力感应功能,是则执行相应的下列步 骤,否则返回步骤130继续进行监测;为了更好地控制重力感应功能,增强用户体验,本发明为各个支持重力感应的应 用模块分别设置了开关,其设置界面如图2所示。各应用模块对重力感应功能的开关信息 保存在注册表中,本发明的服务程序在每次切换前都去读注册表中这些开关值,只有打开 开关的应用模块才被视为支持重力感应功能。并且,在设置重力感应功能的同时,可以对该 功能进行必要的校准。150 将前台运行的应用模块的状态切换到另一状态,然后返回步骤120执行。譬如将前台运行且支持重力感应功能的MP3音乐播放模块的状态切换到一首歌 曲的名称。又譬如,将前台正在运行且支持重力感应功能的通讯来电模块的状态切换到静
立 AjVAjV 曰,寸寸ο通过以上方法步骤可以看出,本发明的服务装置在被加载后,通过无限循环一直 监控终端前台运行的应用模块,并达到根据监测到的重力感应事件对设置了重力感应功能 的应用模块的状态进行自动切换的目的。本发明的上述方法与以往的在各个需要应用重力感应功能的应用模块中添加相 应的代码的方案相比,显然能够大大降低模块代码的冗余,同时也显著地降低了系统负担, 且既不会使得各应用模块的重力感应功能的应用相互影响,也不会使得应用重力感应功能的模块数目受限制。以下再通过手机终端重力感应横竖屏自动切换的一个应用实例,对本发明的技术 方案进行更详细地展现。该应用实例的流程如图3所示,是在手机终端开机后执行的,包括 如下步骤210 加载服务程序;在此加载的服务程序,相当于整个系统屏幕方向的控制中心。220 获取前台运行的应用模块窗口的屏幕方向;为了更好地控制重力感应横竖屏自动切换功能,增强用户体验,本发明为各个支 持重力感应横竖屏自动切换的应用会分别设置开关。开关信息将会保存在注册表中,本发 明的服务程序在每次切换前都会去读注册表中这些开关值,只有对打开开关的应用模块才 去切换其屏幕方向。如果所有的开关都处于关闭状态,则将关闭重力传感器电源,由此可节 约系统的耗电量。横竖屏切换实际上包含两部分内容无切换动作的横竖屏切换和有切换动作的横 竖屏切换,通过开启两个子线程来分别处理它们。其中,无切换动作的横竖屏切换主要是指当从支持横竖屏切换的应用模块的窗 口退回到不支持横竖屏切换的应用模块的窗口时,屏幕方向会发生变化。对此,通过监控注 册表中当前活动程序项的变化来获知前台窗口发生了变化。当前台窗口发生变化时,如果 当前窗口属于支持横竖屏切换的应用模块,则将屏幕旋转到用户手持方向,否则将屏幕旋 转到系统手动设置的方向。处理该无切换动作的横竖屏切换的一个子线程包括如下步骤2301 监测当前的前台窗口是否切换,是则执行下列步骤,否则返回步骤2301步 骤执行;2401 判断该前台窗口是否属于支持横竖屏自动切换的应用模块,是则执行下列 步骤,否则执行步骤2502;2501 将当前窗口旋转为用户手持方向,返回步骤220执行;2502 将当前窗口旋转为系统设置方向,返回步骤220执行。本发明的一个特点就是保留了微软Windows Mobile操作系统自带的可由用户手 动设置屏幕方向(即系统设置方向)功能。一般的重力感应横竖屏自动切换方案为了不产 生冲突,都取消掉了微软自带的手动设置(即系统设置)功能。而本发明的服务程序考虑 到这一场景,让它们在不发生冲突的情况下共存。对于有切换动作的横竖屏切换,通过监测重力感应事件(即通过重力传感器输出 的信号)来实现的。当切换动作产生,重力传感器会输出相应的信号,手机终端收到该重力 感应事件后,判断当前窗口是否属于支持横竖屏切换的应用模块,是则将屏幕旋转到用户 手持方向,否则不需要做任何处理。这样就实现了各种场景下的屏幕方向的自动切换。处 理该有切换动作的横竖屏切换的另一个子线程包括如下步骤2302 监测是否有重力感应事件发生,是则执行下列步骤,否则返回步骤2302继 续监测;2402:判断该前台窗口是否属于支持横竖屏自动切换的应用模块,是则执行下列 步骤,否则返回步骤2302执行;2503 将当前窗口旋转为用户手持方向,返回步骤220执行。
图3所示的本发明的服务程序在被加载后,通过无线循环和多线程技术一直监控 和整个系统的屏幕方向,达到横竖屏自动切换的目的。该服务程序由于只需要判断前台运 行窗口,并由该服务程序统一管理屏幕方向,故很好地解决了各应用模块并发横竖屏自动 切换时屏幕方向紊乱的问题。因此本发明可以随心所欲地增加支持横竖屏切换应用模块 的数量而不用担心屏幕方向紊乱的故障。同时该发明最大的特点是保留了微软Windows Mobile操作系统自带的手动设置屏幕方向功能,使用户能更加灵活地根据个人喜好进行选 择,因此具有很高的实用性。本实例还引入了旋转提示功能。当用户未开启重力感应功能而旋转手机时,底层 重力传感器驱动会感知到该动作并将事件抛给上层。如果是在支持旋转的应用模块中收到 该事件,监控线程就会弹出提示询问用户是否需要开启重力感应横竖屏切换功能。该功能 可以随时提醒用户开启横竖屏自动旋转功能,让用户以最佳方式浏览信息。本发明根据上述方法实施例,还相应地提出应用重力感应功能的移动终端实施 例,其结构如图4所示,该移动终端300包括依次连接的重力感应功能设置模块310、状态获 取/切换模块320以及重力感应事件监测模块330,其中重力感应功能设置模块310,用于提供设置应用重力感应功能的各应用模块的界 面,并将设置结果写入终端系统注册表中保存;重力感应功能设置模块310提供的设置界面如图2所示。状态获取/切换模块320,用于获取终端前台运行的应用模块的当前状态,根据重 力感应事件监测模块330输出的事件发生指示和从注册表中的读取设置结果,若判断前台 运行的应用模块设置了重力感应功能及其应用,则将该应用模块从当前状态切换到另一状 态;若判断前台运行的应用模块未设置重力感应功能及其应用,则保持该应用模块的当前 状态;重力感应事件监测模块330,用于在监测到重力感应事件和/或应用重力感应的 相关事件后,向状态获取/切换模块320输出事件发生指示。重力感应事件监测模块330通过重力传感器的输出信号监测重力感应事件。应用 重力感应的相关事件譬如指与横竖屏切换相关的当前窗口切换事件。状态获取/切换模块320譬如获取终端前台运行的应用模块的当前窗口屏幕方 向,若判断前台窗口进行切换,则在判断当前窗口属于支持横竖屏应用模块后,则将当前窗 口的屏幕方向切换到用户手持方向,若判断当前窗口不属于支持横竖屏应用模块后,则将 当前窗口切换到系统设置方向(即用户手动设置方向);或者根据重力感应事件监测模块 330输出的事件发生指示和从注册表中的读取相应的前台运行的应用模块的设置结果,若 判断前台运行的应用模块设置了应用重力感应的横竖屏自动切换功能,则将该应用模块从 当前窗口的屏幕方向切换到用户手持方向;若判断前台运行的应用模块未设置横竖屏自动 切换功能,则保持该应用模块当前窗口的屏幕方向。当然,本发明还可有其他多种实施方式,如在AndroicKGoogle开发的基于Linux 平台的开源手机操作系统)、QT (基于C++语言的跨平台图形用户接口 GUI框架)等其它平 台下使用。在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发 明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求 的保护范围。
权利要求
1.一种应用重力感应功能的方法,包括移动终端加载一服务软件,通过所述服务软件监测重力感应事件和/或应用重力感应 的相关事件,并根据监测到的事件控制支持重力感应功能且当前运行的应用模块实现相应 的状态切换。
2.按照权利要求1所述的方法,其特征在于,具体包括所述服务软件获取所述应用模块的当前状态,当监测到有所述重力感应事件和/或应 用重力感应的相关事件发生时,若判断所述应用模块设置了所述重力感应功能,则将所述 应用模块从所述当前状态切换到相应的另一状态。
3.按照权利要求2所述的方法,其特征在于,所述重力感应事件通过重力传感器的输 出信号监测;所述应用重力感应的相关事件是指与横竖屏切换功能相关的应用模块的窗口 切换事件;所述服务软件获取到所述应用模块的当前状态为所述应用模块当前窗口的屏幕方向, 当监测到有所述重力感应事件发生,或监测到有所述窗口切换事件发生,若判断所述应用 模块设置了所述横竖屏自动切换功能,则将所述应用模块从所述当前窗口的屏幕方向旋转 到用户手持方向。
4.按照权利要求3所述的方法,其特征在于,当所述服务软件监测到有所述重力感应事件发生时,若判断所述应用模块未设置所述 横竖屏自动切换功能,则保持所述应用模块的所述当前窗口的屏幕方向;或者,当所述服 务软件监测到有所述应用模块窗口切换事件发生时,若判断所述应用模块未设置所述横竖 屏自动切换功能,则将所述应用模块从所述当前窗口的屏幕方向旋转到用户手动设置的方 向。
5.按照权利要求2至4任一项所述的方法,其特征在于,还包括所述移动终端提供所述应用模块设置重力感应功能的开关的界面,且将设置的所述重 力感应功能的开关值保存在注册表中;所述服务软件在进行所述状态的切换前读取所述注 册表中的开关值,以获知所述当前运行的应用模块是否设置了所述重力感应功能。
6.一种应用重力感应功能的移动终端,包括相互连接的状态获取/切换模块以及重力 感应事件监测模块,其中所述状态获取/切换模块,用于根据所述重力感应事件监测模块输出的事件发生指 示,控制支持重力感应功能且当前运行的应用模块实现相应的状态切换;所述重力感应事件监测模块,用于在监测到所述移动终端的重力感应事件和/或应用 重力感应的相关事件后,向所述状态获取/切换模块输出所述事件发生指示。
7.按照权利要求6所述的移动终端,其特征在于,还包括重力感应功能设置模块;其中所述重力感应功能设置模块,用于提供所述应用模块设置重力感应功能及其应用的开 关的界面;所述状态获取/切换模块获取所述应用模块的当前状态,在输入所述事件发生指示 后,若判断所述应用模块设置了所述重力感应功能,则将所述应用模块从所述当前状态切 换到相应的另一状态。
8.按照权利要求7所述的移动终端,其特征在于,所述状态获取/切换模块获取的所述应用模块的当前状态为所述应用模块当前窗口 的屏幕方向,根据所述重力感应事件监测模块输出的第一屏幕方向旋转指示,将所述应用 模块从所述当前窗口的屏幕方向旋转到用户手持方向;所述重力感应事件监测模块当通过重力传感器的输出信号监测到所述重力感应事件 发生时,或监测到有所述应用模块的窗口切换事件发生,若判断所述应用模块设置了横竖 屏自动切换功能,则向所述状态获取/切换模块输出所述第一屏幕方向旋转指示。
9.按照权利要求8所述的移动终端,其特征在于,所述状态获取/切换模块根据所述重力感应事件监测模块输出的第二屏幕方向旋转 指示,将所述应用模块从所述当前窗口的屏幕方向旋转到用户手动设置的方向;所述重力感应事件监测模块监测到有所述窗口切换事件发生时,若判断所述应用模块 未设置所述横竖屏自动切换功能,则向所述状态获取/切换模块输出所述第二屏幕方向旋 转指示。
10.按照权利要求7至9任一项所述的移动终端,其特征在于,所述重力感应功能设置模块,将设置的所述重力感应功能的开关值保存在注册表中;所述状态获取/切换模块在进行所述状态的切换前读取所述注册表中的所述开关值, 以获知所述当前运行的应用模块是否设置了所述重力感应功能。
全文摘要
本发明披露了一种应用重力感应功能的方法及其移动终端,该方法包括移动终端加载一服务软件,通过该服务软件监测移动终端的重力感应事件和/或应用重力感应的相关事件,并根据监测到的事件控制支持重力感应功能且当前运行的应用模块实现相应的状态切换。本发明通过该服务软件综合管理和控制所有需要重力感应功能的应用模块使用该重力感应功能,故使得应用重力感应功能的应用模块数量不受限制,同时也避免了模块代码的冗余,且不会增加系统负担,使得移动终端在用户手中能够随心所欲地使用,由此大大增加了用户体验。
文档编号G01P15/00GK102118488SQ200910261699
公开日2011年7月6日 申请日期2009年12月30日 优先权日2009年12月30日
发明者张弛, 朱渊, 赵世正 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1