掌桥专利:专业的专利平台
掌桥专利
首页

触控方法及相关设备

文献发布时间:2024-04-18 19:58:21


触控方法及相关设备

技术领域

本申请涉及终端技术领域,尤其涉及一种触控方法及相关设备。

背景技术

电子设备可支持游戏应用;例如,游戏应用可包括多人在线战术竞技游戏(multiplayer online battle arena,MOBA)。这类游戏往往对操作要求的实时性较强,例如,在接收到用户点击技能或滑动轮盘的触发操作时,电子设备需要实时的执行游戏中的攻击、位移和跑动等游戏操作。

但可能的实现中,电子设备可能会出现接收到用户操作,但无法响应游戏操作的场景,影响用户的游戏体验。

发明内容

本申请实施例提供一种触控方法及相关设备,应用于终端技术领域,游戏场景中,电子设备可将从屏幕底部向上滑动的触控操作对应的事件分发给游戏应用,可减少游戏应用中的断触问题。

第一方面,本申请实施例提出一种触控方法。该方法包括:在第一时刻,电子设备在第一窗口显示第一画面和第一控件,第一画面处于全屏状态;在第二时刻,电子设备在第一区域中接收到第一操作;响应于第一操作,电子设备将第一输入事件分别分发至第一应用和手势导航模块;第一输入事件为第一操作对应的输入事件;手势导航模块用于管理第一区域中接收到的手势相关事件,第一窗口为第一应用的窗口,第一应用不包括手势导航模块;电子设备在第一窗口显示第二画面和第一控件,第二画面为第一应用响应于在第一画面中对第一控件的触发得到的画面,第二画面与第一画面不同;第一时刻早于第二时刻。这样,可减少用户在游戏场景中,误触发手势导航窗口导致的断触问题,从而提升用户的游戏体验。

在一种可能的实现方式中,还包括:在第一应用启动后,手势导航模块指示第一信息,第一信息用于指示电子设备接收到在第一区域中的第一输入事件时,将第一输入事件分别分发至第一应用和手势导航模块。这样,电子设备在得到第一信号后,才能够执行将input事件双发给游戏应用和手势导航模块的流程。

在一种可能的实现方式中,在第一应用启动后,手势导航模块指示第一信息,包括:在第一应用启动后,若第一应用在预设的应用名单中,电子设备向手势导航模块指示第一指令;则手势导航模块根据第一指令指示第一信息。这样,电子设备可通过白名单判定当前游戏应用能否适用于将input事件分发至游戏应用和手势导航模块的方法,从而提升方案的准确度。

在一种可能的实现方式中,响应于第一操作,电子设备将第一输入事件分别分发至第一应用和手势导航模块,包括:当第一操作的按下down点所处的窗口名称为第二窗口时,电子设备将第一输入事件分别分发至手势导航模块和第一应用;其中,第二窗口为手势导航模块管理的窗口;第二窗口位于第一窗口的上层,第二窗口小于第一窗口,且第二窗口覆盖第一区域。这样,在电子设备将手势导航区域设置为input事件双发区域后,电子设备在将down点在手势导航窗口的输入事件分别分发至游戏应用和手势导航模块,以减少游戏过程中的断触问题,提升用户的游戏体验。

一种可能的实现方式中,第二窗口的尺寸与第一区域的尺寸相同,且第一窗口的宽度与第二窗口相同,第一窗口的高度小于第二窗口。这样,可实现第一区域覆盖手势导航窗口的效果,以确保针对手势导航窗口中的触发操作均落在第一区域中。

一种可能的实现方式中,电子设备在第一窗口显示第二画面和第一控件之后,还包括:在第三时刻,电子设备在第二区域中接收到第二操作;其中,第二区域是第一区域中的一部分;第二时刻早于第三时刻,第三时刻与第二时刻之间的时间差小于时间阈值;响应于第二操作,电子设备将第二输入事件分发至手势导航模块,且不分发至第一应用;第二输入事件为第二操作对应的输入事件;电子设备显示桌面,且电子设备后台运行第一应用。这样,可避免游戏应用误响应第二次上滑操作,减少问题场景的出现。

一种可能的实现方式中,第二区域的高度与第一区域相同,且第二区域位于第一区域的中间位置。这样,可沿用原生返回桌面的场景,用户能够习惯性从中部上滑,使得电子设备返回桌面,不会影响用户操作。

一种可能的实现方式中,还包括:在第一应用启动后,电子设备向桌面应用指示第二指令;桌面应用监听到第一输入事件;桌面应用向手势导航模块指示第二信息,第二信息用于指示创建第三窗口;其中,第二信息包括下述至少一项:第三窗口的透明度格式、第三窗口的标题、第三窗口的位置、第三窗口的高度和第三窗口的宽度;其中,第三窗口的透明度格式为用户不可见;第三窗口位于第二窗口的上层,第三窗口小于第二窗口,且第三窗口覆盖第二区域;电子设备在从第二时刻起的时间阈值内在第二窗口上层覆盖第三窗口。这样,在电子设备在第一区域接收到第一操作后,电子设备可创建第三窗口,以使用户执行第二操作控制电子设备返回桌面时,游戏应用不响应第二输入事件,减少问题场景,提升用户的游戏体验。

一种可能的实现方式中,第三窗口与第二窗口的中心位置重合,第三窗口的宽度小于第二窗口的宽度,第三窗口的高度等于第二窗口的高度。这样,在游戏过程中,用户可通过在中间位置的第二次上滑操作控制电子设备返回桌面,提升用户的游戏体验。

一种可能的实现方式中,响应于第二操作,电子设备将第二输入事件分发至手势导航模块,且不分发至第一应用,包括:当第二操作的down点所处的窗口名称为第三窗口的标题时,电子设备将第二输入事件分发至手势导航模块,且不分发至第一应用。这样,电子设备可在接收到第二次上滑操作时,返回桌面,且游戏应用不响应上滑操作,以减少问题场景,提升用户的游戏体验。

一种可能的实现方式中,还包括:响应于第一操作,电子设备还显示导航栏和提示信息;导航栏用于指示第二区域的位置,提示信息用于提示用户在第二区域中执行第二操作能够使得电子设备显示桌面。这样,用户可通过文字直观了解到返回桌面的相应操作,提升用户的使用体验。

一种可能的实现方式中,当提示信息的显示次数达到预设次数时,桌面应用不再显示提示信息。这样,用户在了解该功能后,电子设备不再显示提示信息,可提升界面的简洁度和美观性。

一种可能的实现方式中,导航栏和提示信息均是桌面应用控制显示的。这样,电子设备可通过桌面应用控制导航栏的显示和隐藏,以及控制提示信息的显示和隐藏。

一种可能的实现方式中,还包括:在第四时刻,电子设备在第一窗口显示第三画面和第一控件;在第五时刻,电子设备在第一区域中接收到第三操作;响应于第三操作,电子设备将第三输入事件分别分发至第一应用和手势导航模块;第三输入事件为第三操作对应的输入事件;电子设备在第一应用的窗口中显示第四画面和第一控件,第四画面为第一应用响应于在第三画面中对第一控件的触发得到的画面,第四画面与第三画面不同;第五时刻早于第四时刻;第六时刻,电子设备在第二区域中接收到第四操作;响应于第四操作,电子设备将第四输入事件分别分发至手势导航模块和第一应用;第四输入事件为第四操作对应的输入事件;第五时刻早于第六时刻,且第五时刻与第六时刻之间的时间差大于时间阈值。这样,可减少电子设备误响应返回桌面的场景。

