一种对手机中应用程序进行控制的方法

文档序号:7588071阅读:106来源:国知局
专利名称:一种对手机中应用程序进行控制的方法
技术领域
本发明涉及手机技术,特别涉及一种对手机中应用程序进行控制的方法。
背景技术
现有技术中,手机的功能越来越强大,不但可以实现打电话这类基本的通信业务,还具备实现各类应用程序的能力。在启动或退出某个应用程序时,通常是用户利用手机提供的菜单功能逐级选择来实现的,其操作比较麻烦。当然,目前高端一些的手机可以提供特殊的控制手机应用程序的功能。比如通过简单的晃动对图片进行缩放,或者在游戏过程中实现左右平衡等。但这些控制都比较简单,而应用程序被控制的需求越来越多,简单晃动这 类现有技术难以满足该需求。

发明内容
本发明的主要目的是提供一种对手机中应用程序进行控制的方法,可以克服现有技术中仅利用简单晃动来控制应用程序的缺陷,满足越来越多的应用程序通过用户手持手机书写进行控制的需求。针对上述问题,本发明提供的技术方案为一种对手机中应用程序进行控制的方法,该方法包括A、利用加速度传感器连续采集手机移动时的加速度值;B、根据采集到的加速度值对手机移动时的运动轨迹进行识别;C、将运动轨迹的识别结果与预设的运动轨迹进行匹配,如果匹配成功,则执行该预设的运动轨迹绑定的控制命令,对手机中应用程序进行控制。上述方案中,所述加速度值为矢量,包括X轴上的值、Y轴上的值和Z轴上的值,所述步骤A包括所述加速度传感器按照预设的时间间隔在手机移动时进行采样,采样获得的X轴上的值保存在第一存储空间,所述第一存储空间包含M组子空间;采样获得的Y轴上的值保存在第二存储空间,所述第二存储空间包含M组子空间;采样获得的Z轴上的值保存在第三存储空间,所述第三存储空间包含M组子空间;所述M为大于I的正整数。上述方案中,所述步骤B包括对于第一存储空间的值,根据M组子空间的值分别确定相应的M个X轴运动标识;所述X轴运动标识为I、-I或0,其中,为I表示向X轴正向运动,为-I表示向X轴负向运动,为0表示在X轴上未运动;对于第二存储空间的值,根据M组子空间的值分别确定相应的M个Y轴运动标识;所述Y轴运动标识为I、-I或0,其中,为I表示向Y轴正向运动,为-I表示向Y轴负向运动,为0表示在Y轴上未运动;对于第三存储空间的值,根据M组子空间的值分别确定相应的M个Z轴运动标识;所述Z轴运动标识为I、-I或0,其中,为I表示向Z轴正向运动,为-I表示向Z轴负向运动,为O表示在Z轴上未运动;
所述M个X轴运动标识、M个Y轴运动标识和M个Z轴运动标识用于表示手机移动时的运动轨迹。上述方案中,所述第一存储空间的M组子空间包括N个数据单元,用于保存最新采样获得的N个X轴上的值;所述第二存储空间的M组子空间包括N个数据单元,用于保存最新采样获得的N个Y轴上的值;所述第三存储空间的M组子空间包括N个数据单元,用于保存最新采样获得的N个Z轴上的值;所述N为大于I的整数。上述方案中,所述根据M组子空间的值分别确定相应的M个X轴运动标识的方法包括xl、将第一组作为当前组;x2、将当前组保存的N个值分别与获得的第一静止值相减,其差值与预设的第一阈值进行比较获得N个比较结果,若差值大于第一阈值,则将相应的比较结果记为1,若差值小于负的第一阈值,则将相应的比较结果记为-1,若差值的绝对值小于第一阈值,则将相应的比较结果记为0;x3、统计当前组的N个比较结果,将数量多的作为该组子空间对应的X轴运动标识;x4、将下一组作为当前组,并返回步骤x2,直至处理完M组子空间的值。上述方案中,所述步骤x3和x4之间,该方法进一步包括判断当前组对应的X轴运动标识是否为0,如果为0,则计算当前组N个值的平均值,并将第一静止值更新为计算出的平均值;否则,转到步骤x4。上述方案中,所述根据M组子空间的值分别确定相应的M个Y轴运动标识的方法包括yl、将第一组作为当前组;y2、将当前组保存的N个值分别与获得的第二静止值相减,其差值与预设的第二阈值进行比较获得N个比较结果,若差值大于第二阈值,则将相应的比较结果记为1,若差值小于负的第二阈值,则将相应的比较结果记为-1,若差值的绝对值小于第二阈值,则将相应的比较结果记为0;y3、统计当前组的N个比较结果,将数量多的作为该组子空间对应的Y轴运动标识;y4、将下一组作为当前组,并返回步骤y2,直至处理完M组子空间的值。上述方案中,所述步骤y3和y4之间,该方法进一步包括判断当前组对应的Y轴运动标识是否为0,如果为0,则计算当前组N个值的平均值,并将第二静止值更新为计算出的平均值;否则,转到步骤y4。上述方案中,所述根据M组子空间的值分别确定相应的M个Z轴运动标识的方法包括
zl、将第一组作为当前组;z2、将当前组保存的N个值分别与获得的第三静止值相减,其差值与预设的第三阈值进行比较获得N个比较结果,若差值大于第三阈值,则将相应的比较结果记为1,若差值小于负的第三阈值,则将相应的比较结果记为-I,若差值的绝对值小于第三阈值,则将相应的比较结果记为0;z3、统计当前组的N个比较结果,将数量多的作为该组子空间对应的Y轴运动标识;z4、将下一组作为当前组,并返回步骤z2,直至处理完M组子空间的值。上述方案中,所述步骤z3和z4之间,该方法进一步包括判断当前组对应的Z轴运动标识是否为0,如果为0,则计算当前组N个值的平均 值,并将第三静止值更新为计算出的平均值;否则,转到步骤z4。上述方案中,所述步骤A之前,该方法进一步包括为手机预设运动轨迹,并将预设的运动轨迹与应用程序的控制命令进行绑定。上述方案中,所述为手机预设运动轨迹的方法包括nl、利用加速度传感器连续采集手机移动时的加速度值;n2、根据采集到的加速度值对手机移动时的运动轨迹进行识别,并将识别出的运动轨迹显示给用户;n3、如果接收到用户的确认指令,则将识别出的运动轨迹保存;否则返回步骤nl。本发明提供一种对手机中应用程序进行控制的方法,可以利用手机中的加速度传感器采集加速度值,根据加速度值对运动轨迹进行识别,再将运动轨迹的识别结果与预设的运动轨迹进行匹配,在匹配成功时执行绑定的控制命令,从而对手机中应用程序进行控制。由于用户手持手机可以书写任意的文字、图形,而不仅仅是简单的晃动,可形成的运动轨迹非常多,因此可绑定的控制命令也就非常多,从而满足越来越多的应用程序通过用户手持手机书写进行控制的需求。


