发明内容
本发明实施例所要解决的技术问题在于,提供一种移动终端的应用控制方法以及适用于移动终端的应用控制装置,可利用移动终端的应用启动时限检测移动终端的稳定性;当判定移动终端处于静止状态时,自动执行对应的应用,无需用户手动点击移动终端,避免应用执行过程中,因为用户手的抖动,影响应用的执行效果。特别是在用户使用移动终端拍照的过程中,避免因用户手的抖动影响照片的质量。
为了解决上述技术问题,本发明实施例提供了一种移动终端的应用控制方法,包括:
收到应用执行指令后,在预置的应用启动时限内,按照预置的检测时间间隔,周期性检测移动终端的相对位移;
每隔预置的检测时间间隔,检测移动终端当前的位置相对上一次检测时所在的位置在三维坐标系中x、y、z三个方向的相对位移;
比较所述移动终端在x、y、z三个方向的相对位移是否超过预置的位移阈值,若移动终端在x、y、z三个方向的相对位移均未超过位移阈值,则判定所述移动终端当前处于第一状态;否则,判定该移动终端当前处于第二状态;
统计所述移动终端在应用启动时限内处于第一状态和第二状态的次数;
根据所述第一状态和第二状态的次数判断所述移动终端是否处于静止状态,若处于静止状态,则执行对应的应用;否则,不启动对应的应用。
其中,所述收到应用启动指令后,在预置的应用启动时限内,按照预置的时间间隔,周期性检测移动终端的相对位移之前还包括:
预置应用启动时限和检测时间间隔,所述应用启动时限的时间长度大于所述检测时间间隔的时间长度。
其中,所述根据所述第一状态和第二状态的次数判断所述移动终端是否处于静止状态,包括:
计算所述第一状态和第二状态的次数的比值;
判断所述第一状态和第二状态的次数的比值是否超过预置的灵敏度门限;若未超过,则判定所述移动终端处于静止状态;否则,判定所述移动终端处于非静止状态。
其中,所述应用为自动拍照。
相应地,本发明实施例还提供了一种适用于移动终端的应用控制装置,包括:
位移检测模块,用于收到应用执行指令后,在预置的应用启动时限内,按照预置的检测时间间隔,周期性检测移动终端的相对位移;
状态判断模块,用于比较所述移动终端的相对位移是否超过预置的位移阈值;若未超过,则判定所述移动终端当前处于第一状态;否则,判定该移动终端当前处于第二状态;
统计模块,用于统计在应用启动时限内所述状态判断模块判定所述移动终端处于第一状态和第二状态的次数;
执行处理模块,用于根据所述第一状态和第二状态的次数判断所述移动终端是否处于静止状态,若处于静止状态,则执行对应的应用;否则,不启动对应的应用;
其中,所述位移检测模块包括:
位置检测单元,用于按照所述检测时限预置模块中预置的检测时间间隔,周期性检测移动终端当前在三维坐标系中的位置;
位移计算单元,根据所述位置检测单元获取的移动终端当前在三维坐标系中的位置,以及所述移动终端上一次检测是在相同三维坐标系中的位置,计算所述移动终端在三维坐标系中x、y、z三个方向的相对位移;
其中,所述状态判断模块包括:
阈值存储单元,用于预置并存储移动终端在x、y、z三个方向的位移阈值;
状态判断单元,用于比较所述移动终端在x、y、z三个方向的相对位移是否超过预置的位移阈值;若x、y、z三个方向的相对位移均未超过位移阈值,则判定所述移动终端当前处于第一状态;否则,判定该移动终端当前处于第二状态。
其中,所述应用控制装置还包括:
检测时限预置模块,用于预置所述应用启动时限和检测时间间隔,所述应用启动时限的时间长度大于所述检测时间间隔的时间长度。
其中,所述执行处理模块包括:
比值计算单元,用于计算所述统计模块所统计得到的所述移动终端处于第一状态和第二状态的次数的比值;
判断执行单元,用于判断所述比值计算单元计算得出的第一状态和第二状态的次数的比值是否超过预置的灵敏度门限;若未超过,则判定所述移动终端处于静止状态,则执行对应的应用;否则,判定所述移动终端处于非静止状态,不启动对应的应用。
其中,所述应用为自动拍照;所述执行处理模块在判定所述移动终端处于静止状态时,执行自动拍照功能。
实施本发明实施例所提供的移动终端的应用控制方法以及适用于移动终端的应用控制装置,利用移动终端的应用启动时限检测移动终端的稳定性,当判定移动终端处于静止状态时,自动执行对应的应用,无需用户手动点击移动终端,避免应用执行过程中,因为用户手的抖动,影响应用的执行效果。特别是在用户使用移动终端拍照的过程中,避免因用户手的抖动影响照片的质量。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,为本发明提供的移动终端的应用控制方法第一实施例流程示意图,如图1所示,该应用控制方法包括:
步骤S100,收到应用执行指令后,在预置的应用启动时限内,按照预置的检测时间间隔,周期性检测移动终端的相对位移。
步骤S101,比较所述移动终端的相对位移是否超过预置的位移阈值;若未超过,则判定所述移动终端当前处于第一状态;否则,判定该移动终端当前处于第二状态。
步骤S102,统计所述移动终端在应用启动时限内处于第一状态和第二状态的次数。
步骤S103,根据所述第一状态和第二状态的次数判断所述移动终端是否处于静止状态,若处于静止状态,则执行步骤S104;否则,不启动对应的应用。
步骤S104,执行对应的应用。
本发明实施例所提供的移动终端的应用控制方法,利用移动终端的应用启动时限检测移动终端的稳定性,当判定移动终端处于静止状态时,自动执行对应的应用,无需用户手动点击移动终端,避免应用执行过程中,因为用户手的抖动,影响应用的执行效果。特别是在用户使用移动终端拍照的过程中,避免因用户手的抖动影响照片的质量。
参见图2,为本发明提供的移动终端的应用控制方法第二实施例流程示意图。在本实施例中,以所述应用是终端的自动拍照功能为例进行更为详细的说明。
在实施本发明提供的应用控制方法之前,需要预置应用启动时限和检测时间间隔。所述应用启动时限为移动终端收到用户发出的执行某应用的指令后,到实际启动该应用之间的时间间隔,所述应用启动时限的时间长度大于所述检测时间间隔的时间长度。
另外,还需要预置位移阈值和灵敏度门限,位移阈值用于判断移动终端在两次检测的间隔时间内其位置改变的幅度,灵敏度门限用于判断移动终端在应用启动时限内的整体状态是否为静止。
上述应用启动时限、检测时间间隔、预置位移阈值和灵敏度门限既可以由移动终端的生产厂家预置,也可以由用户预置,或由用户根据自己的需要修改厂家预置的参数。
如图2所示,该应用控制方法包括:
步骤S200,收到应用执行指令后,在预置的应用启动时限内,按照预置的检测时间间隔,周期性检测移动终端的相对位移。
进一步的,所述执行指令可以是用户通过移动终端上的按键或其它方式触发的自动拍照指令。移动终端收到该执行指令后,启动定时器,该定时器的时长与预置的应用启动时限相等(例如30ms),在该30ms的应用启动时限内,按照预置的检测时间间隔(例如3ms),周期性检测移动终端的相对位移。
更为具体的,在实际应用中,可以通过陀螺仪、加速度传感器或其它具有定位功能的仪器检测移动终端的相对位移。例如在采用iOS系统的移动终端中,可以利用其自带的重力检测功能,设定iOS通知到应用层的时间间隔interval,具体码可以是:[UIAccelerometer sharedAccelerometer].updateInterval = interval
假设检测方向分为x、y、z三个方向,每个方向的取值范围为(-1,1),通过iOS通知函数:
-(void)accelerometer:(UIAccelerometer*)accelerometer
didAccelerate:(UIAcceleration *)
从acceleration中可以获得参数acceleration.x、acceleration.y、acceleration.z,并计算得出移动终端当前的位置相对上一次检测时所在的位置在三维坐标系中x、y、z三个方向的相对位移。
本领域技术人员可以理解的是,在其它的系统中,也有类似的通知函数可以实现相同的功能。例如在android系统也提供了类似的通知函数,可以找到acceleration,该通知函数具体可以为:
interface SensorEventListener;
Override
public void onSensorChanged(SensorEvent event)
继承上面这个接口SensorEventListener,实现public void onSensorChanged
(SensorEvent event)这个函数就可以获得acceleration相关信息。
步骤S201,比较移动终端的相对位移是否超过预置的位移阈值;若未超过,则判定所述移动终端当前处于第一状态;否则,判定该移动终端当前处于第二状态。
更为具体的,假设设定的位移阈值为0.05,将移动终端在x、y、z三个方向上的相对位移取绝对值或与位移阈值比较,当移动终端在x、y、z三个方向上的相对位移都小于0.05时,判定所述移动终端当前处于静止(staticGravity),即第一状态;当移动终端在x、y、z三个方向中的某一个或几个方向上的相对位移都大于或等于0.05时,判定所述移动终端当前处于动态(dynamicGravity) ,即第二状态。
步骤S202,统计所述移动终端在应用启动时限内处于第一状态和第二状态的次数。例如:应用启动时限为30ms,检测时间间隔为3ms,则在应用启动时限内,会进行10次检测,统计在这10次检测中,移动终端被判定处于第一状态和第二状态的次数。
步骤S203,计算移动终端在应用启动时限内处于第一状态和第二状态的次数的比值。
步骤S204,判断第一状态和第二状态的次数的比值是否超过预置的灵敏度门限;若未超过,则执行步骤S205;否则,执行步骤S206。
更为具体的,假设经过统计,检测到移动终端处于第一状态的次数为7次,处于第二状态的次数为3次,预置的灵敏度门限为0.3;则第一状态和第二状态的次数的比值为:2/7=0.29,小于预置的灵敏度门限0.3,执行步骤S205;若预置的灵敏度门限为0.2,则第一状态和第二状态的次数的比值0.29大于预置的灵敏度门限0.2,执行步骤S206。
优选的,在应用启动时限、检测时间间隔、预置位移阈值确定的情况下,可以将灵敏度门限直接设置为直接对应的第一状态或第二状态的统计次数对应的参数。例如,将灵敏度门限设置为3,当统计的第二状态的次数未超过3次,则判定移动终端处于静止状态,执行步骤S205;否则,执行步骤S206。或者,将灵敏度门限设置为7,当统计的第一状态的次数超过7次,则执行步骤S205;否则,执行步骤S206。此方式可以省略步骤S203。
在步骤S205,判定所述移动终端处于静止状态,执行应用执行指令所对应的应用。例如,该应用为自动拍照,经过应用启动时限内的多次检测后,判定移动终端处于静止状态,则该移动终端自动执行拍照功能。
在步骤S206,判定所述移动终端处于非静止状态,暂不执行应用执行指令所对应的应用,此时可以提示用户移动终端抖动幅度过大,或返回步骤S200,重新检测。
本发明实施例所提供的移动终端的应用控制方法,利用移动终端的应用启动时限检测移动终端的稳定性,当判定移动终端处于静止状态时,自动执行对应的应用,无需用户手动点击移动终端,避免应用执行过程中,因为用户手的抖动,影响应用的执行效果。特别是在用户使用移动终端拍照的过程中,避免因用户手的抖动影响照片的质量。本发明实施例可与现有的防抖动技术结合使用,已达到更好的效果。
参见图3,为本发明提供的适用于移动终端的应用控制装置第一实施例结构示意图,如图3所示,该装置包括:位移检测模块2、状态判断模块3、统计模块4和执行处理模块5。
位移检测模块2,用于收到应用执行指令后,在预置的应用启动时限内,按照预置的检测时间间隔,周期性检测移动终端的相对位移。
状态判断模块3,用于比较所述移动终端的相对位移是否超过预置的位移阈值;若未超过,则判定所述移动终端当前处于第一状态;否则,判定该移动终端当前处于第二状态。
统计模块4,用于统计在应用启动时限内所述状态判断模块3判定所述移动终端处于第一状态和第二状态的次数。
执行处理模块5,用于根据所述第一状态和第二状态的次数判断所述移动终端是否处于静止状态,若处于静止状态,则执行对应的应用;否则,不启动对应的应用。
本发明实施例所提供的移动终端的应用控制装置,利用移动终端的应用启动时限检测移动终端的稳定性,当判定移动终端处于静止状态时,自动执行对应的应用,无需用户手动点击移动终端,避免应用执行过程中,因为用户手的抖动,影响应用的执行效果。特别是在用户使用移动终端拍照的过程中,避免因用户手的抖动影响照片的质量。
参见图4,为本发明提供的适用于移动终端的应用控制装置第二实施例结构示意图。在本实施例中,以所述应用是终端的自动拍照功能为例进行更为详细的说明。如图所示,该应用控制装置包括:检测时限预置模块1、位移检测模块2、状态判断模块3、统计模块4和执行处理模块5。
检测时限预置模块1,用于预置所述应用启动时限和检测时间间隔。所述应用启动时限的时间长度大于所述检测时间间隔的时间长度。所述应用启动时限为移动终端收到用户发出的执行某应用的指令,到该应用实际启动的时间间隔,所述应用启动时限的时间长度大于所述检测时间间隔的时间长度。
上述应用启动时限、检测时间间隔以及状态判断模块3中预置的位移阈值、执行处理模块5中的灵敏度门限,这些参数的预置既可以由移动终端的生产厂家执行,也可以由用户预置,或由用户根据自己的需要修改厂家预置的参数。
位移检测模块2,用于收到应用执行指令后,在预置的应用启动时限内,按照预置的检测时间间隔,周期性检测移动终端的相对位移。所述执行指令可以是用户通过移动终端上的按键或其它方式触发的自动拍照指令。移动终端收到该执行指令后,位移检测模块2启动定时器,该定时器的时长与检测时限预置模块1中预置的应用启动时限相等(例如30ms),在该30ms的应用启动时限内,位移检测模块2按照预置的检测时间间隔(例如3ms),周期性检测移动终端的相对位移。
更为具体的,该位移检测模块2包括:位置检测单元21和位移计算单元22。
位置检测单元21,用于按照所述检测时限预置模块中预置的检测时间间隔,周期性检测移动终端当前在三维坐标系中的位置。在实际应用中,位置检测单元21可以通过陀螺仪、加速度传感器或其它具有定位功能的仪器检测移动终端的相对位移。例如在采用iOS系统的移动终端中,可以利用其自带的重力检测功能,设定iOS通知到应用层的时间间隔interval,假设检测方向分为x、y、z三个方向,每个方向的取值范围为(-1,1),通过iOS通知函数:
-(void)accelerometer:(UIAccelerometer*)accelerometer
didAccelerate:(UIAcceleration *)
从acceleration中可以获得参数acceleration.x、acceleration.y、acceleration.z,并计算得出移动终端当前的位置相对上一次检测时所在的位置在三维坐标系中x、y、z三个坐标。
本领域技术人员可以理解的是,在其它的系统中,也有类似的函数可以实现相同的功能,比如android系统,android系统也提供类似的通知函数,可以找到acceleration。
位移计算单元22,根据所述位置检测单元21获取的移动终端当前在三维坐标系中的位置,以及所述移动终端上一次检测是在相同三维坐标系中的位置,计算所述移动终端在三维坐标系中x、y、z三个方向的相对位移。
状态判断模块3,用于比较所述移动终端的相对位移是否超过预置的位移阈值;若未超过,则判定所述移动终端当前处于第一状态;否则,判定该移动终端当前处于第二状态。
更为具体的,该状态判断模块3包括:阈值存储单元31和状态判断单元32。
阈值存储单元31,用于预置并存储移动终端在x、y、z三个方向的位移阈值。
状态判断单元32,用于比较所述移动终端在x、y、z三个方向的相对位移是否超过预置的位移阈值;若x、y、z三个方向的相对位移均未超过位移阈值,则判定所述移动终端当前处于第一状态;否则,判定该移动终端当前处于第二状态。
更为具体的,假设阈值存储单元31中设定的位移阈值为0.05,状态判断单元32将移动终端在x、y、z三个方向上的相对位移取绝对值或与位移阈值比较,当移动终端在x、y、z三个方向上的相对位移都小于0.05时,状态判断模块3判定所述移动终端当前处于静止(staticGravity),即第一状态;当移动终端在x、y、z三个方向中的某一个或几个方向上的相对位移都大于或等于0.05时,状态判断模块3判定所述移动终端当前处于动态(dynamicGravity) ,即第二状态。
统计模块4,用于统计在应用启动时限内所述状态判断模块3判定所述移动终端处于第一状态和第二状态的次数。例如:检测时限预置模块1中设定的应用启动时限为30ms,检测时间间隔为3ms,则在应用启动时限内,位移检测模块2会进行10次检测,统计模块4将统计在这10次检测中,移动终端被状态判断模块3判定处于第一状态和第二状态的次数。
执行处理模块5,用于根据所述第一状态和第二状态的次数判断所述移动终端是否处于静止状态,若处于静止状态,则执行对应的应用;否则,不启动对应的应用。
更为具体的,该执行处理模块5包括:比值计算单元51和判断执行单元52。
比值计算单元51,用于计算所述统计模块所统计得到的所述移动终端处于第一状态和第二状态的次数的比值。更为具体的,假设经过统计,检测到移动终端处于第一状态的次数为7次,处于第二状态的次数为3次,预置的灵敏度门限为0.3;则第一状态和第二状态的次数的比值为:2/7=0.29。
判断执行单元52,用于判断所述比值计算单元51计算得出的第一状态和第二状态的次数的比值是否超过预置的灵敏度门限;若未超过,则判定所述移动终端处于静止状态,则执行对应的应用;否则,判定所述移动终端处于非静止状态,不启动对应的应用。
更为具体的,假设预置的灵敏度门限为0.3;则第一状态和第二状态的次数的比值0.29小于预置的灵敏度门限0.3,判断执行单元52判定所述移动终端处于静止状态,执行应用执行指令所对应的应用,例如自动执行拍照功能。
若预置的灵敏度门限为0.2,则第一状态和第二状态的次数的比值0.29大于预置的灵敏度门限0.2,判断执行单元52判定所述移动终端处于非静止状态,暂不执行应用执行指令所对应的应用,此时判断执行单元52可以提示用户移动终端抖动幅度过大。
优选的,在应用启动时限、检测时间间隔、预置位移阈值确定的情况下,可以将灵敏度门限直接设置为对应的第一状态或第二状态的次数,例如,将灵敏度门限设置为3,当统计的第二状态的次数未超过3次,则判断执行单元52判定移动终端处于静止状态,执行对应的应用;否则,不执行应用。或者,将灵敏度门限设置为7,当统计的第一状态的次数超过7次,则判断执行单元52执行对应的应用。在上述优选情况下,可以省略比值计算单元51。
本发明实施例所提供的移动终端的应用控制装置,利用移动终端的应用启动时限检测移动终端的稳定性,当判定移动终端处于静止状态时,自动执行对应的应用,无需用户手动点击移动终端,避免应用执行过程中,因为用户手的抖动,影响应用的执行效果。特别是在用户使用移动终端拍照的过程中,避免因用户手的抖动影响照片的质量。本发明实施例可与现有的防抖动技术结合使用,已达到更好的效果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。