一种可能的实现方式中,还包括:电子设备在从第四时刻起的时间阈值内在第二窗口上层覆盖第三窗口;电子设备在从第四时刻起的时间阈值之后去除第三窗口。这样,可减少电子设备误响应返回桌面的场景。

一种可能的实现方式中,还包括:在第七时刻,电子设备在第二应用的窗口显示第五画面,第五画面处于全屏状态;第六时刻早于第七时刻;第二应用不在预设的应用名单中;在第八时刻,电子设备在第一区域中接收到第五操作;响应于第五操作,电子设备将第五输入事件分发至手势导航模块;第五输入事件为第五操作对应的输入事件;电子设备显示桌面;第七时刻早于第八时刻。这样,当电子设备未运行白名单中的游戏应用时,电子设备不执行input事件双发逻辑,提升本申请实施例中触控方法的准确性。

第二方面,本申请实施例提供一种电子设备,电子设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。电子设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)电子设备、增强现实(augmented reality,AR)电子设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。

该电子设备包括:包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得电子设备执行如第一方面的方法。

第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现如第一方面的方法。

第四方面,本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面的方法。

第五方面,本申请实施例提供了一种芯片,芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行如第一方面所述的方法。

应当理解的是,本申请的第二方面至第五方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。

附图说明

图1为可能的实现中的一种游戏场景;

图2为可能的实现中的一种游戏场景;

图3为本申请实施例提供的一种电子设备100的结构示意图;

图4为本申请实施例提供的一种电子设备100的软件结构示意图;

图5A为本申请实施例提供的一种触控方法的界面示意图;

图5B为本申请实施例提供的一种触控方法的界面示意图;

图6为本申请实施例中的一种问题场景;

图7为本申请实施例提供的另一种触控方法的界面示意图;

图8为本申请实施例提供的一种触控场景的原理示意图;

图9为本申请实施例提供的另一种触控场景的原理示意图;

图10为本申请实施例提供的一种触控方法的流程示意图;

图11为本申请实施例提供的一种触控方法的流程示意图;

图12为本申请实施例提供的一种非游戏场景的界面示意图;

图13为本申请实施例提供的一种触控装置的结构示意图。

具体实施方式

为了便于清楚描述本申请实施例的技术方案,以下,对本申请实施例中所涉及的部分术语和技术进行简单介绍:

本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。

需要说明的是,本申请实施例中的“在……时”,可以为在某种情况发生的瞬时,也可以为在某种情况发生后的一段时间内,本申请实施例对此不作具体限定。此外,本申请实施例提供的显示界面仅作为示例,显示界面还可以包括更多或更少的内容。

电子设备可支持游戏应用;例如,游戏应用可包括MOBA游戏。这类游戏往往对操作要求的实时性较强,例如,在接收到用户点击技能或滑动轮盘的触发操作时,电子设备需要实时的执行游戏中的攻击、位移和跑动等游戏操作。

但可能的实现中,电子设备可能会出现接收到用户操作,但无法响应游戏操作的场景,影响用户的游戏体验。

以电子设备是手机为例,图1示出了可能的实现中的一种游戏场景。电子设备前台运行有游戏应用,且电子设备处于横屏状态。电子设备显示游戏界面,游戏界面可包括轮盘和技能图标。用户的双手持在电子设备的两端,其中左手手指可操控轮盘以控制游戏角色进行移动,右手手指可点击技能图标以控制游戏角色施放技能。在上述场景中可能存在电子设备不响应用户操作的问题:

例如,用户的左手手指从电子设备的底部上滑,以控制轮盘向上移动,电子设备显示如图2中的a所示界面。电子设备的底部显示有bar,且电子设备不响应游戏操作,例如,电子设备所显示的游戏界面中,游戏角色不会向上移动,出现断触问题。

这是因为,可能的实现中,电子设备的底部设置有手势导航窗口,当手指的落点位于手势导航窗口所在的区域时,电子设备可呼出手势导航窗口。手势导航窗口可如图2中的b界面中的虚线框所示区域;落点可如图2中的b界面中的圆圈所示,落点可以理解为用户手指第一次点击触摸屏且手指未发生移动的位置(按下(down)坐标)。如图2中的b所示,用户手指的落点在手势导航窗口;手势导航窗口会拦截该次用户操作对应的事件。也就是说,用户操作所对应的事件无法被上报至游戏应用,所以,游戏应用不会对该用户操作进行响应,从而出现游戏断触的问题。

可以理解的是,电子设备中,轮盘的底部与手势导航窗口也能存在部分重叠,或轮盘的底部边缘与手势导航窗口的上边缘距离很近,导致用户手指在轮盘中向上滑动时,可能点击到手势导航窗口所处区域,从而出现上述游戏断触的场景。

有鉴于此,本申请实施例提供了一种触控方法,当电子设备前台运行游戏应用,且用户操作的落点在手势导航窗口所处区域时,电子设备可将用户操作所对应的事件分别分发给手势导航窗口和游戏应用,游戏应用可基于该事件响应用户操作,并显示相应的游戏界面;例如,用户执行从电子设备的底部上滑轮盘的操作,电子设备可控制游戏角色向上移动,减少操作过程中的断触问题。