图I是本发明实施例一的流程图。图2是本发明实施例二的流程图。图3a是本发明实施例二中针对X轴上采样数据的队列I的示意图。图3b是本发明实施例二中针对X轴上采样数据的队列I的示意图。图3c是本发明实施例二中针对X轴上采样数据的队列I的示意图。图4a是应用本发明方案用手机书写“L”字样的示意图。图4b是应用本发明方案用手机书写“L”后执行应用程序的示意图。图5a是应用本发明方案用手机书写“Z”字样的示意图。图5b是应用本发明方案用手机书写“Z”后执行应用程序的示意图。
具体实施例方式本发明的基本思想是在用户手持手机书写时,通过手机中的加速度传感器来识别出手机书写的移动过程中所形成的运动轨迹,一旦识别出该运动轨迹与某预设的运动轨迹匹配,则启动其绑定的控制命令,用该控制命令对应用程序进行控制。实施例一图I是本发明实施例一的方法流程图,该方法包括步骤101 :利用加速度传感器连续采集手机移动时的加速度值。实际应用中,当用户持手机在空间书写时,手机通常会产生加速度。加速度传感器是手机中的某个功能装置,其作用就是检测手机的加速度。检测出的加速度值是矢量,包括 三维空间坐标上的标量值,即X轴上的值、Y轴上的值和Z轴上的值。至于手机中的加速度传感器如何进行检测则属于现有技术,这里不再赘述。步骤102 :根据采集到的加速度值对手机移动时的运动轨迹进行识别。本步骤中,检测出的加速度值本身仅仅表示手机的加速度,不能表示运动轨迹,但多个连续的加速度则可以表示其运动的某种趋势,从而识别出手机的运动轨迹。这里以X轴为例说明该方法的原理假设连续检测出手机运动到A点时在X轴上的加速度值为2,运动到B点时在X轴上的加速度值为4,运动到C点时在X轴上的加速度值为6,那么,由于加速度值都是正数,可知手机在A、B、C点处都向X轴正方向运动,并且是从A点正向运动到B点,再到C点。需要说明的是,本发明所述的运动轨迹是指运动趋势形成的轨迹形状,而并非手机在三维空间所处位置形成的轨迹。上面仅以X轴为例进行了说明,Y轴和Z轴上的处理与其相似,此处不再赘述。下面具体说明对运动轨迹进行识别的方法。首先,假设第一存储空间、第二存储空间、第三存储空间分别用来保存采样值。其中,第一存储空间包含M组子空间,用于保存M组X轴上的值;第二存储空间包含M组子空间,用于保存M组Y轴上的值;第三存储空间包含M组子空间,用于保存M组Z轴上的值。这样,实施步骤101时,加速度传感器可按照预设的时间间隔在手机移动时进行采样,或者说按照某种采样频率进行采样,将采样获得的X轴上的值保存在第一存储空间的M组子空间中,将采样获得的Y轴上的值保存在第二存储空间的M组子空间中,将采样获得的Z轴上的值保存在第三存储空间的M组子空间中。这里,M为大于I的正整数。如果按照上述方式保存采样数据,可以对X轴、Y轴、Z轴上的值分别处理,以完成运动轨迹的识别一)对于第一存储空间的值,即采集到的X轴上的值(标量)来说可以根据M组子空间的值分别确定相应的M个X轴运动标识,X轴运动标识为1、_1或0,其中,为I表示向X轴正向运动,为-I表不向X轴负向运动,为0表在X轴上未运动。二)对于第二存储空间的值,即采集到的Y轴上的值(标量)来说根据M组子空间的值分别确定相应的M个Y轴运动标识;所述Y轴运动标识为1、_1或0,其中,为I表示向Y轴正向运动,为-I表不向Y轴负向运动,为0表不在Y轴上未运动。三)对于第三存储空间的值,即采集到的Z轴上的值(标量)来说根据M组子空间的值分别确定相应的M个Z轴运动标识;所述Z轴运动标识为1、_1或0,其中,为I表示向Z轴正向运动,为-I表不向Z轴负向运动,为0表在Z轴上未运动。也就是说,对于X轴上的值,不管其值是正数、负数或0,只要转换为M个运动标识,就可以表示X轴上运动趋势所形成的运动轨迹。其原因在于假设每个组子空间有一个采样数据,并且按照一定顺序连续保存,比如按照第I组 第M组的顺序连续保存。如前面所述,如果采样值是正数,这里将其转换为运动标识1,仍然可表示向X轴正向方向运动;如果是负数,这里将其转换为运动标识-1,仍然可表示向X轴负向方向运动;如果是O,这里保持O不变,仍表示在X轴上未运动。转换后的连续的M个运动标识可以表示出在X轴的运动趋势。对于Y轴上的值以及Z轴上的值也可以按照上述原理转换为运动标识,用以表示在Y轴和Z轴上的运动趋势。具体地,上述确定M个运动标识的方法至少有以下两种第一种直接根据M组子空间的值来确定M个运动标识,其方式与上述举例相同。再举例如下第一存储空间有8组子空间,其值分别为1、2、4、-2、-4、2、3、4,那么,可以将正数对应的运动标识设置为I,将负数对应的运动标识设置为-1,将0对应的运动标识设置为
O。因此,第一存储空间的8组子空间对应的运动标识应该为1、1、1、-I、_1、1、1、1。当然,第二存储空间和第三存储空间的值也可以按照同样的方式处理。总之,第一种方法的特点是直接根据保存的M组子空间的值来确定的。另外,这种方法是假设M = 8,每个子空间仅有一个采样值。实际应用中,M的个数以及每个子空间包含多少个采样值是与具体采样方式相关。第二种根据M组子空间的值、静止值以及阈值来确定M个运动标识。这种方式实施的原理在于用户手持手机书写时,由于用户操作不精确,或者加速度传感器误差的因素,传感器可能会将未运动的误判为运动而得到某采样值。为消除此误差,可设置一个表示未运动的静止值和一个阈值。将采样值与静止值比较,如果相差在阈值范围以内,则认为是未运动的,如果相差范围在阈值以外,再根据具体情况确定是正向或负向运动。另外,为了提高识别的准确性,还可以设置较高的采样频率,采样更多的数据。为方便处理,可以在每一组子空间中设置N个数据单元,用于保存最新采样获得的值。比如第一存储空间的M组子空间包括N个数据单元,用于保存最新采样获得的N个X轴上的值;第二存储空间的M组子空间包括N个数据单元,用于保存最新采样获得的N个Y轴上的值;第三存储空间的M组子空间包括N个数据单元,用于保存最新采样获得的N个Z轴上的值;其中,N为大于I的整数。这样,为了将各存储空间的M组子空间保存的值转换为M个运动标识,上述的第二种方法为针对于X轴来说,其方法为xl、将第一组作为当前组。x2、将当前组保存的N个值分别与获得的第一静止值相减,其差值与预设的第一阈值进行比较获得N个比较结果,若差值大于第一阈值,则将相应的比较结果记为1,若差值小于负的第一阈值,则将相应的比较结果记为-1,若差值的绝对值小于第一阈值,则将相应的比较结果记为O。x3、统计当前组的N个比较结果,将数量多的作为该组子空间对应的X轴运动标识。x4、将下一组作为当前组,并返回步骤x2,直至处理完M组子空间的值。针对于Y轴来说,其方法为yl、将第一组作为当前组。y2、将当前组保存的N个值分别与获得的第二静止值相减,其差值与预设的第二阈值进行比较获得N个比较结果,若差值大于第二阈值,则将相应的比较结果记为1,若差值小于负的第二阈值,则将相应的比较结果记为-1,若差值的绝对值小于第二阈值,则将相应的比较结果记为O。y3、统计当前组的N个比较结果,将数量多的作为该组子空间对应的Y轴运动标识。y4、将下一组作为当前组,并返回步骤y2,直至处理完M组子空间的值。针对Z轴来说,其方法为zl、将第一组作为当前组。 z2、将当前组保存的N个值分别与获得的第三静止值相减,其差值与预设的第三阈值进行比较获得N个比较结果,若差值大于第三阈值,则将相应的比较结果记为1,若差值小于负的第三阈值,则将相应的比较结果记为-I,若差值的绝对值小于第三阈值,则将相应的比较结果记为O。z3、统计当前组的N个比较结果,将数量多的作为该组子空间对应的Y轴运动标识。z4、将下一组作为当前组,并返回步骤z2,直至处理完M组子空间的值。可见,针对X、Y、Z轴的值的处理方法相似,都是将组子空间中的N个数据与相应的静止值相减,比较其差值在相应的阈值范围之内还是在阈值范围之外,并根据比较结果确定该组对应的运动标识。由于每个存储空间有M组子空间,处理完成之后,同样会得到M个运动标识。与第一种方法相同,这M个运动标识也可以表示某个坐标轴上的运动轨迹。当然,由于第二种方法可以消除用户操作不精确以及加速度传感器误差等因素,其识别运动轨迹的结果应该比第一种方法更准确。另外,上述的第一静止值、第二静止值、第三静止值的含义都表示未运动,其值可以相同也可以不相同。相似的,第一阈值、第二阈值和第三阈值的含义都表示某个范围,其值可以相同也可以不相同。步骤103 :将运动轨迹的识别结果与预设的运动轨迹进行匹配,如果匹配成功,则执行该预设的运动轨迹绑定的控制命令,对手机中应用程序进行控制。本步骤实际上是将X轴运动标识、Y轴运动标识、Z轴运动标识分别进行比较,根据比较结果判断是否匹配成功。如果匹配成功,就自动执行绑定的控制命令,从而实现对手机中应用程序进行控制。实施例二本实施例中,假设手机中加速度传感器采样频率是400赫兹(HZ),即每隔0. 0025秒采集一次数据,每秒钟对X轴、Y轴和Z轴分别采集400个数据。还假设保存采样数据的第一存储空间、第二存储空间、第三存储空间分别包含M组子空间,每组子空间包含N个数据单元,其中,M = 8,N = 50。本实施例第一存储空间、第二存储空间、第三存储空间分别用队列I、队列2、队列3表示,每个队列有8个节点,每个节点包括50个数据单元。另外,在保存采样数据时,按照从队列头到队列尾的顺序保存,当队列中所有节点的数据单元都被占用,则可以将队列头数据删除,将保存新采样数据的节点插入到队列尾。也就是说,在本实施例中,各个队列总是保存最新采样的400个数据。当然,实际应用中,也可以不以队列的方式保存采样数据。
另外,本实施例还假设手机中有一个应用控制设置(App Control Setting)模块,该模块包括预设运动轨迹和识别运动轨迹两种模式。图2是本实施例的方法流程图,该方法包括步骤201 :加速度传感器在手机移动时按照0. 0025秒的时间间隔进行采样,将采样获得的X轴上的值保存在队列1,将采样获得的Y轴上的值保存在队列2,将采样获得的Z轴上的值保存在队列3。本步骤的队列I、队列2、队列3可如图3a 3c所示。如前所述,在保存时按照队列头到队列尾的顺序保存。比如,当采样到50个数据时,将这第一组50个数据放置在队列头节点,隔0. 125秒将采样的第二组50个数据保存到第二个节点,再隔0. 125秒将采样的第三组50个数据保存到第三个节点,并依次类推。当整个队列的8个节点全部被占满,再将队列头的节点的数据删除,将保存最新采样的50个数据的节点作为队列尾。总之,队列 I、队列2、队列3总是保存最新采样到的400个数据。步骤202 :判断手机是否开启了 App Control Setting功能模块,如果是,则执行步骤203 ;否则,执行步骤204。步骤203:判断App Control Setting功能模块当前的模式,如果是预设运动轨迹的模式,则执行步骤207 ;如果是识别运动轨迹的模式,则执行步骤204。本实施例是在手机中设置了 App Control Setting功能模块,由App ControlSetting功能模块启动预设运动轨迹的功能或识别运动轨迹的功能。但实际应用中,当然也可以不设置App Control Setting功能模块,App Control Setting功能模块存在与否并不影响方案的实施,可以省略步骤202和步骤203。步骤204 :根据队列I的值确定8个X轴运动标识,根据队列2的值确定8个Y轴运动标识,根据队列3的值确定8个Z轴运动标识。这里所述确定8个X轴运动标识可以按照上述步骤xl x4的方法实现,确定8个Y轴运动标识可以按照上述步骤yl y4的方法实现,确定8个Z轴运动标识的方法可以按照上述步骤zl z4的方法实现,此处不再赘述。需要注意的是,在刚开始采样时,队列中并不是所有的节点都保存了采样的数据。比如在0. 125秒时只在队列头节点保存了采样数据,其它节点都没有数据,可以仅确定队列头节点对应的运动标识。在隔0. 125秒后,根据步骤201的采样,队列中第二个节点也保存了采样数据,此时就可以确定第二个节点对应的运动标识,其它运动标识的确定依次类推。这里所述的队列和运动标识并不特指,不管是X轴、Y轴还是Z轴都可以采样这种方式。另外,由于实际操作过程可能存在误差,本步骤在确定8个X轴运动标识、8个Y轴运动标识、8个Z轴运动标识时,还可以进一步更新第一静止值、第二静止值、第三静止值。也就是说,在确定8个X轴运动标识时,在步骤x3和x4之间,该方法进一步包括判断当前组对应的X轴运动标识是否为0,如果为0,则计算当前组N个值(指X轴上的N个值)的平均值,并将第一静止值更新为计算出的平均值;否则,转到步骤x4。在确定8个Y轴运动标识时,在步骤y3和y4之间,该方法进一步包括判断当前组对应的Y轴运动标识是否为0,如果为0,则计算当前组N个值(指Y轴上的N个值)的平均值,并将第二静止值更新为计算出的平均值;否则,转到步骤y4。在确定8个Z轴运动标识时,在步骤z3和z4之间,该方法进一步包括判断当前组对应的Z轴运动标识是否为O,如果为O,则计算当前组N个值(指Z轴上的N个值)的平均值,并将第三静止值更新为计算出的平均值;否则,转到步骤z4。采用上述方法进行更新的原因是用户在操作过程中,如果根据当前组的数据发现运动标识为0,说明当前基本是静止不动的,但当前组每个轴有N个(本实施例有50个)数据,由于操作或测量误差,这N个数据未必全部与静止值相等。因此,如果将静止值设置为N个值的平均值,这N个值从整体上来看就可以更加接近静止值,避免后续测量和统计时误差积累,从而造成将静止不动的情况误会为运动的情况。步骤205 :将运动轨迹的识别结果与预设的运动轨迹进行匹配,如果匹配成功,则执行步骤206 ;否则,返回步骤201。上述步骤201 步骤205是一个大的循环,在这个循环中,手机中的加速度传感器不断采样,并每隔0. 125秒对队列进行一次存取操作。相应的,每隔0. 125秒,手机对运动轨迹进行一次识别。在开始采样的前一秒内,由于队列中并不是所有节点都保存有数据,确 定出的8个运动标识不准确,其识别结果可能是失败的。但一秒钟之后,队列中所有的节点 都保存有采样数据,可以确定有效的8个运动标识。如实施例一所述,X轴运动标识、Y轴运动标识、Z轴运动标识可以表示手机移动过程中的运动轨迹。本实施例中预设的运动轨迹也是利用X轴运动标识、Y轴运动标识、Z轴运动标识来表示。因此,只要将步骤204确定出的8个X轴运动标识与预设运动轨迹中的8个X轴运动标识进行比较,将步骤204确定出的8个Y轴运动标识与预设运动轨迹中的8个Y轴运动标识进行比较,将步骤204确定出的8个Z轴运动标识与预设运动轨迹中的8个Z轴运动标识进行比较,就可以根据比较结果明确是否匹配成功。当然,在采样一秒种之后也未必立即匹配成功。但是,如步骤201所述,加速度传感器还可以继续进行采样,手机根据最新采样的数据确定出新的运动标识,并在步骤205重新与预设运动轨迹进行匹配。一旦匹配成功,就可以下面的步骤206。实际应用中,本步骤的匹配可以采用精确匹配的方式和模糊匹配的方式。所谓精确匹配是指识别出的运动轨迹的8个X轴运动标识与预设运动轨迹的8个X轴运动标识完全相同,识别出的运动轨迹的8个Y轴运动标识与预设运动轨迹的8个Y轴运动标识完全相同,识别出的运动轨迹的8个Z轴运动标识与预设运动轨迹的8个Z轴运动标识也完全相同。所谓模糊匹配是指上述三者并非完全相同,其相同的个数大于某个预先设置的匹配阈值。比如预先设置匹配阈值为6,而识别出的运动轨迹与预设运动轨迹中的每个轴有7个运动标识相同,大于匹配阈值6,这种情况也可以被看作匹配成功。实际应用中,还可以设置一个时间阈值,当超出时间阈值,就不再进行识别(即不再返回步骤201),以避免陷入循环过程。步骤206 :执行预设的运动轨迹绑定的控制命令,对手机中应用程序进行控制,并退出本流程。步骤207 :利用加速度传感器连续采集手机移动时的加速度值。本步骤的具体可以采用与步骤201相同的方法,此处不再赘述。步骤208 :根据采集到的加速度值对手机移动时的运动轨迹进行识别,并将识别出的运动轨迹显示给用户。其中,对运动轨迹进行识别可以采用与步骤204相同的方法。另外,识别出运动轨迹之后,为方便用户确认,可以将运动轨迹图形化为文字或字母显示给用户。步骤209 :判断是否接收到用户的确认指令,如果是,则执行步骤210 ;否则返回步骤 207。步骤210 :将识别出的运动轨迹保存并退出本流程。上述步骤206 209可完成运动轨迹的预设。如果手机中有App Control Setting功能模块,该功能模块还可以提供显示、查找、关联、删除预设运动轨迹的功能,以方便用户更加准确的操作。至于如何显示、查找、关联、删除可以利用由技术人员结合现有技术实现,此处不再详细描述。当然,由于步骤206 209是完成运动轨迹的预设,并不是识别过程中必要的,因此,单就如何识别运动轨迹并实现应用程序的控制时,也可以省略步206 209。实际应用中,如何将预设的运动轨迹与控制命令进行绑定也比较容易实现,比如可以设置一个数据库,用于保存预设的运动轨迹和控制命令的对应关系。这样,当步骤205 匹配成功时,就可以在数据库中查找成功匹配的运动轨迹,并执行对应的控制命令。图4和图5是利用本发明实施例实现的示意图。如图4a所示,用户手持手机在空中书写字母“L”,手机移动过程中形成一个运动轨迹。假设手机中预设该运动轨迹,并将其与“记事本”这个应用程序的“打开”控制命令绑定。因此,一旦匹配成功,手机将自动打开“记事本”,其结果如图4b所示。又,如图5a所示,用户手持手机在空中书写字母“Z”,手机移动过程中形成一个运动轨迹。假设手机中预设该运动轨迹,并将其与“QQ聊天工具”这个应用程序的“打开”控制命令绑定。因此,一旦匹配成功,手机将自动打开“QQ聊天工具”,其结果如图5b所示。应用本实施例方案,当用户手持手机进行书写时,加速度传感器可以识别出手机移动过程所形成的运动轨迹,在与预设运动轨迹匹配成功时,启动相应的控制命令,达到对应用程序进行控制的目的。由于用户手持手机可以书写任意的文字、图形或字母,而不仅仅是简单的晃动,可形成的运动轨迹非常多,因此可绑定的控制命令也就非常多,从而满足越来越多的应用程序通过用户手持手机书写进行控制的需求。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种对手机中应用程序进行控制的方法,其特征在于,该方法包括 A、利用加速度传感器连续采集手机移动时的加速度值; B、根据采集到的加速度值对手机移动时的运动轨迹进行识别; C、将运动轨迹的识别结果与预设的运动轨迹进行匹配,如果匹配成功,则执行该预设的运动轨迹绑定的控制命令,对手机中应用程序进行控制。
2.根据权利要求I所述的方法,其特征在于,所述加速度值为矢量,包括X轴上的值、Y轴上的值和Z轴上的值,所述步骤A包括 所述加速度传感器按照预设的时间间隔在手机移动时进行采样,采样获得的X轴上的值保存在第一存储空间,所述第一存储空间包含M组子空间;采样获得的Y轴上的值保存在 第二存储空间,所述第二存储空间包含M组子空间;采样获得的Z轴上的值保存在第三存储空间,所述第三存储空间包含M组子空间;所述M为大于I的正整数。
3.根据权利要求2所述的方法,其特征在于,所述步骤B包括 对于第一存储空间的值,根据M组子空间的值分别确定相应的M个X轴运动标识;所述X轴运动标识为I、-I或0,其中,为I表示向X轴正向运动,为-I表示向X轴负向运动,为0表不在X轴上未运动; 对于第二存储空间的值,根据M组子空间的值分别确定相应的M个Y轴运动标识;所述Y轴运动标识为I、-I或0,其中,为I表示向Y轴正向运动,为-I表示向Y轴负向运动,为0表不在Y轴上未运动; 对于第三存储空间的值,根据M组子空间的值分别确定相应的M个Z轴运动标识;所述Z轴运动标识为I、-I或0,其中,为I表示向Z轴正向运动,为-I表示向Z轴负向运动,为0表不在Z轴上未运动; 所述M个X轴运动标识、M个Y轴运动标识和M个Z轴运动标识用于表示手机移动时的运动轨迹。
4.根据权利要求3所述的方法,其特征在于, 所述第一存储空间的M组子空间包括N个数据单元,用于保存最新采样获得的N个X轴上的值; 所述第二存储空间的M组子空间包括N个数据单元,用于保存最新采样获得的N个Y轴上的值; 所述第三存储空间的M组子空间包括N个数据单元,用于保存最新采样获得的N个Z轴上的值; 所述N为大于I的整数。
5.根据权利要求4所述的方法,其特征在于,所述根据M组子空间的值分别确定相应的M个X轴运动标识的方法包括 xl、将第一组作为当前组; x2、将当前组保存的N个值分别与获得的第一静止值相减,其差值与预设的第一阈值进行比较获得N个比较结果,若差值大于第一阈值,则将相应的比较结果记为I,若差值小于负的第一阈值,则将相应的比较结果记为-1,若差值的绝对值小于第一阈值,则将相应的比较结果记为0 ; x3、统计当前组的N个比较结果,将数量多的作为该组子空间对应的X轴运动标识;x4、将下一组作为当前组,并返回步骤x2,直至处理完M组子空间的值。
6.根据权利要求5所述的方法,其特征在于,所述步骤x3和x4之间,该方法进一步包括 判断当前组对应的X轴运动标识是否为O,如果为O,则计算当前组N个值的平均值,并将第一静止值更新为计算出的平均值;否则,转到步骤x4。
7.根据权利要求4所述的方法,其特征在于,所述根据M组子空间的值分别确定相应的M个Y轴运动标识的方法包括 yl、将第一组作为当前组; y2、将当前组保存的N个值分别与获得的第二静止值相减,其差值与预设的第二阈值进行比较获得N个比较结果,若差值大于第二阈值,则将相应的比较结果记为1,若差值小于负的第二阈值,则将相应的比较结果记为-1,若差值的绝对值小于第二阈值,则将相应的比较结果记为O ; y3、统计当前组的N个比较结果,将数量多的作为该组子空间对应的Y轴运动标识; y4、将下一组作为当前组,并返回步骤y2,直至处理完M组子空间的值。
8.根据权利要求7所述的方法,其特征在于,所述步骤y3和y4之间,该方法进一步包括 判断当前组对应的Y轴运动标识是否为O,如果为O,则计算当前组N个值的平均值,并将第二静止值更新为计算出的平均值;否则,转到步骤y4。
9.根据权利要求4所述的方法,其特征在于,所述根据M组子空间的值分别确定相应的M个Z轴运动标识的方法包括 zl、将第一组作为当前组; z2、将当前组保存的N个值分别与获得的第三静止值相减,其差值与预设的第三阈值进行比较获得N个比较结果,若差值大于第三阈值,则将相应的比较结果记为I,若差值小于负的第三阈值,则将相应的比较结果记为-I,若差值的绝对值小于第三阈值,则将相应的比较结果记为O ; z3、统计当前组的N个比较结果,将数量多的作为该组子空间对应的Y轴运动标识; z4、将下一组作为当前组,并返回步骤z2,直至处理完M组子空间的值。
10.根据权利要求9所述的方法,其特征在于,所述步骤z3和z4之间,该方法进一步包括 判断当前组对应的Z轴运动标识是否为0,如果为0,则计算当前组N个值的平均值,并将第三静止值更新为计算出的平均值;否则,转到步骤z4。
11.根据权利要求I所述的方法,其特征在于,所述步骤A之前,该方法进一步包括 为手机预设运动轨迹,并将预设的运动轨迹与应用程序的控制命令进行绑定。
12.根据权利要求11所述的方法,其特征在于,所述为手机预设运动轨迹的方法包括 nl、利用加速度传感器连续采集手机移动时的加速度值; n2、根据采集到的加速度值对手机移动时的运动轨迹进行识别,并将识别出的运动轨迹显示给用户; n3、如果接收到用户的确认指令,则将识别出的运动轨迹保存;否则返回步骤nl。
全文摘要
本发明提供了一种对手机中应用程序进行控制的方法,包括利用加速度传感器连续采集手机移动时的加速度值;根据采集到的加速度值对手机移动时的运动轨迹进行识别;将运动轨迹的识别结果与预设的运动轨迹进行匹配,如果匹配成功,则执行该预设的运动轨迹绑定的控制命令,对手机中应用程序进行控制。应用本发明方案,由于用户手持手机可以书写任意的文字、图形,而不仅仅是简单的晃动,可形成的运动轨迹非常多,因此可绑定的控制命令也就非常多,从而满足越来越多的应用程序通过用户手持手机书写进行控制的需求。
文档编号H04M1/725GK102647504SQ201110041328
公开日2012年8月22日 申请日期2011年2月16日 优先权日2011年2月16日
发明者李汤锁, 王剑锋, 鲍飞龙 申请人:三星电子(中国)研发中心, 三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1