一种快速启动***功能的方法和***
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种快速启动***功能的方法和***。
【背景技术】
对于搭载IOS、android或YunOS等操作***的智能终端而言,如何能让用户快速便捷地使用***功能是现有设计者和研发者正在思考的问题,其中***功能包括但不限于:截屏、快捷方式选择、近期任务选择、隐藏应用选择、跳转到上一应用、跳转到下一应用、应用来回切换、快速安全功能设置等。目前快速启动***功能的方法主要存在以下几种:
1)使用单一物理按键。但由于智能终端的单一物理按键数量有限,通常仅用于十分关键的场景,不太可能用于快速启动***功能。
2)使用组合物理按键。例如,使用“电源+音量”键数秒进行截屏。然而通常单一物理按键都已经存在自己的功能,这样一来组合物理按键就容易误操作;为了提高***功能的启动成功率,用户势必会非常用力的按下组合物理按键并持续一段时间,这就会造成物理按键的磨损严重;另外,这种方式需要等待数秒,实时性也较差。
3)制造下拉的窗体(例如状态栏)来承载各种快捷操作。但这种操作过程比较繁琐,用户至少需要执行下拉状态栏、在状态栏中查找所需进行的操作、点击图标进行操作等步骤,有时在状态栏中操作项比较多时还可能需要进行翻页的操作。
4)利用手机底排导航栏的虚拟按键。然而虚拟按键资源比较有限,并且虚拟按键上操作的手势也相对比较单一,只有单机、双击和长按三种,而这些手势也往往已经被***其他功能或应用占用。
5)在屏幕上使用多值滑动手势来快速启动***功能。但这种方式很容易就与应用内的手势产生冲突,例如:现在IOS***实现了四指左滑和右滑来切换应用的功能,这就与《水果忍者》游戏的滑动产生冲突,因此在《水果忍者》应用中就无法使用该手势来切换应用。
【发明内容】
有鉴于此,本发明提供了一种快速启动***功能的方法和***,以便于降低误操作和硬件磨损。
具体技术方案如下:
本发明提供了一种快速启动***功能的方法,预先设置边缘捏合手势与***功能之间的对应关系,该方法包括:
识别触摸事件;
如果识别出触摸事件符合预先设置的边缘捏合手势,则触发所述边缘捏合手势对应的***功能;其中,所述边缘捏合手势包括:从屏幕边缘发起的多指捏合滑动手势。
根据本发明一优选实施方式,所述识别触摸事件和触发所述边缘捏合手势对应的***功能的操作由全局手势控制模块执行;该方法还包括:
触摸事件分发模块接收来自操作***底层模块的触摸事件,将触摸事件发送给所述全局手势控制模块。
根据本发明一优选实施方式,该方法还包括:
所述触摸事件分发模块判断是否已被禁止向屏幕正在显示的应用发送触摸事件,如果否,则将触摸事件发送给屏幕正在显示的应用;如果是,则不会将触摸事件发送给屏幕正在显示的应用;
其中,所述全局手势控制模块在识别出触摸事件符合预先设置的边缘捏合手势时,禁止所述触摸事件分发模块向屏幕正在显示的应用发送触摸事件。
根据本发明一优选实施方式,该方法还包括:
所述全局手势控制模块在所述触摸事件结束后,取消所述禁止;或者,
所述全局手势控制模块在触发***功能后,如果触摸手势结束,则取消所述禁止。
根据本发明一优选实施方式,该方法还包括:
如果所述触摸事件分发模块已被禁止向屏幕正在显示的应用发送触摸事件,则向屏幕正在显示的应用发送取消识别触摸事件的消息。
根据本发明一优选实施方式,所述全局手势控制模块获取用户通过设置界面对所述对应关系的设置。
根据本发明一优选实施方式,所述从屏幕边缘发起的多指捏合滑动手势,包括:
从屏幕的至少两个边缘分别发起的相互靠近的单指滑动手势;或
从屏幕的至少两个边缘分别发起的相互靠近的多指滑动手势。
根据本发明一优选实施方式,所述识别触摸事件包括:
S1、对所述触摸事件的类型进行识别,如果是按下事件,则执行步骤S2;如果是滑动事件,则执行步骤S3;如果是抬起事件或取消事件,则执行步骤S4;
S2、判断所述触摸事件中是否按下手指的总数量为两个以上且手指的按下位置符合预置的边缘捏合手势的初始位置,如果是,则设置识别标志位为识别状态;
S3、判断所述识别标志位是否为识别状态,如果是,判断手指滑动方向是否与手指按下位置所符合的边缘捏合手势一致,如果是,识别出所述触摸事件符合预置的边缘捏合手势;
S4、确定触摸手势结束,设置识别标志位为结束状态。
根据本发明一优选实施方式,所述步骤S2具体包括:
S21、判断所述触摸事件中手指是否从屏幕边缘按下,如果是,执行步骤S22;否则,确认所述触摸事件不属于边缘捏合手势,设置识别标志位为结束状态;
S22、识别按下手指的总数量,如果是两个以上,执行步骤S23;如果是一个,设置识别标志位为开始状态;
S23、判断手指的按下位置是否符合预置的边缘捏合手势的初始位置,如果是,则设置识别标志位为识别状态;否则等待下一触摸事件。
根据本发明一优选实施方式,触发所述边缘捏合手势对应的***功能包括:
判断是否已经触发所述边缘捏合手势对应的***功能,如果否,则直接触发所述***功能;如果是,进一步根据所述***功能的特征确定是否需要继续触发,如果是,则继续触发所述***功能,否则不再触发所述***功能。
本发明提供了一种快速启动***功能的***,该***包括全局手势控制模块;所述全局手势控制模块包括触摸事件处理子模块;
所述触摸事件处理子模块,用于识别触摸事件,如果识别出触摸事件符合预先设置的边缘捏合手势,则触发所述边缘捏合手势对应的***功能;其中,所述边缘捏合手势包括:从屏幕边缘发起的多指捏合滑动手势。
根据本发明一优选实施方式,该***还包括:
触摸事件分发模块,用于接收来自操作***底层模块的触摸事件,将触摸事件发送给所述触摸事件处理子模块。
根据本发明一优选实施方式,所述触摸事件分发模块,还用于判断是否已被禁止向屏幕正在显示的应用发送触摸事件,如果否,则将触摸事件发送给屏幕正在显示的应用;如果是,则不会将触摸事件发送给屏幕正在显示的应用;
所述触摸事件处理子模块,还用于在识别出触摸事件符合预先设置的边缘捏合手势时,禁止所述触摸事件分发模块向屏幕正在显示的应用发送触摸事件。
根据本发明一优选实施方式,所述触摸事件处理子模块,还用于在所述触摸事件结束后,取消所述禁止,或者触发***功能后,如果触摸手势结束,则取消所述禁止。
根据本发明一优选实施方式,所述触摸事件分发模块,还用于如果被禁止向屏幕正在显示的应用发送触摸事件,则向屏幕正在显示的应用发送取消识别触摸事件的消息。
根据本发明一优选实施方式,所述全局手势控制模块还包括:触摸事件管理子模块,用于获取用户通过设置界面对所述对应关系的设置,并将所述对应关系提供给所述触摸事件处理子模块。
根据本发明一优选实施方式,所述从屏幕边缘发起的多指捏合滑动手势,包括:
从屏幕的至少两个边缘分别发起的相互靠近的单指滑动手势;或
从屏幕的至少两个边缘分别发起的相互靠近的多指滑动手势。
根据本发明一优选实施方式,所述触摸事件处理子模块具体执行以下操作:
S1、对所述触摸事件的类型进行识别,如果是按下事件,则执行操作S2;如果是滑动事件,则执行操作S3;如果是抬起事件或取消事件,则执行操作S4;
S2、判断所述触摸事件中是否按下手指的总数量为两个以上且手指的按下位置符合预置的边缘捏合手势的初始位置,如果是,则设置识别标志位为识别状态;
S3、判断所述识别标志位是否为识别状态,如果是,判断手指滑动方向是否与手指按下位置所符合的边缘捏合手势一致,如果是,识别出所述触摸事件符合预置的边缘捏合手势;
S4、确定触摸手势结束,设置识别标志位为结束状态。
根据本发明一优选实施方式,所述触摸事件处理子模块在执行操作S2时,具体执行以下操作:
S21、判断所述触摸事件中手指是否从屏幕边缘按下,如果是,执行步骤S22;否则,确认所述触摸事件不属于边缘捏合手势,设置识别标志位为结束状态;
S22、识别按下手指的总数量,如果是两个以上,执行步骤S23;如果是一个,设置识别标志位为开始状态;
S23、判断手指的按下位置是否符合预置的边缘捏合手势的初始位置,如果是,则设置识别标志位为识别状态;否则等待下一触摸事件。
根据本发明一优选实施方式,所述触摸事件处理子单元在触发所述边缘捏合手势对应的***功能时,具体执行:
判断是否已经触发所述边缘捏合手势对应的***功能,如果否,则直接触发所述***功能;如果是,进一步根据所述***功能的特征确定是否需要继续触发,如果是,则继续触发所述***功能,否则不再触发所述***功能。
由以上技术方案可以看出,本发明采用边缘捏合手势来快速启动***功能,由于目前已有的应用中尚未存在由边缘发起的多指滑动捏合手势,因此不会与现有应用内的手势冲突而引起误操作;另外,由于并未使用智能终端的物理按键,因此降低了硬件磨损。
【附图说明】
图1为本发明实施例提供的几种多指捏合滑动手势的示意图;
图2为本发明实施例提供的***结构图;
图3为本发明实施例提供的快速启动***功能的方法流程图;
图4为本发明实施例提供的触摸事件处理子模块对触摸事件的处理流程图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
考虑到操作的便捷性以及减少对物理按键的磨损,本发明采用在屏幕上的手势来启动***功能,但为了避免误操作就需要考虑采用的手势与应用中使用的手势相区别,因此本发明采用边缘捏合手势来快速启动***功能,所谓边缘捏合手势指的是从屏幕边缘发起的多指捏合滑动手势,其中“多指”指的是两个或两个以上的手指,“捏合”指的是滑动位置有聚合意图的靠近,即滑动位置随着滑动越来越与靠近。从屏幕边缘发起的多指捏合滑动手势,可以包括但不限于:从屏幕的至少两个边缘分别发起的相互靠近的单指滑动手势、从屏幕的至少两个边缘分别发起的相互靠近的多指滑动手势等,从屏幕边缘发起的多指捏合滑动手势的示例可以如图1(a)至图1(h),其中,图中所示的矩形框表示智能终端的屏幕边缘,每个箭头表示一个手指,箭头表示手指滑动的轨迹和方向。
可以预先设置不同的边缘捏合手势对应不同的***功能,下面举几个边缘捏合手势的例子,但需要说明的是,本发明并不限于所举的这几种手势以及对应关系。
例如,采用两根手指分别从屏幕左、右的两个边缘发起的向内捏合滑动的手势来启动截屏功能,如图1中(a)所示,图中方框表示智能终端的屏幕,箭头表示手势的轨迹和方向。也可以采用两根手指分别从屏幕上、下的两个边缘发起的向内捏合滑动的手势来启动截屏功能,如图1中(b)。采用两根手指分别从屏幕左、下的两个边缘发起的向内捏合滑动的手势来跳转到下一应用,如图1中(c)所示。采用两根手指分别从屏幕右、下的两个边缘发起的向内捏合滑动的手势来跳转到上一应用,如图1中(d)所示。采用两根手指分别从屏幕左、上的两个边缘发起的向内捏合滑动的手势来在应用之间来回切换,如图1中(e)所示。采用两根手指分别从屏幕右、上的两个边缘发起的向内捏合滑动的手势来在应用之间来回切换,如图1中(f)所示。采用四根手指分别从屏幕上、下的两个边缘发起的向内捏合滑动的手势来打开***功能列表,其中两根手指从屏幕上边缘发起,另外两根手指从屏幕下边缘发起,如图1中(g)所示。采用四根手指分别从屏幕左、右的两个边缘发起的向内捏合滑动的手势来打开安全设置列表(包括是否可以访问wifi、3G、GPS,是否可以发短信、打电话,是否可以访问通讯录等),其中两根手指从屏幕左边缘发起,另外两根手指从屏幕下边缘发起,如图1中(h)所示。
下面对采用边缘捏合手势来快速启动***功能的具体实现进行描述,首先对本发明所基于的***框架进行描述,如图2所示,该***包括触摸事件分发模块和全局手势控制模块,还可以进一步包括触摸事件设置模块。
其中触摸事件分发模块的主要功能是,负责接收来自操作***底层模块的触摸事件,将该触摸事件分发给全局手势控制模块和当前屏幕正显示的应用。操作***底层模块是智能终端本身的智能操作***,具备智能操作***的基本功能,在本发明实施例中涉及到的是触摸事件上报功能,即将触摸事件上报给触摸事件分发模块。所谓当前屏幕正显示的应用指的是用户在智能终端屏幕上看到的、正在运行显示的应用。
全局手势控制模块对手势起着全局控制的作用,主要包括两部分作用:
其一是监听触摸事件,对触摸事件进行分析后,若确定触摸事件的手势符合边缘捏合手势,则快速启动触摸事件的手势所对应的***功能,并禁止触摸事件分发模块向当前屏幕正显示的应用发送触摸事件。这部分的功能由触摸事件处理子模块完成。
其二是对边缘捏合手势与***功能的对应关系进行管理,可以读取***预置或从指定位置下载手势与***功能的对应关系,并显示给用户学习,也可以根据用户的设置完成边缘捏合手势与***功能的对应关系的设置,其中用户可以通过***功能启动设置界面进行设置。这部分的功能由触摸事件管理子模块完成,并将设置信息提供给触摸事件处理子模块。
下面结合图3对基于上述***实现的快速启动***功能的方法流程进行描述,如图3中所示,该方法主要包括以下流程:
在步骤301中,当用户触摸屏幕时,操作***底层模块会将触摸事件上报给触摸事件分发模块。
在此触摸事件可以包括但不限于:按下事件、滑动事件、抬起事件和取消事件。对于每一种事件都可以识别出手指数量以及位置信息,对于触摸事件的获取和识别均为现有技术,在此不再详述。
在步骤302中,触摸事件分发模块将触摸事件发送给全局手势控制模块中的触摸事件处理子模块。与此同时,触摸事件分发模块会判断是否已被禁止向屏幕正在显示的应用发送触摸事件,如果否,则将触摸事件也发送给屏幕正在显示的应用;如果是,则不会将触摸事件发送给屏幕正在显示的应用。
其中,触摸事件分发模块是被全局手势控制模块中的触摸事件处理子模块禁止向屏幕正在显示的应用发送触摸事件的,即触摸事件处理子模块一旦识别出触摸事件符合快速启动***功能的边缘捏合手势,则会禁止触摸事件分发模块向屏幕正在显示的应用发送触摸事件,而触摸事件结束后或者触发***功能后,触摸事件处理子模块会取消该禁止,即允许触摸事件分发模块向屏幕正在显示的应用发送触摸事件,后续将会具体涉及到。优选地,如果触摸事件分发模块被禁止向屏幕正在显示的应用发送触摸事件,则可以向屏幕正在显示的应用发送取消识别的消息。
对于屏幕正在显示的应用而言,如果接收到触摸事件,则对触摸事件进行识别和处理,即按照该触摸事件对应的手势启动该手势在本应用中的功能。如果屏幕正在显示的应用接收到取消识别的消息,则取消对触摸事件的识别和处理。
在步骤303中,触摸事件处理子模块对收到的触摸事件进行识别,如果识别出触摸手势符合预置的边缘捏合手势,则触发该触摸手势对应的***功能。在识别出触摸事件符合预置的边缘捏合手势时,禁止触摸事件分发模块向屏幕正在显示的应用发送触摸事件。如果识别出触摸手势不符合边缘捏合手势,则取消触摸事件分发模块对当前屏幕正在显示的应用发送触摸事件的禁止;或者在触发触摸手势对应的***功能之后,如果触摸手势结束,则取消触摸事件分发模块对当前屏幕正在显示的应用发送触摸事件的禁止。
其中,无论是触发***功能还是屏幕正在显示的应用处理触摸事件都会向用户进行结果的反馈,让用户能够感知到处理结果。
由以上流程可知,具体是启动***功能还是让屏幕正在显示的应用处理触摸事件是由触摸事件控制模块中的触摸事件处理子模块控制的,如果触摸事件处理子模块识别出触摸事件属于边缘捏合手势,则启动***功能,并禁止屏幕正在显示的应用处理触摸事件;如果触摸事件处理子模块识别出触摸事件不属于边缘捏合手势,则取消对屏幕正在显示的应用处理触摸事件的禁止,这样屏幕正在显示的应用就能够对触摸事件进行正常的处理和反应。
下面结合图4对触摸事件处理子模块对触摸事件的处理流程进行详细描述,如图4中所示。首先在步骤401中,触摸事件处理子模块会对接收到的触摸事件的类型进行识别,如果是按下事件(touchstart),则执行步骤402;如果是滑动事件(touchmove),则执行步骤405;如果是抬起事件(touchend)或取消事件(touchcancel),则执行步骤407。
在步骤402中,触摸事件处理子模块判断该触摸事件是否从屏幕边缘按下,在触摸事件中会包含用户触摸的位置信息,根据该位置信息就可以判断是否从屏幕边缘按下,在这里可以设置屏幕上一定范围内属于屏幕边缘,如果用户初始触摸的位置在此范围内,则认为从屏幕边缘按下。
如果判断出触摸事件并非从屏幕边缘按下,则确认该触摸事件不属于边缘捏合手势,执行步骤407,设置识别标志位为结束状态,即结束对该触摸事件的识别处理,可以进一步取消触摸事件分发模块对屏幕正在显示的应用发送触摸事件的禁止。如果判断出触摸事件从屏幕边缘按下,继续执行步骤403。
在步骤403中,触摸事件处理子模块进一步识别触摸事件中按下手指的总数量,如果是一个手指,则执行步骤408,设置识别标志位为开始状态。如果是两个以上的手指,则继续执行步骤404。
由于边缘捏合手势要求是从边缘发起的多指滑动捏合手势,因此如果按下手指的总数量是一个手指,则开始识别,即设置标志位为开始状态,等待其他手指的触发事件来临。如果按下手指的总数量达到两个以上,则可以判别手势发起的位置和数量符合预置的边缘捏合手势,
在步骤404中,触摸事件处理子模块判断手指的按下位置是否符合预置的边缘捏合手势的按下位置,如果是,则执行步骤409,设置识别标志位为识别状态,可以进一步禁止触摸事件分发模块对屏幕正在显示的应用发送触摸事件。否则,等待下一触摸事件。
手指从边缘按下并不一定是启动***功能的边缘捏合手势,多个手指的按下位置组合必须与预置的边缘捏合手势的初始位置一致,如果不一致,则不符合预置的边缘捏合手势。其中,预置的边缘捏合手势的初始位置可以是设定屏幕边缘的设定位置、设定屏幕边缘的设定位置范围或设定屏幕边缘。
在步骤405中,触摸事件处理子模块判断识别标志位是否为识别状态,如果是,执行步骤406,否则等待下一触摸事件。
如果识别标志位是识别状态,说明用户手势的发起位置符合预置的边缘捏合手势,可以进行下一步关于滑动的判断。
在步骤406中,识别触摸事件是否属于边缘捏合手势,即手指滑动方向是否与手指按下位置所符合的边缘捏合手势一致,如果是,执行步骤410,触发对应的***功能;否则等待下一触摸事件。
如果手指按下位置符合预置的某个或某几个边缘捏合手势,则需要进一步判断滑动方向是否仍符合该某个或某几个边缘捏合手势中的一个,只有符合才可以识别出触摸事件的手势符合预设的边缘捏合手势,也就是说,需要进行手指按下位置和滑动方向的组合的判断。
其中在触发对应的***功能时,如果尚未触发该***功能,则直接触发该***功能;如果已经触发了该***功能,则需要根据该***功能的特征确定是否需要继续触发,如果是,则继续触发该***功能,否则不再触发。因为有些***功能仅需要触发一次,例如截屏功能,而有些***功能由于需要动态效果,需要持续触发,例如显示快捷方式选择、近期任务选择、隐藏应用选择列表功能。
在步骤407中,由于手势已经结束,因此设置识别标志位为结束状态,取消触摸事件分发模块对屏幕正在显示的应用发送触摸事件的禁止。
由以上描述可以看出,本发明提供的***和方法具备以下优点:
1)本发明采用边缘捏合手势来快速启动***功能,由于目前已有的应用中尚未存在由边缘发起的多指滑动捏合手势,因此不会与现有应用内的手势发生冲突而引起误操作。
2)由于本发明采用屏幕上的手势来快速启动***功能,并未使用智能终端的物理按键,因此降低了硬件磨损。
3)在本发明中预先建立了边缘捏合手势与***功能的对应关系,一个手势对应一个***功能,相比较长按物理按键组合的方式,显然实时性较高,基本能够实现所见即所得。
4)另外,手势操作对于用户而言一次操作即可完成,相比较制造下拉窗体来承载各种快捷操作的方式,显然更加方便和快捷。
在本发明所提供的几个实施例中,应该理解到,所揭露的***和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。