本申请实施例中,电子设备也可称为终端设备。本申请实施例的电子设备也可以为任意形式的电子设备,例如,电子设备可以包括手持式设备、车载设备等。例如,一些电子设备为:手机(mobile phone)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(mobileinternet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、用户设备(userequipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、终端、无线通信设备、用户代理或用户装置蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personaldigital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此并不限定。

作为示例而非限定,在本申请实施例中,该电子设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。

此外,在本申请实施例中,电子设备还可以是物联网(internet of things,IoT)系统中的终端设备,IoT是未来信息技术发展的重要组成部分,其主要技术特点是将物品通过通信技术与网络连接,从而实现人机互连,物物互连的智能化网络。

在本申请实施例中,电子设备或各个网络设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括CPU、内存管理单元(memorymanagement unit,MMU)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。

为了能够更好地理解本申请实施例,下面对本申请实施例的电子设备的结构进行介绍:

图3示出了电子设备100的结构示意图。

电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,触摸屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。

其中,传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。

可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。

在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integratedcircuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。

可以理解的是,本申请实施例示意的各模块间的接口连接关系,是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。

电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。

电子设备100通过GPU,触摸屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接触摸屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

触摸屏194用于显示图像,视频等。触摸屏194包括显示面板。显示面板可以采用液晶触摸屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个触摸屏194,N为大于1的正整数。

电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,触摸屏194以及应用处理器等实现拍摄功能。

内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。

电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。

示例性的,电子设备100还可以包括按键190、马达191、指示器192、SIM卡接口195(eSIM卡)等一项或多项。

电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构,等。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。

图4是本申请实施例的终端设备100的软件结构框图。

分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。

应用程序层可以包括一系列应用程序包。

如图4所示,应用程序包可以包括相机,日历,地图,游戏,设置,邮箱,视频和桌面等应用程序。

应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。

如图4所示,应用程序框架层可以包括窗口管理器,资源管理器,视图系统,通知管理器,活动管理器,手势导航模块,输入框架和游戏框架等。

窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,触摸屏幕,拖拽屏幕,截取屏幕等。

手势导航模块,用于根据用户的手势操作实现返回上一级菜单、返回桌面、进入多任务、结束单个任务、和打开侧滑功能等。本申请实施例中,手势导航模块可用于管理底部导航栏。

输入(input)框架可用于监听触发操作对应的input事件,以及管理input事件的分发。

游戏框架用于监听电子设备是否进入游戏模式,当电子设备启动游戏应用后,游戏框架可通知相关模块进入相应的游戏模式,以使相关模块的功能能够适配当前的游戏场景。

视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。

资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。

通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。

活动管理器用于负责管理应用的活动(activity)的启动、状态、生命周期等与activity相关的事务。其中,activity是一个应用程序组件,可以提供一个界面,以供用户通过该界面与终端设备进行交互,从而完成某项任务。

Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。

核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。

应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。

系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。

表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。

媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。

三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。

2D图形引擎是2D绘图的绘图引擎。

内核层是硬件和软件之间的层。内核层可以包含显示驱动,摄像头驱动,音频驱动,传感器驱动等。

下面结合图5A对本申请实施例中的触控方法所适用的场景进行说明,如图5A所示。

示例性的,电子设备前台运行游戏应用,如图5A中的a所示界面,电子设备显示游戏窗口;该游戏窗口中包括方向键区域501、游戏角色502和游戏技能施放区域503,游戏窗口的规格可与触控屏的规格相同。

其中,方向键区域501也可称为“轮盘”,方向键区域501可包括向上按键图标、向下按键图标、向左按键图标、和向右按键图标。方向键区域501可以用于接收作用于该区域的触发操作,响应于该触发操作,电子设备可以显示出游戏角色502在相应方向上的移动。例如,电子设备在方向键区域501中接收到向上滑动的触发操作,电子设备显示游戏角色502向上移动。游戏角色502是在游戏应用中所操作的主体。电子设备可以响应于针对上述方向键区域501的触发操作,控制该游戏角色502可以在游戏窗口中移动。游戏技能施放区域503可包括一个或多个游戏技能功能按键(例如,“攻击”按键、“恢复”按键等等)。电子设备可以接收到作用于该一个或多个游戏技能功能按键上的触发操作(例如,点击操作或滑动操作),响应于该触发操作,电子设备可以显示出游戏角色施放相应技能的游戏画面。

在图5A中的a所示界面中,用户可通过在方向键区域501向上滑动,以控制游戏角色502向上移动。其中,向上滑动的触发操作可对应于按下操作及移动操作两个阶段。

一种可能的实现方式中,用户移动手指控制游戏角色移动过程可如下所示:

1)用户手指在电子设备的方向键区域进行按下操作。用户手指在触摸屏上的触控点可以为第一触控点(down点),第一触控点位于手势导航窗口中。电子设备的游戏窗口和手势导航窗口均响应该按下操作。

2)用户手指在电子设备的方向键区域进行滑动操作。用户手指在触摸屏上的触控点可以为第二触控点,第二触控点可以位于方向键区域。电子设备的游戏窗口和手势导航窗口均响应该滑动操作。

具体的,场景1)可以为一个短暂的过程,例如,在图5A中的b所示界面中,用户在方向键区域501中进行按下操作,电子设备可显示辅助操作图标504,以及手势导航窗口505。

其中,辅助操作图标504可用于显示用户手指在方向键区域501中的触控点,例如,辅助操作图标504的显示位置与第一触控点对应。虚线框区域可以为手势导航窗口505,手势导航窗口可以为用户不可见的窗口,也可以为设置有颜色、样式的窗口,本申请实施例对此不做限制。

可以理解的是,第一触控点位于手势导航窗口所在区域时,电子设备可以呼出手势导航窗口505,同时,电子设备也可响应第一触控点对应的事件,将辅助操作图标504显示到第一触控点对应的位置上。由于此时用户只进行点击操作,未控制辅助操作图标504移动,所以这时,游戏角色502在游戏画面中的位置未发生变化。

场景2)可如图5A中的c界面所示,用户手指在方向键区域501中进行上滑操作,电子设备可显示辅助操作图标504,和手势导航窗口505。

其中,辅助操作图标504的显示位置与第二触控点对应;可以看出,第二触控点相对于第一触控点进行了上移,电子设备可响应上滑操作,控制游戏角色502向上移动。

需要说明的是,游戏角色502移动可以是相对于游戏画面中的背景进行上移,但游戏角色502在游戏窗口中的位置不变;游戏角色502移动也可以是相对于游戏窗口发生上移。本申请实施例对电子设备响应滑动操作的方式不做限制。

可选的,电子设备可显示手势导航窗口505。

一种可能的实现方式中,电子设备在呼出手势导航窗口505后,在预设时间内,电子设备可显示手势导航窗口505,超过预设时间后,电子设备隐藏手势导航窗口505。当用户手指移动到第二触控点,且距离电子设备接收到第一触控点的时间未超过预设时间时,电子设备可显示手势导航窗口505,如图5A中的c所示;当用户手指移动到第二触控点,且距离电子设备接收到第一触控点的时间超过预设时间时,电子设备可不显示手势导航窗口505(图5A中未示出)。

需要说明的是,本申请实施例以用户操作左侧的方向键区域为例,对触发操作的第一触控点位于手势导航区域时,电子设备的游戏窗口和手势导航窗口同时响应触发操作的场景进行了说明。本申请实施例中,方向键区域也可以处于游戏窗口的右侧。

或者,第一触控点所触发的按键也可以是与手势导航区域存在部分重叠或距离相近的其他按键,例如,游戏技能施放区域503中包括技能攻击按键506,当用户以轮盘滑动的方式触发技能攻击按键506,且第一触控点位于手势导航区域时,电子设备的游戏窗口和手势导航窗口同时响应,电子设备显示手势导航窗口和施放技能的游戏画面。又例如,一些3D游戏界面中,还可包括视角移动的按键,比如,在第一人称下,用户可通过方向键区域操控游戏角色移动,通过视角移动区域360度切换游戏角色的视角。本申请实施例对第一触控点所触发的按键不再一一列举。

本申请实施例提供的游戏场景中,当滑动操作的第一触控点位于手势导航窗口中时,电子设备可响应针对游戏窗口中第一触控点对应的控件的触发操作,显示相应的游戏画面;电子设备也可呼出并显示手势导航窗口。这样,可减少用户在游戏场景中,误触发手势导航窗口导致的断触问题,从而提升用户的游戏体验。

一些场景中,用户可执行连续两次上滑操作,使得电子设备回到桌面。如图5B所示:

示例性的,在图5B的a所示界面中,电子设备接收到从屏幕底部向上滑动的触发操作。响应于该触发操作,电子设备呼出手势导航窗口505,如图5B中的b界面所示;其中,手势导航窗口505可以为用户不可见,也可以为设置有颜色的窗口。

在图5B中的b所示界面中,电子设备再次接收到从屏幕底部向上滑动的触发操作。响应于该触发操作,电子设备显示桌面,如图5B中的c界面所示。

在图5B中的c所示界面中,电子设备显示有游戏应用的图标508,当电子设备接收到针对游戏应用的图标508的触发操作时,电子设备显示如图5B中的d所示界面。

具体的,在第一次上滑过程中,电子设备可将第一次上滑操作对应的事件分别发送给游戏应用和手势导航模块。手势导航模块呼出手势导航窗口,在该过程中,由于游戏窗口中没有与第一次上滑操作的触控点对应的控件,所以游戏应用接收该事件,但游戏画面未发生变化(例如,图5B中的a界面与图5B中的b界面中,游戏画面一致)。或者,若游戏窗口中存在与第一次上滑操作的触控点对应的控件,则响应于针对该控件的触发操作,游戏画面发生变化(例如,图5A中的a界面与图5B中的c界面中,游戏画面不同)。

在第二次上滑过程中,电子设备可将第二次上滑操作对应的事件分别发送给游戏应用和手势导航模块。第二次上滑操作对应的事件可以为取消(cancel)事件,手势导航窗口接收到cancel事件后,电子设备可返回到桌面。游戏应用接收到cancel事件后,游戏应用显示的游戏画面未发生变化(例如,在电子设备将游戏应用切换至后台再切回到前台时,图5B中的b界面与图5B中的d界面中,游戏画面未发生变化)。

可以理解的是,第二次上滑过程中,第二次上滑操作的触控点可对应游戏窗口中的“回城”控件507,“回城”控件可响应于按下(down)事件,不响应于move事件或cancel事件,因此虽然游戏应用接收到第二次上滑操作对应的事件,但游戏画面未发生变化。

以上实施例提供了一种从游戏场景退回到桌面的场景。需要说明的是,部分游戏本身的游戏机制,使得该游戏应用会将cancel事件识别为down事件,导致第二次上滑过程中,游戏应用误触发“回城”控件。示例性的,当触发操作的触控点位于手势导航区域时,电子设备的游戏窗口和手势导航窗口均可以响应触发操作。对于部分游戏应用来说,在从游戏窗口退回到桌面时,游戏窗口和手势导航窗口同时响应的方式可能存在一些问题。部分游戏应用可将cancel事件识别为按下(down)事件,也就是说,当电子设备接收到上滑操作退回到桌面时,游戏窗口可将该操作识别为down事件,游戏窗口响应该操作,误触发游戏窗口中down点对应的游戏按键。当电子设备将游戏应用从后台切换至前台时,电子设备所显示的界面可能与切换至后台之前的游戏画面不同。

具体的,上述问题场景可如图6所示:

在图6中的a所示界面中,电子设备可显示游戏窗口。该界面中,游戏窗口中包括游戏角色601,当电子设备接收到第一次上滑操作时,电子设备显示如图6中的b所示界面。

在图6中的b所示界面中,手势导航模块接收到第一次上滑操作的事件后,呼出手势导航窗口602。游戏应用接收到第一次上滑操作的事件后,由于第一次上滑操作的触控点处没有游戏按键,所以游戏应用显示的游戏画面未发生变化。图6中的b所示界面还包括“回城”控件603。当电子设备接收到第二次上滑操作时,电子设备显示如图6中的c所示界面。图6中的c所示界面可以为桌面,电子设备后台运行游戏应用。在第二次上滑操作的过程中,电子设备可向手势导航模块和游戏应用分别发送cancel事件,其中,手势导航模块响应于cancel事件,以控制电子设备显示桌面;游戏应用将cancel事件识别为down事件,游戏应用响应于down事件,以控制游戏角色601执行回城操作,游戏角色601的位置发生变化。

需要说明的是,尽管在图6中的c界面中,电子设备后台运行游戏应用,但游戏应用已响应第二次上滑操作,游戏画面发生变化。其中,桌面中显示有游戏应用的图标604。当电子设备接收到针对游戏应用的图标604的触发操作,或基于多窗口界面返回游戏窗口时,电子设备可显示如图6中的d所示界面。

在图6中的d所示界面中,电子设备可显示游戏窗口的游戏画面,其中,该游戏画面为游戏应用响应于在图6中的b界面中对“回城”控件603的触发得到的画面。例如,“回城”控件603被触发后,“回城”控件603的图标处于灰色状态。

可以看出,图6中的b所示界面与图6中的d所示界面不同。可以理解的是,在一些场景中,电子设备短暂后台运行游戏应用,随后电子设备再次进入游戏应用,用户可能不希望游戏画面出现变化。例如,用户在游戏过程中接收到微信消息,用户通过连续上滑两次的操作,使电子设备返回到桌面;用户在回复消息后,重新进入游戏应用时,可能出现部分技能处于冷却中的场景,这将影响用户的游戏体验。

针对上面的问题,本申请实施例提供了一种退出游戏应用的场景,图7示出了本申请实施例提供的一种触控方法的界面示意图,如图7所示:

电子设备可显示游戏窗口的游戏画面,如图7中的a所示界面;其中,游戏画面中包括游戏角色701。当电子设备接收向上滑动的触发操作时,电子设备可进入如图7中的b所示界面。其中,第一次向上滑动的触发操作可以为用户手指从屏幕底部任一位置向上滑动的触发操作,例如,屏幕底部任一位置可对应于图7中的a所示界面中屏幕底部左侧的位置,也可以为是屏幕底部居中、或屏幕底部右侧;本申请实施例对此不作限制。

在图7中的b所示界面中,电子设备可显示手势导航窗口702和提示信息703,其中,手势导航窗口702中可显示导航栏(bar)705,bar 705的形式可以为屏幕底部居中显示的横条;提示信息703可用户提醒用户再次上滑可进入桌面;例如,提示信息703包括提示文字:中间再次上滑。当电子设备再次接收到向上滑动的触发操作时,电子设备可进入如图7中的c所示界面。其中,第二次向上滑动的触发操作可以为用户手指从屏幕底部的中间区域向上滑动的触发操作,可选的,第二次向上滑动的触发操作的触控点可能对应有游戏按键,例如,“回城”控件704。

在图7中的c所示界面中,电子设备可显示桌面,且电子设备后台运行游戏应用。桌面中包括游戏应用的图标706,当电子设备接收到针对游戏应用的图标706的触发操作时,电子设备可进入如图7中的d所示界面。

图7中的d所示界面与图7中的a所示界面的游戏画面相同,说明电子设备在接收到第二次向上滑动的触发操作时,电子设备的游戏窗口实际上并未基于触发操作触发“回城”控件,“回城”按键未处于冷却状态。这使得游戏应用切换到后台至返回到前台的过程中,游戏画面保持一致,可提升用户的游戏体验。

需要说明的是,电子设备接收到第二次触发操作的过程中,电子设备可将触发操作对应到cancel事件传到手势导航模块,以及不将触发操作对应到cancel事件传到游戏应用,这样,游戏应用在未接收到cancel事件的前提下,游戏应用不会误识别到down事件,也不会误触发第二次触发操作的落点所对应的游戏窗口中的游戏按键,避免游戏画面发生变化。

以上实施例对本申请实施例提供的触控方法的使用场景进行了说明,下面分别对实现图5A所示场景的原理和实现图7所示场景的原理进行说明。

图8为图5A所示场景对应的原理示意图。如图8所示:

在图8所示的界面中,电子设备显示有手势导航窗口和游戏窗口802;其中,手势导航窗口所处区域为手势导航区域801;游戏窗口802所处区域包括手势导航区域801和用于显示游戏画面的区域803,游戏窗口802的图层可位于手势导航窗口的下层。当电子设备接收到在手势导航区域801的触发操作时,电子设备可将该触发操作对应输入(input)事件分别分发到游戏应用和手势导航模块,以使游戏窗口802和手势导航窗口均响应input事件。这里,手势导航区域可理解为input事件双发区域,用于显示游戏画面的区域803可理解为input事件单发区域。

其中,input事件多发可以为电子设备将input事件分发给触控点所在的全部窗口对应的模块,例如,本申请实施例中,input事件双发可以为电子设备将input事件分发给游戏应用和手势导航模块。input事件单发可以为电子设备将input事件分发给触控点所在区域的最上层窗口对应的模块,例如,触控点在手势导航窗口与游戏窗口重叠的区域,电子设备将input事件发送给上层的手势导航窗口对应的手势导航模块,且不发送给下层的游戏窗口对应的游戏应用。

游戏场景下,当电子设备在手势导航区域801中接收到单次上滑操作时,该操作可能是用户操控轮盘或技能按键进行游戏对战时误触发手势导航窗口。所以,电子设备的手势导航窗口和游戏窗口均可进行响应,实现input事件双发,从而不影响游戏场景的连贯性。当电子设备在用于显示游戏画面的区域803接收到触发操作时,电子设备基于常规流程将input事件分发至游戏窗口,且不分发至手势导航窗口。

而在退出游戏或后台运行游戏的场景中,用户需要短时间内执行两次上滑操作,以使电子设备返回到桌面。若手势导航区域始终为input事件双发区域,则对于部分游戏应用来说,可能出现如图6所示的问题场景。针对图6所示的问题场景,本申请实施例提供了图7所示的解决场景。图9为图7所示场景的原理示意图,如图9所示:

需要说明的是,用户在手势导航区域执行单次滑动操作,该操作可能是用户的误操作;而用户短时间内在手势导航区域执行两次上滑操作,则表明用户存在退出游戏或退回桌面的交互意图。

为了不影响用户在退出游戏应用和/或退回桌面过程中的使用体验,本申请实施例提供了下述场景:

在启动游戏应用后,电子设备可设置input事件双发区域,如图8中的手势导航区域801。

在游戏过程中,电子设备在手势导航区域接收到第一次上滑操作,电子设备显示手势导航窗口,以及响应于该上滑操作的游戏窗口,游戏画面发生变化。同时,电子设备在手势导航区域设置input事件双发区域和input事件单发区域,其中,input事件双发区域可对应于图9中的input事件双发区域901(图9中灰色区域),input事件单发区域可对应于图9中的input事件单发区域902(图9中黑色区域),input事件单发区域902居中。input事件单发区域902的窗口位于input事件双发区域的窗口的上层901。

在时间阈值(例如,3秒)内,电子设备在input事件单发区域902接收到第二次上滑操作,电子设备将第二次上滑操作对应的input事件分发给手势导航模块,且不分发给游戏应用。这样,第二次上滑操作不会造成如图6所示的问题场景。时间阈值可理解为电子设备设置input事件单发区域902的时间,超过该时间,电子设备删除input事件单发区域902。

需要说明的是,游戏场景中,原生返回桌面的场景为:第一次从屏幕底部上滑,短时间内,第二次从屏幕底部居中位置上滑。本申请实施例所提供的返回桌面的场景与原生返回桌面的场景相同,所以,本申请实施例中,用户可使用习惯性动作控制电子设备返回桌面,不会由于场景变化影响用户操作。

或者,在时间阈值内,电子设备在input事件双发区域901接收到第二次上滑操作,电子设备将第二次上滑操作对应的input事件分发给手势导航窗口和游戏窗口。这样,可减少用户误操作导致的游戏断触问题。

需要说明的是,在实际应用场景中,对于MOBA类的手机游戏,用户往往采用如图1场景中所示的手势,双手分别通过拇指触控轮盘和技能按键,对应的游戏对战场景中,轮盘和技能按键往往设置在横屏状态下手机的左右两侧。所以原生游戏场景中,电子设备在左右两侧接收到第二次上滑操作时,电子设备不会返回桌面。本申请实施例可沿用原生游戏场景,手势导航窗口接收第二次上滑操作对应的input事件,且不返回桌面。但由于本申请实施例中手势导航区域的左右两侧为input事件双发区域,游戏窗口可响应第二次上滑操作,游戏画面发生变化。

或者,超过时间阈值后,电子设备删除input事件单发区域902,电子设备恢复为如图8所示的input事件发送模式。这时,电子设备在手势导航区域中任一位置接收到第二上滑操作,电子设备分别将第二上滑操作对应的input事件分发给游戏窗口和手势导航窗口。

以上实施例对input事件单发区域、input事件双发区域的设置场景和原理进行了说明,下面结合图10对电子设备中软件模块之间的交互流程进行说明。

图10示出了本申请实施例提供的一种触控方法的流程示意图,如图10所示:

电子设备可包括应用程序层的模块和应用程序框架层的模块。

应用程序层可包括:桌面应用(也称为launcher)和游戏应用。

应用程序框架层可包括:input框架、游戏框架、手势导航模块和窗口管理器。

S1001、在电子设备开机时,桌面应用向input框架下发input事件监听。

电子设备在开机后,可向input框架下发input事件监听,后续桌面应用可监听到input框架的输入事件。

S1002、电子设备接收用于启动游戏应用的操作,电子设备启动游戏应用。

游戏应用可包括横屏游戏和竖屏游戏。在本申请实施例中,由于横屏游戏中的游戏按键的布局容易造成断触问题(如图1和图2所示),所以本申请实施例以横屏游戏的应用场景为例。但该场景并不造成对本申请实施例的触控方法的限制,例如,当游戏应用为竖屏游戏,且游戏场景中存在误触发手势导航窗口导致的断触场景时,电子设备也可采用本申请实施例的触控方法。

当电子设备接收到用户针对游戏应用的图标的触发操作时,电子设备启动游戏应用并显示游戏应用的首页。

S1003、游戏框架查询白名单,并判定白名单中是否包括游戏应用。

白名单中可以为能够适用于input事件双发场景的游戏应用列表。例如,白名单可以为双发游戏列表(double send game list)。电子设备可开启任一游戏应用,游戏框架在确定电子设备已启动游戏应用后,游戏框架可根据白名单判断该游戏应用是否适用于本申请实施例提供的触控方法。

白名单中包括游戏应用的信息,例如,游戏应用的信息可以为游戏应用的包名(package name)。一种可能的实现方式中,游戏框架获取当前的焦点窗口的包名,若焦点窗口的包名在白名单中,则焦点窗口所显示应用为能够用于input事件双发的游戏应用,电子设备继续执行步骤S1004。

可选的,在白名单的基础上,游戏框架还可判断游戏应用是否处于前台。

可以理解的是,电子设备前台运行游戏应用时,用户可操作游戏画面;而电子设备处于后台运行时,用户无法通过实质性操作控制游戏画面。所以,游戏框架在执行本申请实施例提供的触控方法时,还可判断游戏应用是否处于前台。

具体的,若游戏框架监听到游戏应用在游戏前景(game foreground)时,游戏框架确定游戏应用在前台运行,则电子设备可继续执行后续步骤;若游戏框架监听到游戏应用在游戏背景(game background)时,游戏框架确定游戏应用在后台运行,则电子设备不再执行后续步骤。

S1004、游戏框架将第一指令通知到手势导航模块。

第一指令可用于指示手势导航模块,电子设备前台运行白名单中的游戏应用;当游戏框架监听到游戏应用在白名单中,且前台运行时,游戏框架向手势导航模块下发第一指令,以指示手势导航模块进入第一游戏模式。

S1005、游戏框架将第二指令通知到桌面应用。

第二指令可用于指示桌面应用,电子设备前台运行白名单中的游戏应用;当游戏框架监听到游戏应用在白名单中,且前台运行时,游戏框架向游戏应用下发第二指令,以指示游戏应用进入第二游戏模式。

S1006、手势导航模块基于第一指令进入第一游戏模式。

第一游戏模式对应于电子设备启动游戏应用后,手势导航模块所处的模式。

可以理解的是,当电子设备前台运行游戏应用时,手势导航模块也需要切换到手势导航模块的游戏模式,以使手势导航窗口适配游戏场景,执行游戏场景下的相应流程。例如,第一游戏模式下,手势导航模块可执行步骤S1008、S1010、S1013、S1014和S1016等。

S1007、桌面应用基于第二指令进入第二游戏模式。

第二游戏模式可对应于电子设备启动游戏应用后,桌面应用所处的模式。当电子设备前台运行游戏应用时,桌面应用也需要切换到桌面的游戏模式,以使桌面应用适配游戏场景,执行游戏场景下的相应流程。例如,第二游戏模式下,桌面应用可执行本申请实施例中的步骤S1013和S1014。

S1008、手势导航模块将第一信息通知到input框架。

第一信息用于指示input框架接收到在手势导航区域中的input事件时,将该input事件分别分发至游戏应用和手势导航模块。

可以理解的是,步骤S1008可理解为:手势导航模块指示input框架将手势导航区域设置为input事件双发区域。input事件双发区域可对应于图8中的input事件双发区域801。其中,input事件双发区域的大小可与手势导航窗口的大小一致。

可以理解的是,原生的手势导航区域为input事件单发区域,input框架在监听到手势导航区域中的input事件时,只会将input事件上报至手势导航窗口。在步骤S1008中,手势导航区域被开发为input事件双发区域,后续,input框架在监听到手势导航区域中的input事件时,将input事件同时分发至手势导航模块和游戏应用。

需要说明的是,本申请实施例中,input事件双发区域和input事件单发区域可以为不同大小的热区(或窗口)。窗口本身不涉及input事件单发或双发的功能,在实际应用中,input框架会根据触发操作所在的区域执行对应的流程;例如,当触发操作在input事件双发区域的热区时,input框架可执行向游戏应用和手势导航模块分别发送input事件的流程;当触发操作在input事件单发区域的热区时,input框架可执行向手势导航模块发送input事件的流程。

S1009、当电子设备接收到第一触发操作时,input框架得到第一触发操作对应的触控点在input事件双发区域。

第一触发操作可对应于图5A中的按下并上滑的操作,第一触发操作对应的触控点可对应于用户手指按下时的触控点(例如,图5A中的b所示界面中的第一触控点(down点))。

可以理解的是,步骤S1009中,触控屏可包括两个区域,如图8所示,一个区域为用于显示游戏画面的区域803,一个区域为手势导航区域801,其中,用于显示游戏画面的区域803对应于input事件单发区域,手势导航区域801对应于input事件双发区域。若第一触发操作对应的触控点在input事件单发区域,则电子设备不会执行input事件双发的逻辑。

一种可能的实现方式中,input框架可根据触控点所处区域的窗口名称判定该触控点是否在input事件双发区域。示例性的,当input框架监听到触控点所处窗口的窗口名称为手势导航窗口的名称时,电子设备可执行步骤S1010。

S1010、input框架将第一触发操作对应的input事件分发至手势导航模块。

第一触发操作对应的input事件可包括down事件、move事件和/或up事件等。input框架在监听到input事件时,可将input事件分发至手势导航模块。

具体的,当手势导航模块接收到input事件后,手势导航模块可拦截该input事件(与原生流程相同),将该input事件处理掉。

S1011、input框架将第一触发操作对应的input事件分发至游戏应用。

第一触发操作对应的input事件可包括down事件、move事件和/或up事件等。input框架在监听到input事件时,可将input事件分发至游戏应用。

具体的,当游戏应用接收到input事件后,游戏应用响应第一触发操作,执行与第一触发操作对应的流程。例如,在图5A中的c所示界面中,电子设备接收到向上滑动的触发操作,电子设备能够控制游戏角色向上移动。

需要说明的是,本申请实施例对步骤S1010和步骤S1011的顺序不做限制。电子设备可先执行步骤S1010后执行步骤S1011,也可先执行步骤S1011后执行步骤S1010。

S1012、桌面应用监听到input框架中的第一触发操作对应的input事件。

在步骤S1001中,桌面应用向input框架下发input事件监听。在步骤S1012中,桌面应用可从input框架监听到第一触发操作对应的input事件。

S1013、桌面应用控制显示提示信息和bar。

bar可对应于图7中的b所示界面中的bar 705,提示信息可对应于图7中的提示信息703。需要说明的是,为便于描述本申请实施例的场景,在图7中介绍了提示信息。但实际操作中,图5A和图5B的界面中也可显示提示信息。本申请实施例对此不作限制。

手势导航模块可根据桌面应用的指令显示或隐藏bar。例如,手势导航模块可根据桌面应用的指令显示bar,电子设备可显示如图7中的b所示界面手势导航窗口702中包括bar 705。

此外,在第二游戏模式下,桌面应用还可显示提示信息。

可选的,电子设备中还可设置呼出提示信息的预设次数,当提示信息的显示次数达到预设次数时,桌面应用不再显示提示信息。例如,每日呼出提示信息的预设次数为3次。

S1014、手势导航模块接收到桌面应用指示的第二信息,并将第二信息通知到窗口管理器。

第二信息可用于指示创建input事件单发区域处的窗口;其中,input事件单发区域可对应于图9中的input事件单发区域902。

第二信息可包括:窗口的透明度格式(fixel format)、标题(title)、位置、高度和宽度等,其中窗口的透明度格式为用户不可见;标题可以为input事件单发区域的窗口名称,标题可以为自定义设置的标题。窗口管理器可根据第二信息创建input事件单发区域的窗口,该窗口所处区域对应于input事件单发区域。

需要说明的是,本申请实施例中,input事件单发区域的窗口、手势导航窗口和游戏窗口的图层的层级关系可以为:input事件单发区域的窗口位于手势导航窗口的上层;且手势导航窗口位于游戏窗口的上层。

窗口管理器基于第二信息创建相应的窗口。

S1015、在时间阈值内,当电子设备接收到第二触发操作时,input框架得到第二触发操作对应的触控点在input事件单发区域。

第二触发操作可对应于图7中的b所示界面中的上滑操作,在图7所示场景中,第二触发操作为第二次上滑操作。

一种可能的实现方式中,input框架可根据触控点所处区域的窗口名称判定该触控点是否在input事件单发区域。示例性的,input事件单发区域的窗口名称可以为第二信息中的窗口的标题,当触控点所处区域的窗口名称为input事件单发区域的窗口的标题时,input框架确定触控点在input事件单发区域。

S1016、input框架将第二触发操作对应的input事件分发至手势导航模块,且不分发至游戏应用。

input事件可包括cancel事件,手势导航窗口接收到cancel事件后,电子设备将游戏应用设置为后台运行,以及电子设备显示桌面,如图7中的c所示。该过程中,游戏应用不会接收到cancel事件,电子设备也不会出现如图6中的问题场景。

或者,S1017、在时间阈值内,当电子设备未接收到第二触发操作时,桌面应用基于手势导航模块指示窗口管理器去除input事件单发区域。

时间阈值可以为3秒,当3秒内电子设备未接收到第二触发操作,窗口管理器可去除input事件单发区域对应的窗口。电子设备可继续执行如图5A中所示的场景。

可选的,S1018、当电子设备后台运行游戏应用退出游戏应用时,手势导航模块指示input框架将手势导航窗口设置为input事件单发区域。

可以理解的是,当电子设备前台未运行游戏应用时,用户无法在操作游戏角色,所以这里可将手势导航窗口恢复为input事件单发区域,以使手势导航窗口能够继续执行原生流程。

在上述实施例的基础上,本申请实施例提供一种触控方法。示例性的,图11为本申请实施例提供的一种触控方法的流程示意图。

如图11所示,该触控方法可以包括如下步骤:

S1101、在第一时刻,电子设备在第一窗口显示第一画面和第一控件,第一画面处于全屏状态。

