CN115808991B - 显示屏的触控操作方法及电子设备 - Google Patents
显示屏的触控操作方法及电子设备 Download PDFInfo
- Publication number
- CN115808991B CN115808991B CN202310048298.2A CN202310048298A CN115808991B CN 115808991 B CN115808991 B CN 115808991B CN 202310048298 A CN202310048298 A CN 202310048298A CN 115808991 B CN115808991 B CN 115808991B
- Authority
- CN
- China
- Prior art keywords
- touch operation
- display screen
- data
- screen
- electronic equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
本申请提供了一种显示屏的触控操作方法及电子设备,涉及终端领域。本申请中的方法包括:响应于用户的第一触控操作,判断第一对象是否处于第一握持姿态,第一对象为用户用于进行第一触控操作的手,第一握持姿态为第一对象的四指位于电子设备的后壳,第一对象的拇指或手掌按压于显示屏,以使电子设备固定于拇指与四指之间,其中,拇指或手掌按压于显示屏时产生第一触控操作;当确定第一对象处于第一握持姿态时,则确定不向输入管理系统上报第一触控操作。采用本申请中的方法,使得用户在握持电子设备时按压显示屏后,电子设备同时可以响应其他的触控操作,提高电子设备的触摸屏的触控的灵活性,提高用户使用电子设备的使用体验。
Description
技术领域
本申请涉及终端领域,尤其涉及一种显示屏的触控操作方法及电子设备。
背景技术
目前移动终端的显示屏通常支持用户的触摸(或点击、按压等)操作,如用户通过点击虚拟键盘,以输入文字。随着移动终端技术的不断发展,移动终端的屏幕也随之增宽,用户通常通过手掌和除大拇指之外的4指即可稳定的握持移动终端。
当移动终端的屏幕大于手掌的长度时,用户需要通过拇指与其余4指配合才可稳定托举移动终端,然而,该姿势容易导致拇指或者手掌按压在屏幕的边缘处,导致用户的其他触控操作失效,即无法获取其他的触控操作,影响用户对显示屏的触摸操作。
发明内容
为了解决上述技术问题,本申请提供一种显示屏的触控操作方法及电子设备,使得用户在握持电子设备时按压显示屏后,电子设备同时可以响应其他的触控操作,提高电子设备的触摸屏的触控的灵活性,提高用户使用电子设备的使用体验。
第一方面,本申请提供一种显示屏的触控操作方法,应用于具有显示屏的电子设备,该方法包括:响应于用户的第一触控操作,判断第一对象是否处于第一握持姿态,第一对象为用户用于进行第一触控操作的手,第一握持姿态为第一对象的四指位于电子设备的后壳,第一对象的拇指或手掌按压于显示屏且靠近电子设备的边框位置,以使电子设备固定于拇指与四指之间;当确定第一对象处于第一握持姿态时,则确定不向输入管理系统上报第一触控操作。
这样,电子设备当确定第一对象处于该握持姿态时,不向输入管理系统上报该第一触控操作,由于第一握持姿态为该第一对象中的4指托举在电子设备的后壳的位置,拇指或手掌按压于显示屏且靠近电子设备的边框位置上,以将电子设备固定于拇指与四指之间的姿态,也就是说,第一握持姿态用于固定电子设备,用户没有在第一对象处于第一握持姿态的同时使用第一对象对电子设备进行操作的意图。当电子设备确定第一对象处于第一握持姿态,不向输入管理系统上报第一触控操作更加符合用户的使用需要。且当第一对象处于第一握持姿态时,若用户同时对显示屏进行其他的触控操作,由于电子设备未上报第一触控操作,使得处于上层的应用程序不会响应该第一触控操作,避免出现显示屏锁定导致其他触控操作无效的情况,从而使得电子设备中当前的应用程序可以响应用户输入的其他触控操作,提高用户的触控体验。
根据第一方面,响应于用户的第一触控操作,判断第一对象是否处于第一握持姿态,包括:获取第一触控操作的坐标信息作为第一坐标信息;判断第一坐标信息是否处于预设的第一边缘范围内,第一边缘范围为与显示屏的边界相差预设距离的位置;当确定第一坐标信息处于第一边缘范围内时,判断在预设时长内是否持续获取到第一坐标信息,获得第一判断结果;根据第一判断结果,判断第一对象是否处于第一握持姿态。
这样,通过第一触控操作的第一坐标信息与第一边缘范围进行比较,当第一坐标信息处于第一边缘范围之内时,可以确定产生第一触控的位置靠近显示屏的边缘位置,同时检测在预设时长是否持续获取到第一坐标信息,可以进一步准确确定出第一对象的姿态。
根据第一方面,在判断第一坐标信息是否处于预设的第一边缘范围内之前,该方法还包括:获取显示屏的尺寸信息和像素密度,尺寸信息包括显示屏的宽度和长度;根据显示屏的尺寸信息和像素密度,确定当前显示屏的第一边缘范围。这样,通过显示屏的尺寸和像素密度使得第一边缘范围可以适配不同的尺寸的电子设备,提高判断的准确性。
根据第一方面,根据显示屏的尺寸信息和像素密度,确定当前显示屏的第一边缘范围,包括:根据显示屏的尺寸信息和像素密度,确定每个像素在显示屏中的尺寸;获取N个像素的尺寸作为该显示屏的内边距的尺寸,N为大于0的整数;将内边距所处的位置作为第一边缘范围。这样,获取N个像素的尺寸作为显示屏中内边距的尺寸,可以确定出第一边缘范围的区域,通常内边距所在区域不会设置有特殊功能的操作,从而将该内边距所在区域作为判断的条件,可以快速排除用户欲进行特定触控操作的情况,提高判断的准确性。
根据第一方面,根据第一判断结果,判断第一对象是否处于第一握持姿态,包括:
当第一判断结果指示在预设时长内持续获取到第一坐标信息,则确定第一对象处于第一握持姿态。这样,在持续获取到第一坐标信息时,符合用户按照第一握持姿态握持电子设备的场景,从而提高判断的准确性。
根据第一方面,在判断第一坐标信息是否处于预设的第一边缘范围内之前,该方法还包括:检测电子设备当前是否支持多指触控操作;当检测到电子设备支持多指触控操作时,执行获取第一触控操作的坐标信息作为第一坐标信息的步骤;根据第一判断结果,判断第一对象是否处于第一握持姿态,包括:当第一判断结果指示在预设时长内持续获取到第一坐标信息时,判断是否获取到除第一坐标信息之外的触控操作的坐标信息;当确定获取到除第一坐标信息之外的触控操作的坐标信息时,确定第一对象处于第一握持姿态。
这样,电子设备判断是否支持多指触控操作,并检测是否还接收到其他触控操作,可以避免出现误判断的问题,例如,可以排除用户长按屏幕快进视频等特殊情况,提高判断第一对象是否处于第一握持姿态的准确性。此外,在判断第一坐标信息是否处于第一边缘操作之前先判断电子设备是否支持多指操作,仅在支持多指操作时,进行后续判断,若电子设备不支持多指触控操作,则无需进行后续的判断,该判断方式可以缩短需要上报第一触控操作的情况的判断时间。
根据第一方面,显示屏属于折叠屏,该显示屏包括:内屏和外屏;在判断第一对象是否处于第一握持姿态之前,该方法还包括:检测显示屏是否处于展开状态,展开状态为内屏与外屏之间夹角处于第一预设范围内,第一预设范围为大于150度,且小于或等于180度;当确定显示屏处于展开状态,则确定执行判断第一对象是否处于第一握持姿态的步骤。这样,针对折叠屏的情况,在判断是否处于第一握持姿态之前先判断该电子设备是否处于展开状态,可以快速确定当前场景是否需要判断第一对象是否处于第一握持姿态,减小不必要的判断开销;同时,增加折叠屏的电子设备的姿态判断,也可以提高后续判断第一对象是否处于第一握持姿态的判断的准确性。
根据第一方面,在检测显示屏是否处于展开状态之前,该方法还包括:获取传感器采集的第一数据和第二数据,第一数据包括内屏和外屏之间的角度,该第二数据包括电子设备的加速度数据;根据第一数据和第二数据,确定电子设备当前所处的姿态。这样,通过传感器采集的数据,可以快速且准确地确定出当前电子设备的姿态。
根据第一方面,电子设备的姿态包括:折叠状态、支架状态以及展开状态;当电子设备处于折叠状态时,内屏与外屏之间的夹角的范围为:大于0度,且小于或等于45度;
当电子设备处于支架状态时,内屏与外屏之间的夹角的范围为:大于45度,且小于或等于150度。这样,由于不同状态下,内屏和外屏之间的夹角不同,使得电子设备可以根据不同的状态,筛选出符合满足第一握持姿态的电子设备的姿态。
根据第一方面,获取传感器采集的第一数据和第二数据,包括:电子设备的硬件抽象层通过调用传感器服务中的回调函数,获取第一数据和第二数据。这样,电子设备的硬件抽象层可以通过回调函数快速获取传感器采集的数据。
根据第一方面,电子设备的硬件抽象层通过进程通信机制中的读取方法从传感器服务对应的管道中读取第一数据和第二数据。这样,电子设备提供另一种获取传感器采集的数据的方法,提高获取传感器采集的数据的灵活性。
根据第一方面,检测电子设备当前是否支持多指触控操作,包括:分别对每种触控操作进行检测,获取每种触控操作的检测结果,每种触控操作的检测结果用于指示当前应用的上下文页面是否支持触控操作;若检测到当前应用的上下文页面支持任意一种触控操作,则确定电子设备当前支持多指触控操作。这样,通过获取当前应用的context页面的检测结果可以快速判断当前电子设备是否支持多指触控操作。
根据第一方面,该预设时长的取值范围为:大于0且小于或等于2秒。
第二方面,本申请提供了一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行如第一方面以及第一方面的任意一种实现方式相对应的显示屏的触控操作方法。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请提供了一种计算机可读介质,用于存储计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行上述第一方面以及第一方面的任意一种实现方式所对应的显示屏的触控操作方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1 是示例性示出的一种应用场景示意图;
图2是示例性示出的触摸屏屏幕矩阵的框架图;
图3是示例性示出的电子设备获取触控的坐标的框架图;
图4是示例性示出的电子设备的结构示意图;
图5是示例性示出的电子设备的软件结构示意图;
图6是示例性示出的显示屏的触控操作的流程图;
图7是示例性示出的判断第一对象是否处于第一握持姿态的流程图;
图8是示例性示出的手机的3个状态的示意图;
图9是示例性示出的手机获取其姿态的框架图;
图10是示例性示出的手机中传感器数据的传输的框架图;
图11是示例性示出的应用程序获取Sensor数据的交互图;
图12是示例性示出的又一种应用场景示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在对本申请实施例的技术方案说明之前,首先结合附图对本申请实施例的应用场景进行说明。参见图1,为本申请实施例提供的一种应用场景示意图。该应用场景中包括智能手机,该智能手机的显示屏具有可折叠功能,该可折叠的手机包括内屏和外屏,外屏为处于折叠状态时运行的屏幕;内屏为可折叠手机处于展开状态时运行的屏幕;通常内屏的尺寸大于外屏的尺寸。图1中的可折叠手机处于展开状态。当可折叠手机处于展开状态时,由于内屏的尺寸往往大于人手的手掌可握持的宽度,用户往往采用如图1中手201的握持姿势握持手机。如图1所示,用户的手201的拇指以及部分手掌按压在显示屏101的边缘处(即靠近手机的边框位置),该手201的其余四指托住该手机的后壳,采用该握持姿势可以稳定的托举该手机。由于拇指按压在显示屏101上,该手机响应于拇指的按压操作,获取拇指按压位置的坐标信息,并将拇指按压的坐标信息上报至输入管理系统。此时用户使用另一只手202点击显示屏101中显示的输入法应用102。由于用户的右手201的拇指按压的坐标信息已上报输入管理系统,导致屏幕发生锁定,手机不能再识别用户点击输入法应用102的操作,导致点击输入应用的操作无效,影响了用户的使用。
本示例中的应用场景以折叠屏手机为例,可以理解的是,当显示屏不属于折叠屏的电子设备时,若显示屏的宽度大于用户握持的宽度时,也会出现上述问题,其中,用户握持的宽度是指用户拇指与四指之间握持物体的最大宽度。
下面结合附图2、3具体说明电子设备识别触控操作的过程。
图2为示例性示出的一种触摸屏屏幕矩阵的框架图。如图2所示,电子设备的投射电容屏是在玻璃表面用ITO(Indium TinOxide,氧化铟锡)制成电极阵列,其中,ITO为一种透明的导电材料。电极阵列如图2所示,包括横向布设的电极(如图2中白的方格)以及纵向布设的电极(如图2中黑色的方格)。该显示屏的驱动芯片一次驱动发射一个电极,通过接收端感应电容值,当手指触摸到该触摸屏(即显示屏)时,该触摸屏的电容值会发生变化。电子设备的触摸屏芯片(即显示屏的驱动芯片)通过检测每个像素的电容值是否变化,获得触摸位置的坐标信息,并将该坐标信息上报至输入管理系统,由输入管理系统将坐标信息传输至对应的应用程序进行处理。坐标系可以以该显示屏的长为X轴,显示屏的宽为Y轴,用户触摸了显示屏的A点,上报的坐标信息为(x1,y1)。坐标系可以根据实际应用进行设置,此处不再进行一一列举。
图3为示例性示出的电子设备获取触控的坐标的框架图。
如图3所示,硬件层中的触摸屏芯片(即TouchPad IC,“TP IC”)用于检测触摸屏中电容值的变化,并将发生电容值变化的位置信息上报触摸屏驱动(即Touch Driver,TP驱动)。如图3所示,触摸屏驱动中的器件驱动通过SPI(Serial Peripheral Interface,串行外设接口)读取模拟前端(AFE)模块生成的矩阵空间(即Rawdata)数据。触摸屏驱动中的器件驱动将生成的Rawdata数据复制到一个缓存中缓存。HAL层(Hardware AbstractionLayer,硬件抽象层)可以通过IOCTL函数从TP驱动中获取缓存的Rawdata数据。如图3所示,HAL层中的器件驱动将Rawdata数据传递至虚拟光驱(即daemon)。虚拟光驱(即daemon)是一段连续的程序,用于将请求提交给其他合适的程序(或者进程)。该虚拟光驱中的获取原始坐标数据模块获取该Rawdata数据,并将该Rawdata数据转化为HAL层可使用的格式。该获取原始坐标数据模块将转换后的数据传递至TP算法模块,由TP算法模块根据原始坐标数据生成目标坐标数据(如目标坐标数据为(x1,y1)),目标坐标数据为输入管理系统可使用的数据。TP算法模块将目标坐标数据传输至该虚拟光驱中的获取坐标模块,该获取坐标模块可以将该坐标进行保存,并将该目标坐标数据返回TP驱动。该TP驱动通过IOCTRL模块将数据传输至数据上报模块。数据上报模块将目标坐标数据上报至输入管理系统(即InputManager)。由输入管理系统将目标坐标数据返回对应的应用程序。例如,若用户点击输入法应用,该输入管理系统获取到该点击操作的目标坐标数据,确定该点击操作的目标坐标对应的应用为输入法应用,则可以将该目标坐标数据上传至应用层中的输入法应用,由该应用响应该点击操作。
在一些实施例中,应用层中的应用也可以影响触摸显示屏中的显示设置,例如,闹铃在指定时间唤醒界面,应用程序A模拟的对显示屏的点击操作。应用程序可以通过HIDL服务将对显示屏中的进行操作的坐标数据传递至虚拟光驱,虚拟光驱将数据传递至器件驱动,由器件驱动传递至获取原始坐标数据模块。其中,HIDL 是用于指定 HAL 层与其用户之间接口的一个接口描述语言(Interface Description Language),即用于进行进程间通信(Inter-process Communication,IPC)。进程间的通信可以称为 Binder 化(Binderized)。
此外,屏幕的待机唤醒或充电状态等特殊情况也可以通过TP驱动上报输入管理系统,如图3中所示,充电状态通过TP驱动中的回调函数、IOCTR传递至数据上报模块,由数据上报模块向输入管理系统上报充电状态的信息。
本申请实施例提供一种显示屏的触控操作的方法,该方法由电子设备执行,电子设备可以是具有显示屏的电子设备,如大屏幕手机、平板电脑、折叠屏手机等。电子设备在检测到触控操作后,判断产生该触控操作的第一对象是否处于第一握持姿态,若确定第一对象处于第一握持姿态后,丢弃该触控操作对应的坐标信息,即不向输入管理系统上报该触控操作。其中,第一握持姿态为第一对象的四指位于电子设备的后壳,第一对象(即用户的左手或右手)的拇指或手掌按压于显示屏且靠近电子设备的边框位置,以使电子设备固定于拇指与四指之间的姿态。电子设备在检测到触控操作时,对第一对象进行检测,不上报用户在握持电子设备而产生的触控操作,从而使得用户处于第一握持姿态时,输入其他触控操作时,电子设备的显示屏不再锁定,可以正常响应其他触控操作,提高用户的使用体验。
图4为本申请实施例示出的一种电子设备100的结构示意图。应该理解的是,图4示电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图4中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备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可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
图5是本申请实施例的电子设备100的软件结构框图。
电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,HAL层和内核层。
应用程序层可以包括一系列应用程序包。
如图5所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(ApplicationProgramming Interface,API)和编程框架,包括各种组件和服务来支持开发者的安卓开发。应用程序框架层包括一些预先定义的函数。如图5所示,应用程序框架层可以包括输入管理系统(InputManager),还可以包括其他模块,如视图系统、窗口管理器、资源管理器、内容提供器、通知管理器、摄像头服务等(未在图5中示出)。
输入管理系统主要功能就是监听Android的输入事件,及时将屏幕点击、按键事件、滚动球产生的输入事件转换成java层可使用的事件,比如Motionevent,Keyevent等将其从底层设备获取出来的数据传递至Android系统或者应用程序,然后由系统或者应用程序做出相应的处理。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
摄像头服务用于响应于应用的请求,调用摄像头(包括前置摄像头和/或后置摄像头)。
HAL层为位于操作系统内核与硬件电路之间的接口层。HAL层包括但不限于:触摸验证模块、虚拟光驱(即daemon)和TP算法模块。
内核层是硬件和上述软件层之间的层。内核层至少包含触摸屏驱动、传感器驱动;该内核层还可以包含其他驱动,如摄像头驱动,音频驱动等。其中,该硬件可以包括传感器、摄像头、显示屏,麦克风,处理器,以及存储器等器件。
在一些实施例中,硬件层中的触摸屏芯片用于检测触摸屏中电容值的变化,并将发生电容值变化的位置信息上报触摸屏驱动(即Touch Driver)。触摸屏驱动中的器件驱动通过SPI(Serial Peripheral Interface,串行外设接口)读取模拟前端(AFE)模块生成的矩阵空间(即Rawdata)数据。器件驱动将生成的Rawdata数据复制到一个缓存中缓存。HAL层(Hardware Abstraction Layer,硬件抽象层)可以通过IOCTL函数从TP驱动中获取缓存的Rawdata数据。HAL层将Rawdata数据传递至虚拟光驱(即daemon)。该虚拟光驱中的获取原始坐标数据模块获取该Rawdata数据,并将该Rawdata数据转化为HAL层可使用的格式。该获取原始坐标数据模块将转换后的数据传递至TP算法模块,由TP算法模块根据原始坐标数据生成第一坐标信息。TP算模块将第一坐标信息传输至该虚拟光驱中的获取坐标模块,该获取坐标模块可以将该第一坐标信息进行保存,并将该第一坐标信息返回TP驱动。该获取坐标模块还将第一坐标信息数据上传至触摸验证模块。由该触摸验证模块根据第一坐标信息,或者根据第一坐标信息和传感器采集的电子设备的姿态数据,确定当前产生触控操作的第一对象是否处于第一握持姿态,若该触摸验证模块确定该第一对象处于第一握持姿态,该触摸验证模块可以指示触摸屏驱动不向输入管理系统上报该第一坐标信息;若该触摸屏验证模块确定第一对象未处于第一握持姿态,则指示该触摸屏驱动上报该第一坐标信息。
可以理解的是,图5示出的各软件层包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
图6为示例性示出的一种显示屏的触控操作的流程图。本示例中电子设备以手机为例,该显示屏的触控操作的过程包括如下步骤:
步骤601:手机响应于用户的第一触控操作,判断第一对象是否处于第一握持姿态,第一对象为用户用于进行第一触控操作的手。若手机确定第一对象处于第一握持姿态,则执行步骤602,若手机确定第一对象未处于第一握持姿态,则确定执行步骤603。
示例性地,该手机包括支持触摸功能的显示屏。当手机显示屏的宽度大于第一宽度阈值时,用户不能通过一只手稳定握持手机的同时进行任意的触控操作,如,用户右手握持手机,同时右手的拇指不能对显示屏进行任意触控操作。可选地,该第一宽度阈值可以为用户握持电子设备的最大宽度,例如,用户握持手机的最大宽度12厘米,手机显示屏的宽度为14厘米,即用户握持该手机时无法通过一只手在稳固手机的同时进行触控操作。此时,需要用户使用一只手稳定手机,另一只手对手机进行触控操作,如图1所示的握持姿态。
本示例中,当手机检测到第一触摸操作时,手机可以判断该第一对象是否处于第一握持姿态。
在一些实施例中,手机可以获取该第一触控操作的坐标信息作为第一坐标信息,并判断该第一坐标信息是否处于第一边缘范围内;若确定第一坐标信息处于第一边缘范围内,判断在预设时长内是否持续获取到该第一坐标信息。
具体地,第一边缘范围可以预先设置。由于不同的电子设备的尺寸和像素密度不同,为了适配不同电子设备。可选地,电子设备可以根据当前显示屏的尺寸信息和像素密度,确定每个像素在显示屏中的尺寸;获取N个像素的尺寸作为该显示屏的内边距的尺寸,N为大于0的整数;将内边距所处的位置作为第一边缘范围。例如,手机A的尺寸为y(英寸),y为大于1的整数。该像素密度为x ppi。手机可以获取N个像素的尺寸,即N/x作为内边距的尺寸,N可以是1、3、5、10、20等。
可选地,电子设备可以获取距离显示屏边界N个像素的位置作为第一边缘范围。也就是可以不限于内边距的区域作为第一边缘范围。例如,显示屏与边框相邻的位置作为第一边缘范围的起始位置,从起始位置的N个像素的位置作为第一边缘范围的边界位置,当第一坐标信息处于该起始位置和边界位置之间,则确定该第一坐标信息位于该第一边缘范围之内。
在一些实施例中,手机的触摸验证模块获取第一触控操作对应的第一坐标信息,若检测到该第一坐标信息位于该第一边缘范围之内,则判断在预设时长内是否持续接收到该第一坐标信息,预设时长可以是小于或等于2秒的时长,如预设时长为1秒、1.5秒、2秒等。
手机的触摸验证模块获取第一坐标信息的过程可以参照图5中的过程,此处将不再进行赘述。
在一些实施例中,触摸验证模块可以在获取到第一坐标信息时,先检测当前手机是否支持多指触控操作,若确定当前手机支持多指触控操作,则执行判断第一坐标信息是否处于第一边缘范围内的步骤。该手机可以通过isSupportMultiTouch()方法分别对每种触控操作进行查询,获取到当前应用的context页面是否支持该种触控的检测结果。若该context页面支持任意一种多指触控操作,则确定该手机当前支持多指触控操作,若该context页面不支持所有种类的多指触控操作,则确定该手机当前不支持多指触控操作。可选地,触控操作包括:2指触控操作、2指以上的触控操作或5指以上的触控操作。
当手机检测到第一坐标信息处于第一边缘范围内且在预设时长内持续获取到该第一坐标信息,该手机还可以继续判断是否还获取到除第一坐标信息之外的坐标信息,若该手机还接收到其他坐标信息,表明当前手机除了第一触控操作还有其他的触控操作。手机可以判定当前产生第一触控操作的第一对象处于第一握持状态,可以执行步骤602。若手机为接收到其他坐标信息,则该手机可以执行步骤603。
本示例中,手机判断是否支持多指触控操作,并检测是否还接收到其他触控操作,可以避免出现误判断的问题,例如,可以排除用户长按屏幕快进视频等特殊情况,提高判断第一对象是否处于第一握持姿态的准确性。
步骤602:手机确定不向输入管理系统上报第一触控操作。
示例性地,手机中HAL层的触摸验证模块确定指示触摸屏驱动不向输入管理系统上报第一触控操作对应的第一坐标信息。可选地,触摸屏驱动可以将该第一坐标信息丢弃或忽略。
在一些场景中,该触摸屏驱动不向输入管理系统上报第一触控操作,若此时用户输入第二触控操作(即除第一触控操作之外的其他触控操作),可以对该第二触控操作进行如步骤601的检测,判断执行第二触控操作的对象是否处于第一握持姿态,当检测到执行第二触控操作的对象不处于第一握持状态,则确定向输入管理系统上报该第二触控操作,即该手机可以响应于该第二触控操作,执行与第二触控操作对应的指令。例如,在检测到第一触控操作时,用户同时点击输入法应用的图标(即第二触控操作),HAL层的触摸验证模块指示触摸屏驱动不向输入管理系统上报第一触控操作。在检测到第二触控操作,HAL层的触摸验证模块指示触摸屏驱动向输入管理系统上报第二触控操作。该触摸屏驱动可以向输入管理系统上报第二触摸操作对应的第二坐标信息。输入管理系统根据第二坐标信息以及输入法应用的图标的位置信息,将第二坐标信息上报输入法应用,由输入法应用根据该第二坐标信息,启动输入应用。
步骤603:手机确定向输入管理系统上报第一触控操作。
该手机中HAL层的触摸验证模块确定指示触摸屏驱动向输入管理系统上报第一触控操作对应的第一坐标信息。
本示例中,手机在检测到第一触控操作后,通过判断第一坐标信息是否处于第一边缘范围之内,从而筛除用户主动点击屏幕的情况;在确定第一坐标信息处于第一边缘范围之内后,继续判断是否持续接收到第一坐标信息,通过该判断可以排除用户误触的情况,提高判断的准确性。当确定第一对象处于第一握持姿态后,不上报第一触控操作的第一坐标信息,使得显示屏不会发生锁定现象,当第一对象处于第一握持姿态时,电子设备还可以响应于用户输入的其他触控操作,提高用户使用触摸屏的使用体验。
在一些实施例中,电子设备的显示屏可以是折叠屏,该显示屏包括内屏和外屏。电子设备在判断第一坐标是否处于第一边缘范围内之前,判断电子设备是否处于展开状态以及检测电子设备是否支持多指触控操作。电子设备通过增加的判断条件,可以进一步提高判断第一对象是否处于第一握持姿态的准确性,避免出现误判断的情况。该判断第一对象是否处于第一握持姿态的流程可以如图7所示。
步骤701:电子设备获取第一坐标信息。
示例性地,电子设备为可折叠手机,该手机的显示屏包括内屏和外屏,外屏为处于折叠状态时运行的屏幕;内屏为可折叠手机处于展开状态时运行的屏幕。当用户触摸该显示屏时,产生第一触控操作。该手机的触摸屏IC可以获取到该显示屏中电容值发生变化的矩阵空间数据。将矩阵空间数据传递至触摸屏驱动,触摸屏(即TP)驱动中的器件驱动将生成的Rawdata数据复制到一个缓存中缓存。HAL层可以通过IOCTL函数从TP驱动中获取缓存的Rawdata数据。HAL层中的器件驱动将Rawdata数据传递至虚拟光驱(即daemon)。该虚拟光驱中的获取原始坐标数据模块获取该Rawdata数据,并将该Rawdata数据转化为HAL层可使用的格式。该获取原始坐标数据模块将转换后的数据传递至TP算法模块,由TP算法模块根据原始坐标数据生成第一坐标信息。TP算模块将第一坐标信息传输至该虚拟光驱中的获取坐标模块,该获取坐标模块可以将该第一坐标信息进行保存。该获取坐标模块将第一坐标信息传递至触摸验证模块。
该电子设备中的触摸验证模块获取到该第一坐标信息。可选地,触摸验证模块获取第一坐标信息的步骤还可以在判断电子设备是否处于展开状态之后执行,或者在检测电子设备当前是否支持多指触控操作之后执行。
步骤702:电子设备判断电子设备是否处于展开状态。若确定电子设备处于展开状态,则执行步骤703,否则,执行步骤708。
示例性地,折叠屏手机的姿态包括:折叠状态、支架状态和展开状态。折叠状态为内屏和外屏处于折叠,使得该内屏和外屏之间的夹角为0度。支架状态为在手机处于水平状态时,内屏与外屏之间的角度为小于等于45度。展开状态为该内屏与外屏之间的角度处于150度~180度之间。图8为示例性示出的手机的3个状态的示意图。如图8所示,点O为内屏与外屏之间的交点,当内屏和外屏之间的角度处于0~45度之内,该手机的姿态处于折叠状态,手机在折叠状态下由外屏显示图像。当内屏与外屏之间的夹角处于45~150度,该手机的姿态处于支架状态,当手机处于支架状态时,手机的内屏显示图像。当内屏与外屏之间的夹角处于150度与180度之间时,该手机的姿态处于展开状态。当手机处于展开状态时,由手机的内屏显示图像。
手机可以通过获取传感器采集的数据,确定当前手机是否处于展开状态。可选地,传感器可以是加速度传感器(如G Sensor、A+G Senor等)。图9为示例性示出的手机获取其姿态的框架图。如图9所示,硬件传感器采用A Sensor和G Sensor两个传感器,A Sensor为加速度传感器,GSensor为重力传感器。传感器采集到的数据传递至传感器控制中心(即Sensor Hub)。传感器控制中心可以驱动集成合页角算法,传感器控制中心将A Sensor采集的数据、G Sensor采集的数据和合页角算法传递至铰链传感器(Hinge Sensor)。由铰链传感器根据ASensor采集的数据、G Sensor采集的数据,生成合页角的角度数据,该合页角为内屏和外屏之间的夹角。该合页角的角度数据可以表示为:[1]双屏夹角角度;[2]用于标识数据是否正常,当数据为0时,指示为数据正常,当数据为负数时,指示为未知(unkown)。[3-14]用于指示A+G数据,[15]用于指示精度,[16]为预留位。Hal层中的铰链传感器(HingeSensor)将角度数据(即第一数据)传递至第一姿态机(即第一姿态传感器),由第一姿态机根据姿态算法生成第一姿态数据,该第一姿态数据(以values标识)表示为:values[0]表示当前姿态类型,values[1]为双屏夹角角度,values[2]是A面或者B面水平,A面指示内屏显示的表面,B面指示外屏显示的表面。其中,姿态类型即为折叠屏手机的姿态,包括:折叠状态、支架状态和展开状态。可选地,该第一姿态机可以将第一姿态数据上传至应用程序框架层中的FSMS(Fold ScreenManage Service,折叠屏幕管理服务)中,该FSMS包括第二姿态机和折叠策略(FoldPolicy)模块,第二姿态机将获取的第一姿态上传至折叠策略模块,该折叠策略模块根据获取第一姿态的变化确定切换策略,并将确定的切换策略传输至显示管理服务(Display Manager Service,“DMS”),该DMS根据切换策略控制内屏、外屏的亮屏、内屏和外屏之间的切换等。
可选地,HAL层中的触摸验证模块可以从管道中获取Sensor数据或者通过回调函数获取Sensor数据。该触摸验证模块判断该第二姿态是否为展开状态,若确定第二姿态为展开状态,则确定执行步骤703。
图10为示例性示出的手机中传感器数据的传输的框架图。如图10所示,传感器数据的传输过程可以理解为在安卓各层之间的数据传输过程。位于本机客户端服务(即Native Client Server)的SensorServive、Bittube、SensorDevice负责从HAL层读取数据,并将数据写到管道中。java层的SensorManager、SystemSensorManager,位于NativeclientServer的SensorManager、SensorEventQueue通过管道读取数据。
该java层的SensorManager为抽象类,该类可以由应用层直接使用,为应用层提供的接口。java层的SystemSensorManager继承于java层的SensorManager,用于处理消息的实例,应用程序通过获取该实例,并注册监听接口,可以获取Sensor数据。位于Nativeclient Server的SensorManager负责与SensorService通信。SensorEventQueue为消息队列。SensorServive为用于处理数据的中心,Bittube中创建了管道,用于各类之间的读写数据,SensorDevice负责从HAL层读取数据。
如图10所示,应用程序(如图10中的JavaApplicationOne)需要获取传感器数据时,当该应用程序初始化时,创建SystemSensorManager实例对象,该SystemSensorManager继承于java层的SensorManager。SystemSensorManager通过JNI(Java Native Interface,本地接口)创建本机客户端服务层的SensorManager。该本机客户端服务层的SensorManager可以获取传感器类型,进而查找到所需的传感器类型对应的Sensor服务(即SensorServer)。Sensor服务的主要流程实现在SensorService类中,ISensorServer接口为位于本机客户端服务的SensorManager提供调用的方法。该ISensorServer接口中提供CreateSensorEventConnection()方法,可以返回一个SensorEventConnection的实例,创建连接。位于本机客户端服务的SensorManager拿到SensorEventConnection实例之后,可以对Sensor进行通信操作。Sensor数据通过管道进行传输。SensorEventConnection实例中创建有BitTube对象,该BitTube对象里面创建了管道。
该SensorService通过使用SensorDevice实例从HAL层获取Sensor数据(如图10中所示),将数据写入管道中。位于Nativeclient Server的SensorManager、SensorEventQueue、 java层的SystemSensorManager和 SensorManager则可以从管道中读取数据。
当Sensor数据从下层往上层传递,HAL层中的触摸验证模块可以从管道中获取Sensor数据。可选地,该触摸验证模块可以通过SensorService中的回调函数,获取Sensor数据。位于本机客户端服务(即NativeClient Server)的SensorManager创建消息队列(SensorEventQueue),该消息队列中有一个管道,该管道用于传输Sensor数据。通过消息队列中的回调函数即可从管道中获取Senor数据。
图11为示例性示出的应用程序获取Sensor数据的交互图。如图11所示,应用程序可以通过read()方法获取Sensor数据。具体地,客户端的消息队列(即SensorEventQueue)响应于read()方法,采用RecvObjects()方法从BitTube中读取数据。该RecvObjects()为接收序列化对象的方法。BitTube响应于RecvObjects()从Socket中获取数据,该 Socket即为传输管道。基于此,由于BitTube可以从管道中获取Sensor数据,HAL层中的模块可以通过BitTube中的读取方法从管道中获取Sensor数据。
在一些实施例中,第一姿态机获取到所需的传感器采集的数据,确定第一姿态;触摸验证模块可以获取该第一姿态,并给予第一姿态判断当前电子设备的姿态是否为展开状态。若确定为展开状态,则执行步骤703。若确定电子设备的姿态为折叠状态或支架状态,则执行步骤708。
步骤703:电子设备检测该电子设备当前是否支持多指触控操作。若确定电子设备当前支持多指触控操作,则执行步骤704,否则,执行步骤708。
示例性地,当确定电子设备确定为展开状态后,还可以检测该电子设备是否支持多指触控操作。可选地,该触摸验证模块可以获取电子设备的属性信息,判断属性信息中是否存在触控检测信息,该触控检测信息用于指示该电子设备支持多指触控操作。若检测到属性信息中存在该触控检测信息,则确定该电子设备支持多指触控操作。
举例来说,该触摸验证模块可以从当前应用的特征属性信息,例如,触摸验证模块可以通过isSupportMultiTouch()方法分别对每种多指触控操作进行检测,获取当前应用的context页面是否支持当前查询的多指触控操作的检测结果。
举例来说,触摸验证模块通过isSupportMultiTouch()方法查询当前应用的context页面是否支持两个手指的手势。
输入的多指触控操作的检测信息为“FEATURE_TOUCHSCREEN_MULTITOUCH”,若该方法返回的检测结果为true,则确定该当前应用context页面支持两个手指的操作。若该方法返回的检测结果为false,则确定该当前应用context页面不支持两个手指的操作。
该触摸验证模块通过isSupportMultiTouch()方法查询查询当前应用的context页面是否支持2指以上的手势。输入的多指触控操作的检测信息为:
“FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT”,
若该方法返回的检测结果为true,则确定该当前应用context页面支持两个以上手指触控的操作。若该方法返回的检测结果为false,则确定该当前应用context页面不支持两个以上手指触控的操作。
该触摸验证模块通过isSupportMultiTouch()方法查询查询当前应用的context页面是否支持5指以上的手势。输入的多指触控操作的检测信息为:
“FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND”,
若该方法返回的检测结果为true,则确定该当前应用context页面支持5个以上手指触控的操作。若该方法返回的检测结果为false,则确定该当前应用context页面不支持5个以上手指触控的操作。
需要说明的是,当以上三个检测结果均为false,则确定当前应用的context页面不支持触控操作,若以上三个检测结果中任一个检测结果为true,则确定当前应用的context页面支持触控操作。
多指触控操作的检测信息包括如下3种:
FEATURE_TOUCHSCREEN_MULTITOUCH;
FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT;
FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND。
其中,FEATURE_TOUCHSCREEN_MULTITOUCH指示该设备的触摸屏支持两个手指的手势检测。
FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT指示该设备的触摸屏支持两个以上的手指的手势检测。
FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND指示设备的触摸屏支持5个以上的手指的手势检测。
步骤704:电子设备判断第一坐标信息是否处于第一边缘范围内。若确定第一坐标信息处于第一边缘范围内,则执行步骤705,否则,执行步骤708。
该步骤与步骤601中的检测过程类似,此处将不再进行赘述。
步骤705:电子设备判断在预设时长内是否持续获取到第一坐标信息。若确定在预设时长内持续获取到第一坐标信息,则执行步骤706,否则执行步骤708。
该步骤与步骤601中的检测过程类似,此处将不再进行赘述。
步骤706:电子设备检测是否同时有其他的坐标信息。若确定同时获取其他的坐标信息,则执行步骤707,否则,执行步骤708。
示例性地,该触摸验证模块若确定还获取到除第一坐标信息之外的坐标信息,则确定执行步骤707,否则执行步骤708。
步骤707:电子设备放弃向输入管理系统上报该第一坐标信息。
步骤708:电子设备向输入管理系统上报该第一坐标信息。
本示例中,当电子设备的显示屏包括内屏和外屏时,当电子设备处于展开状态时,用户的手掌不能即稳固电子设备同时对屏幕进行触控操作。电子设备可以检测该电子设备的状态是否处于展开状态,当电子设备处于展开状态时,再对进行后续的判断,而当电子设备未处于展开状态时,结束判断流程。通过对电子设备是否处于展开状态的判断,增加了判断第一对象是否处于第一握持姿态的判断条件,可以提高判断第一对象是否处于第一握持姿态的准确性。此外,通过判断当前电子设备是否支持多指触控,并判断是否还检测到其他的触控操作,可以确定出当前场景中是否用户需要进行除第一触控操作之外的操作,进一步确定产生第一触控操作的第一对象处于第一握持姿态,提高判断的准确性,避免出现误判断导致未上报触控操作对应的坐标信息的问题。
图12为示例性示出的一种应用显示屏的触控操作的方法的应用场景。如图12的12a所示,该折叠屏手机处于展开状态,处于展开状态时由于屏幕尺寸大,用户无法使用右手握持手机的同时使用右手进行各种触控操作,如点击屏幕中的输入法应用1202。如12a所示,用户按照12a所示的握持姿态握持手机,即右手4指托举在该手机的后壳位置,拇指和手掌按压在显示屏1201的边缘位置。当拇指和手掌按压在显示屏1201上时,产生第一触控操作。触摸屏IC检测触摸屏中电容值的变化,并将发生电容值变化的位置信息上报触摸屏驱动(即Touch Driver)。触摸屏驱动中的器件驱动通过SPI读取模拟前端(AFE)模块生成的矩阵空间(即Rawdata)数据。器件驱动将生成的Rawdata数据复制到一个缓存中缓存。HAL层可以通过IOCTL函数从TP驱动中获取缓存的Rawdata数据。HAL层将Rawdata数据传递至虚拟光驱(即daemon)。该虚拟光驱中的获取原始坐标数据模块获取该Rawdata数据,并将该Rawdata数据转化为HAL层可使用的数据。该获取原始坐标数据模块将转换后的数据传递至TP算法模块,由TP算法模块根据原始坐标数据生成第一坐标信息。TP算模块将第一坐标信息传输至该虚拟光驱中的获取坐标模块,该获取坐标模块可以将该第一坐标信息进行保存,并将该第一坐标信息返回TP驱动。该获取坐标模块将第一坐标信息上传至触摸验证模块。触摸验证模块接收到第一坐标信息后,可以指示第一姿态机获取到所需的传感器采集的数据,确定第一姿态;第一姿态数据包括当前手机所处的姿态(姿态类型包括:折叠状态、展开状态和支架状态)。触摸验证模块判断当前电子设备的姿态是否为展开状态,若确定当前电子设备处于展开状态,则检测当前手机是否支持多指触控操作。触摸验证模块检测到支持多指触控操作,则判断第一坐标信息是否处于第一边缘范围内,第一边缘范围为N个像素的内边距区域,N为大于0的整数。该触摸验证模块确定该第一坐标信息处于第一边缘范围内且在2秒内持续接收到第一坐标信息,该触摸验证模块判断是否还检测到第二坐标信息。该触摸验证模块检测到第二坐标信息(即用户使用左手202点击输入法应用1202对应的坐标信息),则确定触摸屏驱动不向输入管理系统上报第一坐标信息。
本示例中,在用户使用左手202点击输入法应用1202的图标时,产生第二触控操作。触摸屏IC检测触摸屏中电容值的变化,并将发生电容值变化的位置信息上报触摸屏驱动(即Touch Driver)。触摸屏驱动中的器件驱动通过SPI读取模拟前端(AFE)模块生成的矩阵空间(即Rawdata)数据。器件驱动将生成的Rawdata数据复制到一个缓存中缓存。HAL层可以通过IOCTL函数从TP驱动中获取缓存的Rawdata数据。HAL层将Rawdata数据传递至虚拟光驱(即daemon)。该虚拟光驱中的获取原始坐标数据模块获取该Rawdata数据,并将该Rawdata数据转化为HAL层可使用的数据。该获取原始坐标数据模块将转换后的数据传递至TP算法模块,由TP算法模块根据原始坐标数据生成第二坐标信息。TP算模块将第二坐标信息传输至该虚拟光驱中的获取坐标模块,该获取坐标模块可以将该第二坐标信息进行保存,并将该第二坐标信息返回TP驱动。该获取坐标模块将第二坐标信息上传至触摸验证模块。触摸验证模块接收到第二坐标信息后,可以指示第一姿态机获取到所需的传感器采集的数据,确定第一姿态;第一姿态数据包括当前手机所处的姿态(姿态类型包括:折叠状态、展开状态和支架状态)。触摸验证模块判断当前电子设备的姿态是否为展开状态,若确定当前电子设备处于展开状态,则检测当前手机是否支持多指触控操作。触摸验证模块检测到支持多指触控操作,则判断第二坐标信息是否处于第一边缘范围内。该触摸验证模块检测到第二坐标信息未处于第一边缘范围内,则确定向输入关联系统上报该第二坐标信息。该触摸验证模块指示该触摸屏驱动向输入管理系统上报第二坐标信息。输入法管理系统将第二坐标信息传输至输入法应用,输入法应用启动键盘,如图12的12b所示,显示屏1203中显示软键盘,该手指202可以点击软件盘中的按键进行输入操作。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的显示屏的触控操作方法。存储介质包括:U盘、移动硬盘、只读存储器(ReadOnlyMemory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的显示屏的触控操作方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本申请的范围之内。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (12)
1.一种显示屏的触控操作方法,其特征在于,应用于具有显示屏的电子设备,所述方法包括:
响应于用户的第一触控操作,判断第一对象是否处于第一握持姿态,所述第一对象为所述用户用于进行所述第一触控操作的手,所述第一握持姿态为所述第一对象的四指位于所述电子设备的后壳且所述四指全部位于所述后壳上,所述第一对象的拇指或手掌按压于所述显示屏且靠近所述电子设备的边框位置,以使沿第一方向依次为所述拇指、所述电子设备和所述四指,所述第一方向为从所述显示屏指向所述后壳的方向;
当确定所述第一对象处于所述第一握持姿态时,则确定不向输入管理系统上报所述第一触控操作;
响应于用户的第一触控操作,判断第一对象是否处于第一握持姿态,包括:
检测所述电子设备当前是否支持多指触控操作;
当检测到所述电子设备支持多指触控操作时,获取所述第一触控操作的坐标信息作为第一坐标信息;
判断所述第一坐标信息是否处于预设的第一边缘范围内,所述第一边缘范围为与所述显示屏的边界相差预设距离的位置;
当确定所述第一坐标信息处于所述第一边缘范围内时,判断在预设时长内是否持续获取到所述第一坐标信息,获得第一判断结果;
当所述第一判断结果指示在预设时长内持续获取到所述第一坐标信息时,判断是否获取到除所述第一坐标信息之外的触控操作的坐标信息;
当确定获取到除所述第一坐标信息之外的触控操作的坐标信息时,确定所述第一对象处于所述第一握持姿态。
2.根据权利要求1所述的方法,其特征在于,在判断所述第一坐标信息是否处于预设的第一边缘范围内之前,所述方法还包括:
获取所述显示屏的尺寸信息和像素密度,所述尺寸信息包括所述显示屏的宽度和长度;
根据所述显示屏的尺寸信息和像素密度,确定当前显示屏的第一边缘范围。
3.根据权利要求2所述的方法,其特征在于,所述根据所述显示屏的尺寸信息和像素密度,确定当前显示屏的第一边缘范围,包括:
根据所述显示屏的尺寸信息和像素密度,确定每个像素在所述显示屏中的尺寸;
获取N个像素的尺寸作为该显示屏的内边距的尺寸,N为大于0的整数;
将所述内边距所处的位置作为所述第一边缘范围。
4.根据权利要求2至3中任一项所述的方法,其特征在于,所述显示屏属于折叠屏,所述显示屏包括:内屏和外屏;
在判断第一对象是否处于第一握持姿态之前,所述方法还包括:
检测所述显示屏是否处于展开状态,所述展开状态为所述内屏与所述外屏之间夹角处于第一预设范围内,所述第一预设范围为:大于150度,且小于或等于180度;
当确定所述显示屏处于展开状态,则确定执行判断第一对象是否处于第一握持姿态的步骤。
5.根据权利要求4所述的方法,其特征在于,在检测所述显示屏是否处于展开状态之前,所述方法还包括:
获取传感器采集的第一数据和第二数据,所述第一数据包括所述内屏和所述外屏之间的角度,所述第二数据包括所述电子设备的加速度数据;
根据所述第一数据和第二数据,确定所述电子设备当前所处的姿态。
6.根据权利要求5所述的方法,其特征在于,所述电子设备的姿态包括:折叠状态、支架状态以及展开状态;
当所述电子设备处于折叠状态时,所述内屏与所述外屏之间的夹角的范围为:大于0度,且小于或等于45度;
当所述电子设备处于支架状态时,所述内屏与所述外屏之间的夹角的范围为:大于45度,且小于或等于150度。
7.根据权利要求5所述的方法,其特征在于,所述获取传感器采集的第一数据和第二数据,包括:
所述电子设备的硬件抽象层通过调用传感器服务中的回调函数,获取所述第一数据和第二数据。
8.根据权利要求5所述的方法,其特征在于,所述获取传感器采集的第一数据和第二数据,包括:
所述电子设备的硬件抽象层通过进程通信机制中的读取方法从传感器服务对应的管道中读取第一数据和第二数据。
9.根据权利要求1所述的方法,其特征在于,所述检测所述电子设备当前是否支持多指触控操作,包括:
分别对每种触控操作进行检测,获取每种触控操作的检测结果,每种触控操作的检测结果用于指示当前应用的上下文页面是否支持所述触控操作;
若检测到当前应用的上下文页面支持任意一种触控操作,则确定所述电子设备当前支持多指触控操作。
10.根据权利要求1所述的方法,其特征在于,所述预设时长的取值范围为:大于0且小于或等于2秒。
11.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器与所述处理器耦合;
所述存储器存储有程序指令,当所述程序指令由所述处理器执行时,使得所述电子设备执行如权利要求1-10中任意一项所述显示屏的触控操作方法。
12.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-10中任意一项所述的显示屏的触控操作方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310048298.2A CN115808991B (zh) | 2023-01-31 | 2023-01-31 | 显示屏的触控操作方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310048298.2A CN115808991B (zh) | 2023-01-31 | 2023-01-31 | 显示屏的触控操作方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115808991A CN115808991A (zh) | 2023-03-17 |
CN115808991B true CN115808991B (zh) | 2023-07-07 |
Family
ID=85487469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310048298.2A Active CN115808991B (zh) | 2023-01-31 | 2023-01-31 | 显示屏的触控操作方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115808991B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115469795A (zh) * | 2022-10-20 | 2022-12-13 | 维沃移动通信有限公司 | 触控操作处理方法、装置、电子设备及可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104020878A (zh) * | 2014-05-22 | 2014-09-03 | 小米科技有限责任公司 | 触摸输入控制方法及装置 |
KR102618480B1 (ko) * | 2016-08-17 | 2023-12-29 | 삼성전자주식회사 | 전자 장치 및 그의 운용 제공 방법 |
CN109656493A (zh) * | 2017-10-10 | 2019-04-19 | 中兴通讯股份有限公司 | 控制方法及装置 |
CN111752465A (zh) * | 2019-03-29 | 2020-10-09 | 北京小米移动软件有限公司 | 防止边缘误触控的方法、装置及存储介质 |
US11513604B2 (en) * | 2020-06-17 | 2022-11-29 | Motorola Mobility Llc | Selectable response options displayed based-on device grip position |
-
2023
- 2023-01-31 CN CN202310048298.2A patent/CN115808991B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115469795A (zh) * | 2022-10-20 | 2022-12-13 | 维沃移动通信有限公司 | 触控操作处理方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115808991A (zh) | 2023-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020155876A1 (zh) | 控制屏幕显示的方法及电子设备 | |
US10558835B2 (en) | Electronic device and method for acquiring fingerprint information | |
CN107291356B (zh) | 文件传输显示控制方法、装置及相应的终端 | |
KR102330829B1 (ko) | 전자 장치에서 증강현실 기능 제공 방법 및 장치 | |
US9823762B2 (en) | Method and apparatus for controlling electronic device using touch input | |
WO2020258929A1 (zh) | 文件夹界面切换方法及终端设备 | |
CN109471692B (zh) | 一种显示控制方法及终端设备 | |
WO2021098695A1 (zh) | 信息分享方法及电子设备 | |
WO2021121335A1 (zh) | 具有柔性屏幕的电子设备的显示方法和电子设备 | |
EP3316113A1 (en) | Electronic device having hole area and method of controlling hole area thereof | |
WO2021037223A1 (zh) | 一种触控方法与电子设备 | |
WO2019174541A1 (zh) | 移动终端的操作方法及移动终端 | |
CN109857289B (zh) | 显示控制方法及终端设备 | |
US11481357B2 (en) | Album display method, electronic device, and storage medium | |
CN110752981B (zh) | 一种信息控制方法及电子设备 | |
US10055119B2 (en) | User input method and apparatus in electronic device | |
CN111026464A (zh) | 一种识别方法及电子设备 | |
WO2021037073A1 (zh) | 控制方法及终端设备 | |
WO2020220893A1 (zh) | 截图方法及移动终端 | |
CN111316618B (zh) | 一种网络页面保存方法及终端 | |
KR102536148B1 (ko) | 전자 장치의 동작 방법 및 장치 | |
WO2019019818A1 (zh) | 加快黑屏手势处理的方法、装置、存储介质及移动终端 | |
KR20180014614A (ko) | 전자 장치 및 전자 장치의 터치 이벤트 처리 방법 | |
US11989399B2 (en) | Display method and electronic device | |
CN111124709A (zh) | 一种文本处理方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |