具体实施方式
下面结合具体实施例和附图对本申请做进一步说明。可以理解的是,此处描述的具 体实施例仅仅是为了解释本申请,而非对本申请的限定。此外,为了便于描述,附图中仅示出了与本申请相关的部分而非全部的结构或过程。应注意的是,在本说明书中,相 似的标号和字母在下面的附图中表示类似项。
本申请的说明性实施例包括但不限于终端设备及其手势操作方法和介质等。
随着智能设备的发展,通过手势与智能设备进行交互变得日益广泛,支持手势交互 的设备包括但不限于,触屏手机、平板计算机、体感游戏机等。在手机等各种通过手势进行交互的设备中,操作***(operating system,OS)(例如
等)和运行在操作***上的应用程序(Application,APP)都会支持一些手势(例如, 左滑、右滑、下拉等),并分别为每个手势定义对应的功能,例如常见的:“左滑”对应 “回退”,“下拉”对应“显示菜单”,“上划”对应“返回主界面”等。但是,在一些情 况下,OS和APP所支持的手势可能会出现冲突,即,OS和APP支持同一手势,但该 手势在OS中对应功能的定义与在APP中对应功能的定义不同。例如,在手机中,OS 和阅读类的APP可能都支持“右边缘左滑”这一手势,如图1所示,但是“右边缘左 滑”在OS中定义的功能可能是“回退”,而在阅读类APP中定义的功能则是“翻页”。
在OS和APP出现手势冲突时,如果只选择其中一种功能进行响应,便无法满足 用户对不同的功能的需求。而本申请提供的实施例意图在OS和APP支持的手势存在 冲突的场景下,让用户仍然能够使用到OS和APP二者支持的功能响应。
下面结合图2至图21来详细说明本申请的一些实施例所提供的手势操作方法。在本申请的附图中,参考数字后面的字母,例如“100a”表示对具有该特定参考数字的元 素的引用,而没有后续字母的参考数字,例如“100”,表示对带有该参考数字的元件的 实施方式的一般引用。
图2示出了根据本申请的实施例的一种手势冲突解决***10。如图2所示,*** 10包括终端设备100和云服务器200。
其中,所述终端设备100包括手势管理模块101和存储器102。终端设备100的手 势管理模块101运行在终端设备100上,可以通过硬件实现,也可以通过硬件执行相应 的软件实现。手势管理模块101可以用于检测和处理手势冲突,具体地,手势管理模块 101具有下列中的至少一种功能:
1)手势管理模块101可以在终端设备100使用过程中检测和收集终端设备100上运行或安装的APP的手势信息,并将终端设备100上运行或安装的APP的手势信息存 储在本地存储器102中和/或发送给云服务器200。
2)手势管理模块101可以从云服务器200获取终端设备100未检测到APP所支持 的手势信息,这些手势信息可以是与云服务器200连接的、安装和运行了相同的APP 的其他终端设备检测到。
可以理解,在一些实施例中,由于单个的终端设备100上的手势管理模块101存在无法检测出终端设备100上运行或安装的APP的全部手势信息的问题,因此,手势管 理模块101还需要从云服务器200接收未完全检测出来的手势信息。其中,这些终端设 备100未完全检测出来的手势信息,可以是云服务器200从安装同一APP的其他终端 设备获取到的。
3)手势管理模块101可以根据运行或安装在终端设备100上的OS的手势信息和APP的手势信息,判断OS与APP之间是否存在手势冲突。
4)手势管理模块101可以在确定出OS与APP之间存在手势冲突的情况下,提醒 用户为存在冲突的OS的默认手势设置备用手势。
5)手势管理模块101可以在终端设备100启用和关闭备用手势时对用户进行提醒。
手势管理模块101的具体功能在下文中会做详细描述。
下面继续参考图2,存储器102用于存储终端设备100上的上述手势信息。
云服务器200包括手势服务模块201,可以通过硬件实现,也可以通过硬件执行相应的软件实现。具体地,手势服务模块201用于从各终端设备(包括终端设备100)收 集各APP所支持的手势信息,并向各终端设备更新APP所支持的手势信息。例如,从 各个终端设备100或从各个APP的开发者处收集各个APP的手势信息(例如,在APP 在应用商店中注册或上架时,要求APP开发者提供手势信息;再如,请求各个终端设 备100上报自己所获取的APP的手势信息;等等),并以基于终端设备100的请求或者 定期推送的方式,将最新收集到的APP手势信息发送给终端设备100,以解决各终端设 备100无法通过自身完全检测出APP的所有手势信息的问题。
此外,在一些实施例中,手势服务模块201还用于判断终端设备100的OS与终端 设备100上运行的APP之间是否存在冲突,并向终端设备100发送判断结果。例如, 各个终端设备100可能安装的是版本相同或相似的OS,在这种情况下,云服务器200 可以判断某一版本的OS所支持的手势与一个或多个APP所支持的手势是否存在冲突, 并直接将判定结果发送给安装有相应APP的终端设备100。
在该手势冲突解决***中,各个终端设备100可以从云服务器200便捷地获取一个或多个APP的手势信息,以便在APP使用之前或APP与OS发生手势冲突之前便可以 预判并处理手势冲突;另一方面,各个终端设备100也可以及时向云服务器200上报自 己所收集的APP的手势信息,以便其他终端设备100共享。
可以理解,在本申请的各实施例中,终端设备100可以是能够通过手势进行交互的各种设备,例如:手机、电脑、膝上型计算机、平板计算机、电视、游戏机、显示设备、 户外显示屏、车载终端、音乐播放器等各种带有触摸屏的设备;或能够识别手势交互的 设备,例如:体感游戏机等。用户通过不同手势可以实现不同的功能,以方便用户与设 备之间交互。在一些实施方式中,本申请的实施例也可以应用于由用户穿戴的可穿戴设 备。例如,智能手表、手环、首饰(例如,做成诸如耳环、手镯等装饰性物品的设备) 或眼镜等,或者作为手表、手环、首饰或眼镜等的一部分。终端设备100的结构示例将 在后文结合图20说明。下文以手机100a作为终端设备100的示例,结合图3至图19 来详细说明解决OS与APP之间的手势冲突的方法。
此外,在本申请的各实施例中,云服务器200可以是硬件服务器,也可以植入虚拟化环境中,例如,根据本申请的一些实施例,云服务器200可以是在包括一个或多个其 他虚拟机的硬件服务器上执行的虚拟机。根据本申请的一些实施例,云服务器200可以 通过网络与终端设备100进行交互,例如向终端设备100发送数据和/或从终端设备100 接收数据。
此外,可以理解,在本申请的其他实施例中,也可以采用其他类型的服务器执行云服务器200的上述功能,在此不做限制。当然,上述手势冲突解决***10只是本申请 的一种具体实施方式,在一些实施方式中,终端设备100也可以不与云服务器200交互, 而只通过自己的手势管理模块101来自行检测和处理手势冲突。
图3示出了在APP所支持的手势已知或已被预先存储的情况下,手势冲突的解决方法示例。
在图3示出的实施例中,APP所支持的手势的相关信息可以是由手机100a在APP 的注册、安装或之前的使用过程中收集的,也可以是手机100a从云服务器200中获取 并保存的,或者也可以是被存储在云服务器200处并且手机100a可以从云服务器200 处查询的。根据本申请的一些实施例,图3示出的手势操作方法可以通过图2中的手势 管理模块101等来执行。
如图3所示,手势操作方法可以包括:
S301:手机100a检测是否有APP被打开,在检测到有APP被打开的情况下,继 续到S302。例如,如图4所示,在用户打开手机100a后,用户可以通过点击图4中的 用户界面(user interface,UI)中的“阅读”图标401来进入“阅读”APP,手机100a 检测到用户点击“阅读”图标401的操作时,继续到S302。
S302:手机100a获取被打开的APP所支持的手势信息,该信息可以从手机100a 的本地存储器102中获取,也可以直接从云服务器200处查询。
随后,S303:手机100a通过将获取的APP的手势信息与本机的OS的手势信息比 对来判断被打开的APP与OS的默认手势是否有冲突。在有冲突的情况下,进入S304。
例如,假设阅读类的APP支持的手势和OS支持的手势如下表1所示:
表1
从表1的示例中可以看出,“右边缘左滑”在OS中的定义的功能是“回退”,而在 阅读APP中定义的功能则是“下一页”,即,OS与阅读APP所支持的“右边缘左滑” 手势出现冲突。
在本申请中,为了清晰起见,OS原本所支持的手势可以称为默认手势,以与备用手势相区分。
此外,可以理解,在本申请的其他实施例中,也可以通过与手机100a连接的云服务器200来判断APP的手势是否与OS的默认手势存在冲突,并且手机100a获取云服 务器200的判断结果。例如,如前所述,云服务器200获取手机100a的APP所支持的 手势的手势信息以及OS所支持的默认手势,并判断APP所支持的手势与OS所支持的 默认手势中是否存在相同的手势,在存在相同的手势的情况下,确定存在手势冲突。
S304:手机100a启用备用手势并通知用户。
可以理解,在本申请的一些实施例中,可以预先为OS的默认手势中的至少一个设置好备用手势,以在检测到手势冲突时,直接启用***中存在冲突的默认手势的备用手势,以充分回避各种APP支持的手势。例如,可以在为OS设置默认手势时,同时设 置各默认手势的备用手势,也可以在安装OS后,从OS中存储的待选手势中为各默认 手势选择备用手势,此处的选择可以是随机选择,也可以是根据预先设置的顺序进行选 择,选择顺序可以根据具体情况来设置,在此不做限制。此外,也可以在手机100a被 初始使用时,提醒用户为OS的默认手势设置备用手势或者从OS中存储的待选手势中 选择备用手势。
可以理解,可以预先对OS支持的每个默认手势都预设置备用手势,也可以不对 OS所支持的所有默认手势都设置备用手势,而是只从中选择一部分来设置备用手势, 例如,从OS支持的所有默认手势中选择一些容易发生冲突的手势来设置备用手势,或 者使用户可以选择性的自定义备用手势等。例如,在一些实施例中,为手机100a的OS 支持的每个默认手势都预设置至少一个备用手势,其中,默认手势的备用手势可以是与 默认手势不同的任何手势,也可以是在对各APP的手势信息进行统计分析后,得出的 与各APP的手势不冲突或者冲突概率较小的手势。
在上述例子中,对于“右边缘左滑”的手势冲突,OS可以在设置“右边缘左滑” 为“回退”操作的默认手势时,设置“右边缘上滑”为“回退”操作的备用手势,如 表2所示。那么,如果在使用阅读APP时,采用“右边缘上滑”而不是“右边缘左滑” 手势作为回退手势,OS与阅读APP便不再存在手势冲突。
表2
故在S304中,对于上文表1和表2所述的示例中,手机100a在判断出阅读APP 存在一个手势“右边缘左滑”与OS所支持的“右边缘左滑”手势有冲突时,在阅读 APP打开后,手机100a直接启用“右边缘左滑”手势的备用手势“右边缘上滑”来执 行“回退”功能,并通知用户这一改变。
通知用户的UI示例参见图5至图6,用户点击图4中的“阅读”图标401进入“阅 读”APP后,手机100a可以在“阅读”APP的UI界面上方的通知栏501处显示通知 信息,通知用户备用手势开启。在一些其他实施方式中,手机100a也可以以其他方式 通知用户备用手势开启,例如弹窗、在模糊背景上显示文字、动画或图像等。
用户可以通过下拉图5中的通知栏501来了解详细信息601(见图6)。在一些实施例中,可以在提供详细信息601的同时提供手势管理入口,如图6所示,用户可以点击 图6中的“点击进入手势管理”按钮602来进入手势管理页面(未示出),以设置和管 理手势,例如,重新设置备用手势,关闭备用手势等。
备用手势启动后,在用户执行冲突手势时,APP的相应功能将响应该冲突手势而实现,而OS的相应功能则无法响应,但是OS的相应功能可以通过备用手势来实现。例 如,如图7所示,用户通过点击“阅读”APP中的“书本1”图标701来打开书本1后 (见图8A),在图8A示出的界面上,如果用户使用冲突手势“右边缘左滑”801,阅 读APP的功能响应生效,书本被翻到下一页(即从图8A所示的第5页翻到图8B所示 的第6页),而原OS所定义的“回退”功能不响应。
但是,用户可以通过备用手势来进行“回退”。例如,如果用户在打开的“书本1” 的第5页执行如图9A所示的“右边缘上滑”手势901,则OS将响应该手势执行“回 退”功能(即从图9A所示的第5页内容回退到图9B所示的阅读APP的书架界面)。
那么,通过将“右边缘上滑”作为“右边缘左滑”的备用OS手势,OS定义的“回 退”功能和阅读APP定义的“下一页”功能都能够分别得到响应,用户可以用“右边 缘左滑”手势来实现“翻页”功能,同时可以用“沿屏幕右边缘上滑”手势来实现“回 退”功能。
S305:手机检测当前APP的退出,在当前APP退出(例如,退回主界面,或者切 换至其他APP)后,则继续到S306:关闭***备用手势,并提醒用户。
例如,在手机100a从图9B所示的书架界面退回图10A所示的主界面后,主界面 上方的通知栏1001处可以显示通知信息,通知用户备用手势关闭。此时,如果用户再 如图10B所示的方式执行备用手势“右边缘上滑”1002,***将无响应。在一些其他 实施方式中,手机100a也可以以其他方式通知用户备用手势关闭,例如弹窗、在模糊 背景上显示文字、动画或图像等。
此外,可以理解,虽然在图3所示的实施例中,在检测到APP被打开后,手机100a 需要判断被打开的APP与OS的默认手势是否有冲突,在判断出存在冲突的情况下启 用备用手势,但是,在本申请的其他实施例中,由于手机100a或者云服务器200检测 一次便可知APP与OS的默认手势是否有冲突,并且在检测到存在冲突后,可以为存 在冲突的默认手势设置备用手势,故在后续检测到APP被打开后,手机100a可以直接 为存在冲突的默认手势设置备用手势,或者直接打开存在冲突的默认手势设置备用手势, 而无需每次检测到APP被打开就进行冲突判断。
上面结合图3至图10B描述了在APP所支持的手势已知或已被预先存储的情况下,手势冲突的解决方法示例。通过设置OS备用手势,使得在OS和APP手势冲突场景下, 用户仍然能够使用到OS和APP两者的手势功能响应。在本申请的一些实施例中,图3 中S301的操作只需要执行一次,备用手势设置好后后续可一直使用。
根据本申请的另一些实施例,也可以不预先设置备用手势,而是在确定APP与OS之间存在手势冲突之后再执行设置OS备用手势的操作,在这种情况下,可以只提醒用 户为存在冲突的手势设置备用手势,而无需为所有OS的默认手势设置备用手势,具体 过程如图11所示。
首先,S1101,手机100a中的APP打开,例如,在手机100a的主界面中(见图4), 用户通过点击图4所示的UI中的“阅读”图标401进入“阅读”APP。
随后,S1102至S1103的操作与图3中的S303至S304的操作类似,在此不再赘述。 在S1103中,如果手机100a确定阅读APP与OS的默认手势存在冲突,则继续到S1104: 手机100a提示用户设置备用手势。
例如,如图12所示,进入“阅读”APP后,如果手机100a确定阅读APP与OS 的默认手势存在冲突,“阅读”APP的UI界面中可以弹出提示信息1201,提示用户该 阅读APP与OS有手势冲突,请用户设置备用手势。用户点击图12中的弹出的提示信 息1201,可以进入备用手势设置界面。备用手势设置界面的示例如图13所示,进入备 用手势设置页面后,用户可选择***提供的备用手势,例如选择图13中示出的“右边 缘上滑”1301或者“长按右下角”1302,或者也可以对“回退”手势进行自定义1303。
在一些实施方式中,也可以采用除图12所示的弹窗之外的方式提示用户,例如通过通知栏,通过在模糊背景上显示文字、动画或图像等。
在用户设定好备用手势后,S1105:***启用用户设置的备用手势。
在这种情况下,根据本申请的一些实施例,用户设置好的备用手势可以被手机100a 保存下来,以便在该APP或其他APP的后续使用过程中出现同样的手势冲突时直接使用而无需再次设置,而根据本申请的另一些实施例,该备用手势也可以不保存,而是每 次出现冲突时提醒用户设置。
回到图12,在用户认为无需设置备用手势时,可以直接点击弹窗关闭按钮1202,以跳过备用手势设置而直接使用阅读APP。此时手势冲突仍然存在,而在检测到用户的 存在冲突的手势后,手机100a可以执行该手势在阅读APP中的对应操作。例如,对于 上述“右边缘左滑”的手势,在检测到用户的“右边缘左滑”手势后,执行阅读APP的 “翻页”功能,而不是OS的“回退”功能。
S1106至S1107的操作与S306至S307的操作类似,手机检测当前APP的退出, 在当前APP退出(例如,退回主界面,或者切换至其他APP)后,关闭***备用手势, 并提醒用户。
此外,可以理解,在本申请的其他实施例中,在上述S1104中,也可以是手机100a从手机100a上存储的待选手势中为存在冲突的默认手势选择备用手势,此处的选择可 以是随机选择,也可以是根据预先设置的顺序进行选择,选择顺序可以根据具体情况来 设置,在此不做限制。
此外,可以理解,虽然在图11所示的实施例中,在检测到APP被打开后,手机100a需要判断被打开的APP与OS的默认手势是否有冲突,但是,在本申请的其他实施例 中,由于手机100a或者云服务器200检测一次便可知APP与OS的默认手势是否有冲 突,故在后续检测到APP被打开后,手机100a可以直接提醒用户为存在冲突的默认手 势设置备用手势,而无需每次检测到APP被打开就进行冲突判断。
上面结合图3至图13介绍了在APP所支持的手势已知或已被预先存储的情况下,手势冲突的解决方法示例。通过预先设置备用手势或者在APP被打开时设置备用手势, 使得***定义的手势功能和APP定义的手势功能都能够得到响应。
然而,在一些情况下,APP所支持的手势可能并未被预先存储或了解,在这种情况下,可以直接在APP的使用过程中对用户的操作进行监控或检测,如果在APP使用过 程中,某些***手势对应的功能无法触发,则说明存在手势冲突。
下面结合图14和图15说明在APP的使用过程中对用户的操作进行监控或检测以获取APP与OS的冲突手势并解决该手势冲突的方法。
根据本申请的一些实施例,可以通过监测手势操作事件的响应流程来获取APP与OS的冲突手势。在手机等各种能够通过手势来进行交互的设备中,用户对设备进行手 势操作后,会产生手势操作事件,该手势操作事件会被层层传递并在合适的阶段被响应。 图14示出了手机等设备中的APP打开后,手势操作事件的响应流程。
首先,1401:APP打开。例如图4所示,用户通过点击图4所示的UI中的“阅读” 图标401进入“阅读”APP。
随后,1402:检测和处理手势操作事件。在用户进行手势操作后,设备的硬件层检测到手势操作,并作为事件上报,设备的主控***将调用相关程序对该手势操作事件进 行处理。例如,在手机中,在APP打开的情况下,手机的触摸传感器检测到用户的手 势操作,OS会调用相关程序对该手势操作事件进行初步处理:根据用户具体的手势动 作,生成一个特定的手势操作事件以及该手势操作事件对应的参数。
随后,1403:该手势操作事件被发送至APP,如果该手势是APP所支持的手势, 那么APP会响应该事件,并触发相应的功能,该手势操作事件结束。
而如果该手势不是APP所支持的手势,那么APP不会响应该事件,则1404:手势 操作事件进一步被传递到OS,如果该手势是OS的默认手势,那么OS会响应该手势, 并触发相应的功能,而如果该手势也不是OS的默认手势,那么该事件结束。
因此,如果一个手势既是APP所支持的手势,又是OS的默认手势,那么,该手 势将被APP拦截并响应,而OS则无法响应该手势。
因此,为了判断一个手势是否是冲突手势,可以在原有的手势操作事件处理流程中 ***两个监听点,***点为事件传递到APP的前后。根据本申请的一些实施例,这两 个监听可以被分别称为前置监听和后置监听,如图14所示。在前置监听1405和后置监 听1406的作用下,如果一个手势是OS的默认手势,并且前置监听1405监听到了这个 手势操作事件而后置监听1406没有监听到该手势操作事件,则可以说明该手势被APP 响应并结束,没有继续向OS传递,即,说明该手势也是APP所支持的手势,那么, 该手势在OS与APP之间出现了冲突。
根据本申请的一些实施例,图14中的前置监听1405和后置监听1406的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件可以包括一个或多于 一个与上述功能相对应的模块,这些模块可以是图2中的手势管理模块101的一部分, 即,图14所示的检测手势冲突的方法可以通过图2中的手势管理模块101来执行。
在这种APP所支持的手势可能并未被预先存储或了解的情况下,可以利用图14所示的方案在APP运行期动态地进行手势检测,检测到冲突,则启用备用手势并提示用 户,而退出APP后,关闭备用手势,具体过程如图15所示。
首先,S1501,APP打开,例如,在手机100a的主界面中(见图4),用户通过点 击图4所示的UI中的“阅读”图标401进入“阅读”APP。
随后,S1502:手机100a通过图14所示的操作监听用户的手势操作事件。例如图 16所示,用户进入“阅读”APP后,可以通过点击“书本1”打开书本1阅读,并进行 各种手势操作,如图17所示,在此过程中,手机100a持续监听用户的手势操作。
S1503:根据S1502的监听结果,判断被打开的APP与OS的默认手势是否有冲突。 在没有冲突的情况下,返回S1502继续监听;而在有冲突的情况下,进入S1504:检测 该手势功能在OS中是否有备用手势。
在有备用手势的情况下(S1504中判断为是),进入S1506:启用OS备用手势,并 提示用户。
在没有备用手势的情况下(S1504中判断为否),进入S1505:手机100a提示用户 设置OS的备用手势。
例如,在该实施例中,如果手机100a的OS和APP支持的手势仍然如上面的表1 所示,那么,图17所示的“右边缘左滑”手势1701是冲突手势,它在OS中的定义的 功能是“回退”,而在阅读APP中定义的功能则是“下一页”。在用户操作该手势时, 手机100a会监听到手势冲突。
此时,当前UI界面中可以弹出提示信息1801,提示用户该手势在阅读APP与OS 中冲突,请用户为操作***的“回退”功能设置备用手势,如图18所示。用户点击图 18中的弹出的提示信息1801,可以进入备用手势设置界面。备用手势设置界面的示例 如图13所示,进入备用手势设置页面后,用户可选择***提供的备用手势,例如选择 图13中示出的“右边缘上滑”1301或者“长按右下角”1302,或者也可以对“回退” 手势进行自定义1303。在一些实施方式中,也可以采用除图18所示的弹窗方式之外的 方式提示用户,例如通过通知栏,通过在模糊背景上显示文字、动画或图像等。
回到图18,在用户认为无需设置备用手势时,可以直接点击弹窗关闭按钮1802,以跳过备用手势设置。例如,在一些实施例中,阅读APP自己定义有对应“回退”功 能的手势,那么,用户无需再额外为“回退”功能设置备用手势,而是可以直接使用阅 读APP定义的手势。
在用户设定好备用手势后,继续到S1506:***启用OS备用手势并通知用户。
例如图19所示,手机100a可以响应“阅读”APP定义的“右边缘左滑”手势所对 应的“下一页”功能,从图18所示的第4页翻到图19所示的第5页,并在“阅读” APP的UI界面上方的通知栏1901处显示通知信息,通知用户OS备用手势开启。在一 些实施方式中,用户可以通过下拉通知栏1901等方式来了解详细信息或管理手势等, 与图6类似,此处不再赘述。
备用手势启动后,在用户再执行冲突手势时,APP的相应功能将响应该冲突手势而实现,而原OS的相应功能则无法响应,但是OS的相应功能可以通过备用手势来实现。 例如,在“书本1”的第5页的界面上,如果用户使用图8A所示的冲突手势“右边缘 左滑”801,阅读APP的功能响应生效,书本被翻到下一页(即从图8A所示的第5页 翻到图8B所示的第6页);而如果用户在第5页执行如图9A所示的“右边缘上滑”手 势901,则OS将响应该手势执行“回退”功能(即从图9A所示的第5页内容回退到 图9B所示的阅读APP的书架界面)。
根据本申请的一些实施例,用户在操作S1505中设置好的备用手势可以被手机100a 保存下来,以便在该APP或其他APP的后续使用过程中出现同样的手势冲突时直接使用而无需再次设置,而根据本申请的另一些实施例,该备用手势也可以不保存,而是每 次出现冲突时提醒用户设置。
根据本申请的一些实施例,也可以提前对OS支持的所有手势都设置备用手势,以充分回避各种APP支持的手势,如前面表2所示。
在S1503中监听到的冲突手势已经被提前设置有备用手势的情况下,可以跳过S1504和S1505的操作,直接执行S1506:启用备用手势并通知用户。
随后,返回S1502的监听操作。在一些实施方式中,手机可以在APP的整个使用 过程中持续监听手势操作事件,以便随时处理手势冲突。
S1507:手机检测当前APP的退出,在当前APP退出(例如,退回主界面,或者 切换至其他APP)后,则继续到S1508:关闭***备用手势,并提醒用户;否则,持续 监听手势操作事件。
例如,在手机100a从图9B所示的书架界面退回图10A所示的主界面后,主界面 上方的通知栏1001处可以显示通知信息,通知用户备用手势关闭。此时,如果用户再 如图10B所示的方式执行备用手势“右边缘上滑”1002,***将无响应。
上面结合图15等描述了在这种APP所支持的手势未被预先存储或了解的情况下,手势冲突的解决方法示例。该方法同样是通过设置OS备用手势,使得在OS和APP手 势冲突场景下,用户仍然能够使用到OS和APP两者的手势功能响应。
图20示出了根据本申请的实施例的终端设备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,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪 传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F, 接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光 传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某 些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软 件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(Applicationprocessor,AP),调制解调处理器,图形处理器(graphics processing unit,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-integrated circuitsound,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也可以 采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理 模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通 信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池 健康状态(漏电,阻抗)等参数。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线 通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。
移动通信模块150可以提供应用在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。
无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(Bluetooth,BT), 全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation, FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等 无线通信的解决方案。
在一些实施例中,终端设备100的天线1和移动通信模块150耦合,天线2和无线 通信模块160耦合,使得终端设备100可以通过无线通信技术与网络以及其他设备通信。 所述无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess, WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长 期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫 星***(global navigation satellite system,GLONASS),北斗卫星导航***(beidounavigation satellite system,BDS),准天顶卫星***(quasi-zenith satellitesystem,QZSS) 和/或星基增强***(satellite based augmentation systems,SBAS)。
终端设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。显示屏 194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏 (liquidcrystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有 源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic lightemitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed, Micro-oLed,量子点发光二极管(quantum dot light emittingdiodes,QLED)等。在一些实 施例中,终端设备100可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及 应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数 据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指 令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数 据区可存储终端设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外, 内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少 一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理 器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器 的指令,执行终端设备100的各种功能应用以及数据处理。
终端设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C, 耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194, 由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于 检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处 理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在 另一些实施例中,触摸传感器180K也可以设置于终端设备100的表面,与显示屏194 所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的 键信号输入。
马达191可以产生振动提示。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。
根据本申请的一些实施例,终端设备100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android***为 例,示例性说明终端设备100的软件结构。
根据本申请的实施例,图21示出了一种SoC(System on Chip,片上***)1000 的框图。在图21中,虚线框是SoC的可选特征。在图21中,SoC 1000包括:互连单 元1050,其被耦合至应用处理器1010;***代理单元1070;总线控制器单元1080;集 成存储器控制器单元1040;一组或一个或多个协处理器1020,其可包括集成图形逻辑、 图像处理器、音频处理器和视频处理器;静态随机存取存储器(SRAM)单元1030;直 接存储器存取(DMA)单元1060。在一个实施例中,协处理器1020可以包括专用处理 器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、或嵌入 式处理器等等。
本申请公开的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程***上执行的计算机程序或程序代码,该可编程***可以包括至少一个处理器、存储***(包括易失性和非易失性存储器和/或存储元件)、 至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以 按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理***包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之 类的处理器的任何***。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理***通 信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合形式来实现。 所公开的实施例还可以以承载或储存在一个或多个瞬态或非瞬态的机器可读(例如,计 算机可读)存储介质上的指令或程序形式实现,其可以由一个或多个处理器等读取和执行。当指令或程序被机器运行时,机器可以执行前述的各种方法。例如,指令可以通过 网络或其他计算机可读介质分发。因此,机器可读介质可以包括但不限于,用于以机器 (例如,计算机)可读的形式存储或传输信息的任何机制,例如,软盘,光盘,光盘只 读存储器(CD-ROMs),磁光盘,只读存储器(ROM),随机存取存储器(RAM),可 擦除可编程只读存储器(EPROM),电子式可清除程序化只读存储器(EEPROM),磁 卡或光卡,或者用于通过电、光、声或其他形式信号(例如,载波、红外信号、数字信 号等)传输网络信息的闪存或有形的机器可读存储器。因此,机器可读介质包括任何形 式的适合于存储或传输电子指令或机器(例如,计算机)可读信息的机器可读介质。
因此,本申请的各实施例还包括非瞬态的有形机器可读介质,该介质包含指令或包 含设计数据,诸如硬件描述语言(HDL),它定义本文中描述的结构、电路、装置、处 理器和/或***特征。这些实施例也被称为程序产品。
应当理解的是,虽然在本文中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了进行区分,而不能 理解为指示或暗示相对重要性。举例来说,在不背离示例性实施例的范围的情况下,第 一特征可以被称为第二特征,并且类似地第二特征可以被称为第一特征。
此外,各种操作将以最有助于理解说明性实施例的方式被描述为多个彼此分离的操 作;然而,描述的顺序不应被解释为暗示这些操作必须依赖描述的顺序,其中的许多 操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序也可以被重新安排。 当所描述的操作完成时,所述处理可以被终止,但是还可以具有未包括在附图中的附加 操作。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
说明书中对“一个实施例”,“实施例”,“说明性实施例”等的引用表示所描述的实施例可以包括特定特征、结构或性质,但是每个实施例也可能或不是必需包括特定的特征、结构或性质。而且,这些短语不一定是针对同一实施例。此外,当结合具体实施例 描述特定特征,本领域技术人员的知识能够影响到这些特征与其他实施例的结合,无论 这些实施例是否被明确描述。
除非上下文另有规定,否则术语“包含”、“具有”和“包括”是同义词。短语“A/B” 表示“A或B”。短语“A和/或B”表示“(A)、(B)或(A和B)”。
如本文所使用的,术语“模块”可以指代,作为其中的一部分,或者包括:用于运 行一个或多个软件或固件程序的存储器(共享、专用或组),专用集成电路(ASIC), 电子电路和/或处理器(共享、专用或组),组合逻辑电路,和/或提供所述功能的其他合 适组件。
在附图中,可能以特定布置和/或顺序示出了一些结构或方法特征。然而,应当理解的是,这样的特定布置和/或排序不是必需的。而是,在一些实施例中,这些特征可 以以不同于说明性附图中所示的方式和/或顺序来进行说明。另外,特定附图中所包含 得结构或方法特征并不意味着所有实施例都需要包含这样的特征,在一些实施例中,可 以不包含这些特征,或者可以将这些特征与其他特征进行组合。
上面结合附图对本申请的实施例做了详细说明,但本申请技术方案的使用不仅仅局 限于本专利实施例中提及的各种应用,各种结构和变型都可以参考本申请技术方案轻易 地实施,以达到本文中提及的各种有益效果。在本领域普通技术人员所具备的知识范围内,在不脱离本申请宗旨的前提下做出的各种变化,均应归属于本申请专利涵盖范围。