其中,第一窗口为第一应用的窗口,第一应用可以为游戏应用,第一窗口可以为游戏窗口;第一画面可以为如图5A中的a所示界面中的游戏画面,第一控件可对应于图5A中的a所示界面中的方向键区域501。第一画面处于全屏状态可理解为电子设备全屏显示游戏画面。

S1102、在第二时刻,电子设备在第一区域中接收到第一操作。

其中,第一区域可对应于图5A中的手势导航窗口505所处的手势导航区域,第一操作可对应于图5A中的b界面和图5A中的c界面中的上滑操作。可以理解的是,第一操作可理解为用户执行down操作(对应于5A中的b界面中的操作)后又执行move操作(对应于图5A中的c界面中的操作)。

S1103、响应于第一操作,电子设备将第一输入事件分别分发至第一应用和手势导航模块。

其中,第一输入事件可以为第一操作对应的输入事件;手势导航模块用于管理第一区域中接收到的手势相关事件,第一应用不包括手势导航模块。

这里,第一区域可对应于手势导航区域,在图8中,第一区域可理解为input事件双发区域,当在该区域接收到触发操作时,电子设备会将触发操作对应的输入事件分别分发给游戏应用和手势导航模块。步骤S1103可参考图8中的相关描述,此处不再赘述。

S1104、电子设备在第一窗口显示第二画面和第一控件,第二画面为第一应用响应于在第一画面中对第一控件的触发得到的画面,第二画面与第一画面不同;第一时刻早于第二时刻。

其中,第二画面可对应于图5A中的c所示界面中的游戏画面,第一操作对应于针对方向键区域501的上滑操作。游戏应用响应于在图5A中的a所示界面对方向键区域501的上滑操作,游戏应用显示如图5A中的c所示游戏画面,可以看出,第二画面相对应第一画面,游戏画面中的游戏角色出现上移,第二画面与第一画面不同。

本申请实施例中,第一操作位于手势导航区域,电子设备将第一输入事件分别分发至手势导航模块和游戏应用,使得游戏应用能够响应于第一操作,显示第二画面。这样,可减少用户在游戏场景中,误触发手势导航窗口导致的断触问题,从而提升用户的游戏体验。

在一种可能的实现方式中,该触控方法还包括:在第一应用启动后,手势导航模块指示第一信息,第一信息用于指示电子设备接收到在第一区域中的第一输入事件时,将第一输入事件分别分发至第一应用和手势导航模块。

其中,该步骤可对应于步骤S1008,本申请实施例对此不做赘述。这样,电子设备在得到第一信号后,才能够执行将input事件双发给游戏应用和手势导航模块的流程。

在一种可能的实现方式中,在第一应用启动后,手势导航模块指示第一信息,包括:在第一应用启动后,若第一应用在预设的应用名单中,电子设备向手势导航模块指示第一指令;则手势导航模块根据第一指令指示第一信息。

预设的应用名单可对应于步骤S1003中的白名单(或双发游戏列表),该步骤可参考步骤S1004和S1006中的相关描述,此处不再赘述。这样,电子设备可通过白名单判定当前游戏应用能否适用于将input事件分发至游戏应用和手势导航模块的方法,从而提升方案的准确度。

一种可能的实现方式中,响应于第一操作,电子设备将第一输入事件分别分发至第一应用和手势导航模块,包括:当第一操作的down点所处的窗口名称为第二窗口时,电子设备将第一输入事件分别分发至手势导航模块和第一应用;其中,第二窗口为手势导航模块管理的窗口;第二窗口位于第一窗口的上层,第二窗口小于第一窗口,且第二窗口覆盖第一区域。

可以理解的是,down可以理解为触发操作中的第一触控点,第一触控点可参考图5A中的相关描述,此处不再赘述。

如图8所示,第一窗口可对应于游戏窗口802,第二窗口可对应于手势导航窗口,其中手势导航窗口位于游戏窗口的上层,手势导航窗口小于游戏窗口,且手势导航窗口覆盖游戏窗口。这样,在电子设备将手势导航区域设置为input事件双发区域后,电子设备在将down点在手势导航窗口的输入事件分别分发至游戏应用和手势导航模块,以减少游戏过程中的断触问题,提升用户的游戏体验。

一种可能的实现方式中,第二窗口的尺寸与第一区域的尺寸相同,且第一窗口的宽度与第二窗口相同,第一窗口的高度小于第二窗口。

其中,手势导航窗口的尺寸与手势导航区域的尺寸相同,且手势导航窗口的宽度与游戏窗口的宽度相同,手势导航窗口的高度小于游戏窗口。这样,可实现第一区域覆盖手势导航窗口的效果,以确保针对手势导航窗口中的触发操作均落在第一区域中。

一种可能的实现方式中,电子设备在第一窗口显示第二画面和第一控件之后,还包括:

1)在第三时刻,电子设备在第二区域中接收到第二操作。

其中,第二区域是第一区域中的一部分;第二时刻早于第三时刻,第三时刻与第二时刻之间的时间差小于时间阈值。时间阈值可以为3s,第二区域可对应于图9中的input事件单发区域902。第二操作可对应于用户在图7中的b所示界面中的向上滑动的触发操作。

2)响应于第二操作,电子设备将第二输入事件分发至手势导航模块,且不分发至第一应用。

第二输入事件为第二操作对应的输入事件。该步骤可参考步骤S1016中的相关描述,此处不再赘述。

3)电子设备显示桌面,且电子设备后台运行第一应用。

电子设备显示桌面可如图7中的c界面所示。

可以理解的是,在本实施例提供的场景中,电子设备可从游戏应用返回桌面。一种可能的实现方式中,若游戏应用一直处于后台运行,且电子设备将游戏应用切换至前台,则电子设备显示的游戏画面与返回桌面之前所显示的游戏画面相同,如图7中的b界面和图7中的d界面所示。这样,可避免游戏应用误响应第二次上滑操作,减少问题场景(如图6所示)的出现。

一种可能的实现方式中,第二区域的高度与第一区域相同,且第二区域位于第一区域的中间位置。

其中,input事件单发区域的高度与手势导航区域的高度相同,input事件单发区域位于手势导航区域的中间位置,如图8所示。这样,可沿用原生返回桌面的场景,用户能够习惯性从中部上滑,使得电子设备返回桌面,不会影响用户操作。

一种可能的实现方式中,还包括:

1)在第一应用启动后,电子设备向桌面应用指示第二指令。

其中,该步骤可参考步骤S1005和步骤S1007处的相关描述,此处不再赘述。

2)桌面应用监听到第一输入事件。

该步骤可参考步骤S1012处的相关描述,此处不再赘述。

3)桌面应用向手势导航模块指示第二信息。

第二信息用于指示创建第三窗口;其中,第二信息包括下述至少一项:第三窗口的透明度格式、第三窗口的标题、第三窗口的位置、第三窗口的高度和第三窗口的宽度;其中,第三窗口的透明度格式为用户不可见;第三窗口位于第二窗口的上层,第三窗口小于第二窗口,且第三窗口覆盖第二区域。

第三窗口可对应于图9中的input事件单发区域902的窗口,该步骤可参考步骤S1014处的相关描述,此处不再赘述。

4)电子设备在从第二时刻起的时间阈值内在第二窗口上层覆盖第三窗口。

这样,在电子设备在第一区域接收到第一操作后,电子设备可创建第三窗口,以使用户执行第二操作控制电子设备返回桌面时,游戏应用不响应第二输入事件,减少问题场景,提升用户的游戏体验。

一种可能的实现方式中,第三窗口与第二窗口的中心位置重合,第三窗口的宽度小于第二窗口的宽度,第三窗口的高度等于第二窗口的高度。

如图9所示,input事件单发区域902的窗口与手势导航窗口的中心位置重合,input事件单发区域902的窗口的宽度小于手势导航窗口的宽度,input事件单发区域902的窗口的高度等于手势导航窗口的高度。这样,在游戏过程中,用户可通过在中间位置的第二次上滑操作控制电子设备返回桌面,提升用户的游戏体验。

一种可能的实现方式中,响应于第二操作,电子设备将第二输入事件分发至手势导航模块,且不分发至第一应用,包括:当第二操作的down点所处的窗口名称为第三窗口的标题时,电子设备将第二输入事件分发至手势导航模块,且不分发至第一应用。

该步骤可参考步骤S1016中的相关描述,此处不再赘述。这样,电子设备可在接收到第二次上滑操作时,返回桌面,且游戏应用不响应上滑操作,以减少问题场景,提升用户的游戏体验。

一种可能的实现方式中,还包括:响应于第一操作,电子设备还显示导航栏和提示信息;导航栏用于指示第二区域的位置,提示信息用于提示用户在第二区域中执行第二操作能够使得电子设备显示桌面。

其中,导航栏可对应于图7中的b所示界面中的bar 705,提示信息可对应于图7中的b所示界面中的提示信息703。这样,用户可通过文字直观了解到返回桌面的相应操作,提升用户的使用体验。

一种可能的实现方式中,当提示信息的显示次数达到预设次数时,桌面应用不再显示提示信息。

这样,用户在了解该功能后,电子设备不再显示提示信息,可提升界面的简洁度和美观性。

一种可能的实现方式中,导航栏和提示信息均是桌面应用控制显示的。这样,电子设备可通过桌面应用控制导航栏的显示和隐藏,以及控制提示信息的显示和隐藏。

一种可能的实现方式中,还包括:

1)在第四时刻,电子设备在第一窗口显示第三画面和第一控件。

2)在第五时刻,电子设备在第一区域中接收到第三操作。

3)响应于第三操作,电子设备将第三输入事件分别分发至第一应用和手势导航模块;第三输入事件为第三操作对应的输入事件。

4)电子设备在第一应用的窗口中显示第四画面和第一控件,第四画面为第一应用响应于在第三画面中对第一控件的触发得到的画面,第四画面与第三画面不同;第五时刻早于第四时刻。

步骤1)至步骤4)可参考步骤S1101-S1104中的相关描述,此处不再赘述。

5)第六时刻,电子设备在第二区域中接收到第四操作。

第五时刻早于第六时刻,且第五时刻与第六时刻之间的时间差大于时间阈值。第二区域可对应于图8中的input事件双发区域801的中间位置。可以理解的是,第三操作与第四操作均为上滑操作,且第三操作与第四操作的时间间隔超过了时间阈值,这时,第三窗口消失,第二区域覆盖有第二窗口。电子设备从图9的场景恢复为图8中的场景。

6)响应于第四操作,电子设备将第四输入事件分别分发至手势导航模块和第一应用;第四输入事件为第四操作对应的输入事件。

需要说明的是,虽然第四操作也是针对手势导航区域中部的上滑操作,但由于此时第二区域为手势导航窗口,且手势导航区域为input事件双发区域,此时,电子设备会执行图5A中的逻辑,将第四输入事件进行双发。

可以理解的是,用户在手势导航区域执行单次滑动操作,该操作可能是用户的误操作;而用户短时间内在手势导航区域执行两次上滑操作,则表明用户存在退出游戏或退回桌面的交互意图。若第三窗口一直覆盖在手势导航区域,可能导致用户在游戏过程中,误退回到桌面的场景。这样,可减少电子设备误响应返回桌面的场景。

一种可能的实现方式中,还包括:电子设备在从第四时刻起的时间阈值内在第二窗口上层覆盖第三窗口;电子设备在从第四时刻起的时间阈值之后去除第三窗口。

该步骤可参考步骤S1017中的相关描述,此处不再赘述。这样,可减少电子设备误响应返回桌面的场景。

一种可能的实现方式中,还包括:

1)在第七时刻,电子设备在第二应用的窗口显示第五画面,第五画面处于全屏状态;第六时刻早于第七时刻;第二应用不在预设的应用名单中。

如图12所示,第二应用可以为非游戏应用,例如,第二应用可以为视频应用。第五画面可以为图12中的a所示界面。

2)在第八时刻,电子设备在第一区域中接收到第五操作。

第一区域可以为图12中的a所示界面的底部的手势导航区域,第五操作可以为从屏幕底部向上滑动的触发操作。

3)响应于第五操作,电子设备将第五输入事件分发至手势导航模块;第五输入事件为第五操作对应的输入事件。

当电子设备运行的应用程序不是白名单中的程序时,电子设备不执行input事件双发逻辑,所以,这里电子设备只将第五输入事件分发到手势导航模块(与原生流程相似)。

4)电子设备显示桌面;第七时刻早于第八时刻。

这样,当电子设备未运行白名单中的游戏应用时,电子设备不执行input事件双发逻辑,提升本申请实施例中触控方法的准确性。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

上面已对本申请实施例的触控方法进行了说明,下面对本申请实施例提供的执行上述触控方法的装置进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的相关装置可以执行上述触控方法中的步骤。

如图13所示,图13为本申请实施例提供的一种触控装置的结构示意图,该触控装置可以是本申请实施例中的终端设备,也可以是终端设备内的芯片或芯片系统。

如图13所示,触控装置1300可以用于通信设备、电路、硬件组件或者芯片中,该触控装置包括:显示单元1301、以及处理单元1302。其中,显示单元1301用于支持触控装置1300执行的显示的步骤;处理单元1302用于支持触控装置1300执行信息处理的步骤。

可能的实现方式中,该触控装置1300中也可以包括通信单元1303。具体的,通信单元用于支持触控装置1300执行数据的发送以及数据的接收的步骤。其中,该通信单元1303可以是输入或者输出接口、管脚或者电路等。

可能的实施例中,触控装置还可以包括:存储单元1304。处理单元1302、存储单元1304通过线路相连。存储单元1304可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。存储单元1304可以独立存在,通过通信线路与触控装置具有的处理单元1302相连。存储单元1304也可以和处理单元1302集成在一起。

存储单元1304可以存储终端设备中的方法的计算机执行指令,以使处理单元1302执行上述实施例中的方法。存储单元1304可以是寄存器、缓存或者RAM等,存储单元1304可以和处理单元1302集成在一起。存储单元1304可以是只读存储器(read-only memory,ROM)或者可存储静态信息和指令的其他类型的静态存储设备,存储单元1304可以与处理单元1302相独立。

本申请实施例提供的触控方法,可以应用在具备通信功能的电子设备中。电子设备包括电子设备,电子设备的具体设备形态等可以参照上述相关说明,此处不再赘述。

本申请实施例提供一种电子设备,该电子设备包括:包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得电子设备执行上述方法。

本申请实施例提供一种芯片。芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。

本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现上述方法。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。

一种可能的实现方式中,计算机可读介质可以包括RAM,ROM,只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。

本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行上述方法。

本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

相关技术
  • 触控显示设备及其制备方法
  • 便携式触控设备的操控方法、装置、存储介质和终端
  • 一种触控动作识别方法、装置及终端设备
  • 显示设备及使用其感测触控信号的方法
  • 触控操作方法、系统、设备及可读存储介质
  • 一种触控显示装置的触控识别方法及相关设备
  • 一种触控显示装置的触控识别方法及相关设备
技术分类

06120116480749