可折叠屏幕防误触的方法、设备和存储介质与流程

文档序号:31061493发布日期:2022-08-09 19:43阅读:139来源:国知局
可折叠屏幕防误触的方法、设备和存储介质与流程

1.本技术涉及防误触技术领域,尤其涉及一种可折叠屏幕防误触的方法、设备和存储介质。


背景技术:

2.可折叠屏幕(简称折叠屏)一般由两块较小屏幕构成,当折叠屏完全展开时,电子设备用两块较小屏幕组合成的大屏幕显示图像,当折叠屏折叠时,电子设备用其中一块较小屏幕,或者用不属于可折叠屏幕的一块独立屏幕显示图像。
3.在一些折叠屏的使用场景中,折叠屏可能会部分展开,此时折叠屏的弯折区域,即两块较小屏幕相连接的区域容易被误触。


技术实现要素:

4.针对上述问题,本技术提供了一种可折叠屏幕防误触的方法、设备和存储介质,以防止折叠屏部分展开时折叠屏弯折区域被误触而干扰电子设备的正常使用,改善电子设备的折叠屏的使用体验。
5.为了实现上述目的,本技术提供了以下技术方案:
6.本技术第一方面提供一种可折叠屏幕防误触的方法,应用于具有可折叠屏幕的电子设备,所述可折叠屏幕具有第一屏和第二屏,所述方法包括:
7.响应所述可折叠屏幕和物体的接触,确定所述可折叠屏幕处于展开状态,在所述展开状态下所述第一屏和所述第二屏之间具有夹角;
8.上述步骤可以参见图8所示的步骤s801,其中,上述展开状态,相当于图1的(b)所示的部分展开状态;
9.根据所述可折叠屏幕和物体接触时获得的接触数据,确定所述接触数据对应的接触点是否在所述可折叠屏幕的弯折区域,根据所述接触数据确定所述接触点是否为误触点;
10.其中,接触数据可以视为图7所示的实施例中的电容值变化消息所包含的数据;
11.上述步骤可以参见图8所示的步骤s802至s804;
12.若所述接触点在所述可折叠屏幕的弯折区域且所述接触点为误触点,禁止所述电子设备执行所述接触指示的操作。
13.上述步骤可以参见图8所示的步骤s805。
14.本方案的有益效果在于,能够识别可折叠屏幕部分展开时位于弯折区域内的误触点,有助于防止电子设备响应用户的误触而执行错误操作。
15.在一些可选的实施例中,所述根据所述可折叠屏幕和物体接触时获得的接触数据,确定所述接触数据对应的接触点是否在所述可折叠屏幕的弯折区域,包括:
16.确定所述接触数据对应的坐标是否在所述可折叠屏幕的弯折区域的坐标区间内;
17.若所述接触点的坐标在所述弯折区域的坐标区间内,确定所述接触点在所述可折
叠屏幕的弯折区域。
18.示例性的,弯折区域所覆盖的横坐标区间可以记为a至b,对任意一个接触点,若接触点的横坐标位于a至b这一区间内,则电子设备确定该接触点在弯折区域内,若接触点的横坐标位于a至b这一区间外,则电子设备确定该接触点不在弯折区域内。
19.本实施例中确定接触点是否在弯折区域内的方法,可以参见图5所示的实施例的步骤s504。
20.在一些可选的实施例中,所述确定所述可折叠屏幕处于展开状态,包括:
21.根据所述电子设备的夹角数据确定所述可折叠屏幕的折叠角度;
22.若所述可折叠屏幕的折叠角度在预设的目标角度区间内,确定所述可折叠屏幕处于展开状态。
23.需要说明,上述目标角度区间的上限和下限可以根据实际情况设定,本实施例对此不做限定。示例性的,目标角度区间可以设定为60
°
至120
°
之间,也就是说,若可折叠屏幕的折叠角度在60
°
至120
°
之间,则电子设备确定可折叠屏幕处于部分展开状态,若可折叠屏幕的折叠角度不在60
°
至120
°
之间,则电子设备确定可折叠屏幕不处于部分展开状态。
24.确定可折叠屏幕处于部分展开状态的具体方法可以参见图5所示的步骤s502。
25.在一些可选的实施例中,所述夹角数据包括磁场数据和/或加速度数据。
26.在一些可选的实施例中,所述目标角度区间可以为60
°
至120
°

27.在一些可选的实施例中,所述接触数据对应的接触点在所述弯折区域,所述根据所述接触数据确定所述接触点是否为误触点,包括:
28.根据所述电子设备的工作模式和所述接触数据,确定所述接触点是否为误触点。
29.其中,电子设备的工作模式可以分为键盘模式和非键盘模式,当电子设备的工作模式为键盘模式时,其使用场景可以参见图2。
30.在一些可选的实施例中,所述根据所述电子设备的工作模式和所述接触数据,确定所述接触点是否为误触点,包括:
31.若所述电子设备当前的工作模式为键盘模式,确定所述接触点的按压力度是否小于预设的门限值;
32.若所述接触点的按压力度小于所述门限值,确定所述接触点为误触点。
33.其中,接触点的按压力度小于所述门限值时,可以认为该接触点对应的接触类型为轻触。
34.在一些可选的实施例中,所述接触数据是所述物体接触所述可折叠屏幕的弯折区域时获得的第一接触数据,所述根据所述接触数据确定所述接触点是否为误触点,包括:
35.在所述可折叠屏幕和物体接触后的预设时间段内,获取所述物体接触所述可折叠屏幕的边沿区时的第二接触数据;
36.根据所述第一接触数据和所述第二接触数据,确定所述接触点是否为误触点。
37.本实施例中,电子设备可以根据对应的接触点位于所述弯折区域的所述接触数据,以及对应的接触点位于所述边沿区的接触数据,确定弯折区域的接触点是否为电子设备被抓握时产生的误触点,其中,电子设备被抓握的场景可以参见图3。
38.在一些可选的实施例中,所述根据所述第一接触数据和所述第二接触数据,确定所述接触点是否为误触点,包括:
39.根据所述第一接触数据和所述第二接触数据,获得所述接触点和所述第二接触数据对应的接触点之间的间距;
40.若所述间距小于预设的距离阈值,确定所述接触点为误触点。
41.在一些可选的实施例中,所述电子设备包括传感器驱动和防误触模块;所述根据所述电子设备的夹角数据确定所述可折叠屏幕的折叠角度,包括:
42.所述传感器驱动向所述防误触模块上报所述磁场数据和/或所述加速度数据;
43.所述防误触模块根据所述磁场数据和/或所述加速度数据确定所述可折叠屏幕的折叠角度。
44.在一些可选的实施例中,所述电子设备包括窗口管理器和防误触模块;
45.所述窗口管理器用于向所述防误触模块发送使用信息,所述使用信息用于指示所述电子设备当前的工作模式;
46.所述防误触模块用于根据所述使用信息确定所述电子设备当前的工作模式为键盘模式。
47.在一些可选的实施例中,所述电子设备还包括传感器驱动和输入系统;所述禁止所述电子设备执行所述接触所指示的操作,包括:
48.所述防误触模块向所述传感器驱动发送所述接触为误触的通知,以禁止所述传感器驱动向所述输入系统上报所述接触数据。
49.本技术第二方面提供一种电子设备,包括存储器和一个或多个处理器;
50.所述存储器用于存储计算机程序;
51.所述一个或多个处理器用于执行所述计算机程序,具体用于实现本技术第一方面任意一项所提供的可折叠屏幕防误触的方法。
52.本技术第三方面提供一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,具体用于实现本技术第一方面任意一项所提供的可折叠屏幕防误触的方法。
53.本技术实施例提供一种可折叠屏幕防误触的方法、设备和存储介质,应用于具有可折叠屏幕的电子设备,可折叠屏幕具有第一屏和第二屏,方法包括:响应可折叠屏幕和物体的接触,确定可折叠屏幕处于展开状态,在展开状态下第一屏和第二屏之间具有夹角;根据可折叠屏幕和物体接触时获得的接触数据,确定接触数据对应的接触点是否在可折叠屏幕的弯折区域,根据接触数据确定接触点是否为误触点;若接触点在可折叠屏幕的弯折区域且接触点为误触点,禁止电子设备执行接触指示的操作。本方案能够识别可折叠屏幕部分展开时位于弯折区域内的误触点,有助于防止电子设备响应用户的误触而执行错误操作。
附图说明
54.图1为本技术实施例提供的一种可折叠屏幕的展示图;
55.图2为本技术实施例提供的一种可折叠屏幕被误触的场景示意图;
56.图3为本技术实施例提供的另一种可折叠屏幕被误触的场景示意图;
57.图4为本技术实施例提供的一种电子设备的结构示意图;
58.图5为本技术实施例提供的一种可折叠屏幕防误触的方法流程图;
59.图6为本技术实施例提供的一种电子设备的软件架构示意图;
60.图7为本技术实施例提供的一种可折叠屏幕防误触的方法的时序图;
61.图8为本技术实施例提供的另一种可折叠屏幕防误触的方法流程图。
具体实施方式
62.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本技术实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a、b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
63.图1展示了一种屏幕可以朝内翻折的电子设备。图1中(a)所示的电子设备的显示屏处于完全展开的状态,由一个大显示屏来显示数据。
64.电子设备可沿折叠边按照图1中(a)所示的折叠方向翻折,显示屏形成图1中(b)所示由第一屏101和第二屏102组成的部分展开的状态,部分展开的状态下,第一屏101和第二屏102中间的区域,即折叠边所在的区域为弯折区域103。部分展开状态下,电子设备继续沿折叠方向折叠,可形成图1中(c)所示完全被折叠后的电子设备的形态(即折叠状态),电子设备完全被折叠后第一屏101和第二屏102相对,第一屏101和第二屏102对用户不可见,通常不再显示数据。
65.另外,如图1中(c)所示,朝内翻折的电子设备还可以包括一个额外的第三屏104,第三屏104设置在第一屏101或第二屏102的背面。可以理解的是,对于朝内翻折的电子设备,处于折叠状态时,第三屏104对用户可见,可在第三屏104显示数据,当电子设备处于完全展开的状态时,可以在第一屏101和第二屏102显示数据。当电子设备处于部分展开的状态时,可以在第三屏104或者大的显示屏显示数据。
66.在一些实施中,朝内翻折的电子设备,也可以不具有第三屏104。若朝内翻折的电子设备不具有第三屏104,则电子设备处于折叠状态时,则不显示数据。需要说明的是,以下内容基于朝内翻折的电子设备包括第三屏104为例来进行介绍,但这并不构成对其的限定。
67.一般而言,构成可折叠屏幕的第一屏101和第二屏102的夹角α的取值范围为(0
°
,180
°
]。第一屏101和第二屏102的夹角α是指可折叠屏幕的折叠角度α,是第一屏101和第二屏102沿折叠方向的折叠时,第一屏101和第二屏102相对面的夹角。
68.本实施例中,可以用屏幕的折叠角度来定义部分展开状态,例如,可以将第一屏和第二屏之间具有夹角时的状态,即第一屏和第二屏的夹角大于0
°
,且小于180
°
的状态定义为部分展开状态;还可以进一步将第一屏和第二屏之间具有夹角,且夹角处于一个预设的目标角度区间内的状态定义为部分展开状态。作为一个示例,该目标角度区间可以是60
°
至120
°

69.可折叠屏幕在部分展开的状态下,其弯折区域容易被误触。下面介绍两种屏幕部分展开时被误触的场景。
70.请参见图2,为本实施例提供的一种可折叠屏幕被误触的场景示意图。
71.屏幕处于部分展开的状态时,电子设备可以在键盘模式下工作,此时一个屏幕显示虚拟键盘,另一个屏幕显示内容展示窗口,用户可以在虚拟键盘上输入内容,并在内容展示窗口查看。
72.例如图2中,屏幕部分展开时,第一屏101显示内容展示窗口,第二屏102则显示虚拟键盘,用户使用第二屏102虚拟键盘输入内容,相应的内容在第一屏101的内容展示窗口显示。
73.如图2所示,电子设备以键盘模式工作时,用户容易误触屏幕上的弯折区域103。
74.请参见图3,为本实施例提供的另一种可折叠屏幕被误触的场景示意图。
75.屏幕处于部分展开的状态时,用户可能会将电子设备从一处移动至另一处,此时用户往往会通过抓握弯折区域的方式来移动电子设备,相应的,屏幕的弯折区域被误触。
76.针对上述两种可折叠屏幕被误触的场景,本技术实施例提供一种可折叠屏幕防误触的方法,以识别上述场景下用户对屏幕弯折区域的误触,以防止电子设备响应弯折区域的误触点而执行不符合用户意图的操作,改善具有可折叠屏幕的电子设备的使用体验。
77.为了实现本实施例的可折叠屏幕防误触的方法,本实施例提供一种电子设备100,请参见图4,为电子设备100的结构示意图,电子设备100具体可以是手机,平板电脑等设备。
78.如图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,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括磁传感器,加速度传感器,触摸传感器等。
79.其中,磁传感器可以检测磁场方向和磁场强度等数据,根据磁场方向和磁场强度等数据,电子设备可以确定可折叠屏幕的第一屏101和第二屏102之间的夹角。
80.加速度传感器可以检测电子设备在x、y和z三个轴中的至少一个或多个轴的加速度数据,电子设备也可以根据加速度数据确定第一屏101和第二屏102之间的夹角α。
81.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),通信处理器(communicationprocessor,cp,也可以称为调制解调器),图形处理器(graphics processing unit,gpu)等。
82.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
83.摄像头193可以包括一个或多个摄像头,例如,摄像头193可以包括安装于电子设备背面的一个或多个后置摄像头,以及安装于电子设备正面(以屏幕所在的一面为正面)的一个或多个前置摄像头。
84.显示屏194可以包含一个或多个屏幕。电子设备通过屏幕显示视频,图像以及一系列图形用户界面。在一些实施例中,显示屏194可以和触摸传感器组合为触摸屏,用户可以通过(用手指或触控笔)在触摸屏上点击或者滑动的方式和电子设备交互。
85.例如,本实施例中,电子设备100的显示屏194,可以包括图1所示的第一屏101,第二屏102和第三屏104,或者可以仅包括第一屏101和第二屏102。
86.本技术实施例中,外部存储器120可以存储计算机指令。
87.处理器110可以执行计算机指令,使得电子设备100实现本技术任一实施例所提供的可折叠屏幕防误触的方法。
88.以上是以电子设备100为例对本技术实施例作出的具体说明。应该理解的是,本技术实施例示意的结构并不构成对电子设备100的具体限定。电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件.软件.或硬件和软件的组合中实现。
89.本技术实施例提供的电子设备可以是用户设备(user equipment,ue),例如可以为移动终端(例如用户手机)、平板电脑、桌面型、膝上型笔记本电脑、手持计算机、上网本、个人数字助理(personal digital assistant,pda)等设备。
90.另外,在上述部件之上,运行有操作系统。例如苹果公司所开发的ios操作系统,谷歌公司所开发的android开源操作系统,微软公司所开发的windows操作系统。在该操作系统上可以安装运行程序。
91.基于上述电子设备100的结构,本实施例提供一种可折叠屏幕防误触的方法,请参见图5,为本实施例的流程图。
92.s501,获得夹角数据。
93.夹角数据,是指能够确定可折叠屏幕的折叠角度的数据。根据电子设备确定折叠角度方法的不同,夹角数据具体形式有所不同,本实施例对此不做限定。
94.示例性的,电子设备可以根据第一屏和第二屏上磁传感器采集到的磁场数据(包括磁传感器所在位置的磁场方向和磁场强度等)确定屏幕的折叠角度,此时,夹角数据可以是磁传感器的磁场数据。
95.在另一示例中,电子设备可以根据x,y和z轴上的加速度确定屏幕的折叠角度,此时,夹角数据可以是加速度传感器采集到的acc数据,即加速度数据,加速度数据中包括电子设备在x,y和z轴上的加速度。acc为acceleration(加速度)的缩写。
96.当然,电子设备也可以综合磁场数据和acc数据来确定屏幕的折叠角度,对应的,夹角数据可以包括磁场数据和acc数据。
97.s502,确定屏幕的折叠角度在目标角度区间内。
98.如s501所述,电子设备可以根据夹角数据确定屏幕的折叠角度。若折叠角度不在目标角度区间内,则可以认为电子设备的可折叠屏幕未处于部分展开状态,若折叠角度在目标角度区间内,则可以认为电子设备的可折叠屏幕处于部分展开状态。
99.本实施例所提供的防误触的方法不适用于未处于部分展开状态的可折叠屏幕,若折叠角度不在目标角度区间内,则本方法结束,因此本实施例中仅针对折叠角度在目标角度区间内的情况进行说明。
100.目标角度区间的上限和下限可以由电子设备的厂商根据实际使用场景而设定,本实施例对此不做限定。作为一个示例,目标角度区间可以是60
°
至120
°
,也就是说,若屏幕的折叠角度在60
°
至120
°
之间,则电子设备可以确定可折叠屏幕为部分展开的状态。
101.s503,获取接触点的坐标。
102.接触点,是指屏幕表面和物体接触的区域。例如,用户使用触控笔点击屏幕时,触控笔和屏幕接触的区域就是一个接触点。
103.需要说明的是,接触点的数量可以是一个也可以是多个。例如,用户使用单个手指点击屏幕时,接触点的数量为一个,用户使用多个手指,或者手指和其他部位同时接触屏幕时,接触点的数量为多个。
104.s504,确定接触点是否在弯折区域内。
105.若接触点在弯折区域内,执行步骤s505,若接触点不在弯折区域内,确定接触点为非误触点。
106.在s504中,若同时有多个接触点,只要有至少一个接触点在弯折区域内,则执行步骤s505,若每个接触点均不在弯折区域内,确定接触点为非误触点。
107.如图1所示,当可折叠屏幕处于完全展开的状态时,弯折区域相当于可折叠屏幕上以折叠边为轴线的一个较窄的矩形区域,弯折区域的长度和折叠边的长度基本一致,弯折区域的宽度则可以根据电子设备的性能,实际使用场景等因素设定,本实施例对此不做限定。
108.电子设备可以根据接触点的坐标确定接触点是否在弯折区域内。具体的确定方法不做限定。在一些可选的实施例中,电子设备可以用预设的坐标区间来表示弯折区域,对应的,在执行步骤s504时,电子设备可以判断接触点的坐标是否在弯折区域对应的坐标区间内,若接触点的坐标在弯折区域对应的坐标区间内,则确定接触点在弯折区域内,若接触点的坐标不在弯折区域对应的坐标区间内,则确定接触点在弯折区域外。
109.示例性的,电子设备可以将垂直于折叠边的方向视为屏幕的横坐标轴,将平行于折叠边的方向视为屏幕的纵坐标轴;对于任意一个接触点,电子设备可以确定该接触点的横坐标,是否位于弯折区域所覆盖的横坐标区间内,若接触点的横坐标位于弯折区域所覆盖的横坐标区间内,则确定该接触点在弯折区域内,若接触点的横坐标位于弯折区域所覆盖的横坐标区间外,则确定该接触点不在弯折区域内。
110.例如,假设弯折区域左侧的边横坐标为a,右侧的边横坐标为b,则弯折区域所覆盖的横坐标区间为a至b,对任意一个接触点,若接触点的横坐标位于a至b这一区间内,则电子设备确定该接触点在弯折区域内,若接触点的横坐标位于a至b这一区间外,则电子设备确定该接触点不在弯折区域内。
111.s505,记录弯折区域内的接触点。
112.在步骤s505中,电子设备可以记录弯折区域内的接触点的坐标和接触类型等信息。例如,记录弯折区域内的一个接触点的坐标为(x,y),接触类型为轻触。其中,接触类型可以包括轻触,长按,滑动等。一个接触点对应的接触类型,可以根据该接触点的接触时间,接触时按压的力度,在该接触点之前有无其他接触点等信息来确定。
113.s506a,确定边沿区有无接触点。
114.若边沿区有接触点,执行步骤s507a,若边沿区无接触点,确定弯折区域内的接触点为非误触点。
115.边沿区是指可折叠屏幕边沿的区域,本实施例中,边沿区可以是可折叠屏幕底部具有一定宽度的区域,边沿区的宽度的具体数值可以根据实际情况而设定,本实施例对此
不做限定。
116.示例性的,请参见图3,边沿区105,可以是分别位于第一屏101和第二屏102底部的,高度为h的矩形区域。
117.在一些可选的实施例中,电子设备在执行s506a时可以判断在弯折区域内出现接触点的同时边沿区有无接触点,若弯折区域内出现接触点的同时边沿区也检测到接触点,则确定边沿区有接触点,执行步骤s507a;若弯折区域内出现接触点的同时未在边沿区检测到接触点,则确定边沿区无接触点,进而确定弯折区域内的接触点为非误触点。
118.在另一些可选的实施例中,电子设备在执行步骤s506a时,可以判断在弯折区域内出现接触点之后的预设时间段内边沿区有无接触点。预设时间段的长短可以根据实际需要而设定,示例性的,预设时间段可以设定为1秒。
119.也就是说,在执行s506a中,电子设备可以确定弯折区域内的接触点出现之后的1秒以内边沿区有无接触点,若1秒以内在边沿区检测到接触点,则确定边沿区有接触点,执行步骤s507a;若1秒过后未在边沿区检测到接触点,则确定边沿区无接触点,进而确定弯折区域内的接触点为非误触点。
120.可以理解,对于静置的屏幕部分展开的电子设备,用户抓握该电子设备时一般会先用手指抓住屏幕的弯折区域,从而将电子设备提起,随后再用手掌等部位托住电子设备的底部,从而固定电子设备。也就是说在抓握场景下,通常电子设备会先在弯折区域检测到接触点,随后再检测到位于边沿区域的接触点。
121.所以,上述实施例的有益效果在于:
122.根据弯折区域内出现接触点之后的预设时间段内边沿区有无接触点来确定是否误触,更符合带可折叠屏幕的电子设备的日常使用场景,可以更准确地识别弯折区域内的接触点是否为抓握时产生的误触点,提高防误触的准确度。
123.s507a,确定接触点间距是否小于距离阈值。
124.若接触点间距小于距离阈值,确定接触点为误触点。若接触点间距不小于距离阈值,确定接触点为非误触点。
125.接触点间距,是指步骤s505中记录的在弯折区域内的接触点,和步骤s506a中检测到的在边沿区内的接触点之间的距离。
126.距离阈值的具体数值可以根据实际使用场景而预先设定并记录在电子设备中,本实施例其具体数值不做限定。
127.示例性的,抓握场景下,边沿区的接触点由用户手掌部分和可折叠屏幕接触产生,弯折区域的接触点由用户手指末端和可折叠屏幕接触产生,因此边沿区的接触点和弯折区域的接触点的距离接近于用户手指的长度,所以上述距离阈值可以根据大多数用户手指的长度而设定,例如可以在大多数用户的手指长度的基础上小幅度上调而得到该距离阈值。
128.需要说明,步骤s506a和s507a所述的确定接触点为非误触点,是指确定弯折区域的接触点不为屏幕部分展开的电子设备被用户抓握时产生的误触点。
129.步骤s506a和s507a所述的过程,可以视为电子设备识别弯折区域内的接触点是否为图3所示的抓握场景下的误触点的过程。如图3所示,当用户抓握屏幕被部分展开的电子设备时,通常会用一个手指按压在屏幕的弯折区域,同时用手掌固定电子设备的边缘,因此屏幕上会同时出现在弯折区域内的接触点和在边沿区的接触点,并且两处接触点间距接近
用户手指的长度。因此,当弯折区域有接触点时,若边沿区同时也有接触点,并且两处接触点的间距小于距离阈值,则可以认为弯折区域的接触点为用户抓握屏幕被部分展开的电子设备时产生的误触点。
130.s506b,确定电子设备是否处于键盘模式。
131.若电子设备处于键盘模式,执行步骤s507b,若电子设备未处于键盘模式,确定接触点为非误触点。
132.如图2所示,键盘模式是指电子设备在可折叠屏幕被部分展开时,用其中一块屏幕显示虚拟键盘以供用户输入内容的模式。
133.s507b,确定接触类型是否为轻触。
134.若接触类型不为轻触,确定接触点为非误触点,若接触类型为轻触,确定接触点为误触点。
135.接触类型可以包括轻触、长按和滑动等。接触类型具体可以根据接触时长,按压力度以及该接触点之前有无其他接触点等信息来确定。
136.示例性的,对于任意一个接触点,若接触点的按压力度较小,即按压力度小于预设的门限值,则可以确定该接触点对应的接触类型为轻触;若接触点的按压力度较大,即按压力度大于预设的门限值,则可以确定该接触点对应的接触类型为长按;若在检测到该接触点之前,检测到其他接触点并且未检测到物体从屏幕表面抬起,则可以确定该接触点对应的接触类型为滑动。
137.其中,一个接触点的按压力度,可以根据该接触点的电容值的变化幅度确定,按压力度越大,则该接触点的电容值的变化幅度越大,按压力度越小,则该接触点的电容值的变化幅度越小。
138.需要说明,步骤s506b和s507b所述的确定接触点为非误触点,是指确定弯折区域的接触点不为用户使用处于键盘模式的电子设备时产生的误触点。
139.步骤s506b和s507b所述的过程,可以视为电子设备识别弯折区域内的接触点是否为图2所示的键盘模式的误触点的过程。
140.如图2所示,当电子设备在键盘模式下工作时,用户可以轻触第二屏102上显示的虚拟键盘来输入相应的信息。因此,电子设备在键盘模式下工作时,可以将位于弯折区域内且对应的接触类型为轻触的接触点识别为误触点。
141.在一些可选的实施例中,步骤s506a和s507a所述的识别抓握场景的误触点的过程,和步骤s506b和s507b所述的识别键盘模式的误触点的过程可以由电子设备同时执行,即电子设备记录弯折区域内的接触点后,同时识别弯折区域内的接触点是否为抓握场景的误触点以及是否为键盘模式的误触点。
142.在一些可选的实施例中,判断接触点是否为误触点的步骤s506a至s507b和判断接触点是否在弯折区域的步骤s504的执行顺序也可以互换,即可以先执行步骤s506a至s507b以判断接触点是否为误触点,再执行s504判断接触点是否在弯折区域,本实施例对上述步骤的执行顺序不做限定。
143.本实施例的有益效果在于,通过识别电子设备是否处于键盘模式,以及识别屏幕边沿区是否有接触点,本方案能够发现屏幕部分展开时用户在弯折区域内的误触,防止电子设备对弯折区域内发生的误触做出响应,改善用户的使用体验。
144.本实施例提供的可折叠屏幕防误触的方法,可以基于电子设备100的软件模块而实现。为了更好的理解本实施例的具体实现方式,下面以分层架构为例,介绍电子设备100的软件架构。请参见图6,为本技术实施例所提供的电子设备的软件架构的示意图。
145.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(androidruntime)和系统库,以及内核层。
146.应用程序层可以包括一系列应用程序包。如图6所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
147.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
148.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
149.本实施例中,窗口管理器还可以根据用户的操作启用特定的工作模式,例如在电子设备的可折叠屏幕处于部分展开的状态时,响应用户操作而启用键盘模式。
150.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
151.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
152.电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
153.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
154.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
155.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
156.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
157.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
158.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl),输入
(input)系统等。
159.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
160.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
161.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
162.2d图形引擎是2d绘图的绘图引擎。
163.输入系统可以根据内核层上报的电容值变化消息确定相应的触控指令,使得电子设备响应触控指令执行对应的操作。
164.本实施例中,系统库可以包括防误触模块和输入(input)系统。当电子设备的可折叠屏幕被触碰时,防误触模块可以根据接触点的信息,电子设备当前的工作模式,可折叠屏幕的状态等确定本次触碰是否为误触,如果确定本次触碰为误触,则内核层的传感器驱动不向系统库的输入系统上报本次触碰的相关信息,避免电子设备响应误触而执行不符合用户意图的操作,如果确定本次触碰不为误触,则内核层向系统库的输入系统上报本次触碰的相关信息。
165.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
166.传感器驱动可以将电子设备的传感器采集到的数据,按对应格式的消息发送至上述层级的软件模块。
167.作为一个示例,触摸传感器可以检测可折叠屏幕上各区域的电容值,传感器驱动可以获得触摸传感器检测到的电容值。当用户在触摸屏上点击或滑动时,被点击或滑动的区域的电容值会发生变化,传感器驱动能够监测到屏幕各区域电容值的变化,并向应用程序框架层上报电容值变化消息,电容值变化消息中携带有触摸屏各个区域的电容值(或电容采样值)的变化幅度以及发生变化的时刻等信息。
168.本实施例中,当可折叠屏幕被触碰时,产生的电容值变化消息先由内核层发送至系统库的防误触模块,在防误触模块确定本次触碰非误触后,电容值变化消息再由内核层上报至输入系统。
169.作为另一个示例,传感器驱动可以获得加速度传感器检测到的电子设备在x、y和z轴的加速度数据,然后将加速度数据上报至防误触模块。防误触模块根据加速度数据可以确定电子设备的可折叠屏幕当前的状态是完全展开、部分展开还是折叠。
170.下面结合电子设备的软件架构,进一步说明本实施例提供的可折叠屏幕防误触的方法。奇怪参见图7,为本实施例提供的可折叠屏幕防误触的方法的时序图。
171.用户接触电子设备的可折叠屏幕后,电子设备的内核层执行如下步骤s701。
172.s701,上报电容值变化消息和加速度数据。
173.在用户接触部分展开的可折叠屏幕后,内核层的传感器驱动检测到屏幕上接触区域的电容值发生变化,于是内核层执行步骤s701,将电容值变化消息和加速度数据上报到系统库的防误触模块。
174.上述加速度数据,相当于图5所示实施例中角度数据的一个具体示例。
175.s702,根据加速度数据确定屏幕折叠角度在目标角度区间内。
176.防误触模块收到内核层上报的数据后,可以根据加速度数据确定可折叠屏幕当前的折叠角度,进而确定折叠角度是否在预设的目标角度区间内。本实施例以折叠角度在目标角度区间内,即屏幕处于部分展开的状态为例说明后续步骤。
177.s703,根据电容值变化消息确定接触点。
178.如前述,电容值变化消息中携带有触摸屏各个区域的电容值的变化幅度,防误触模块确定折叠角度在目标角度区间内之后,即可根据其中各个区域的电容值的变化幅度,确定用户接触的是哪一个区域,即确定接触点。
179.s704,确定接触点是否在弯折区域内。
180.若防误触模块确定接触点不在弯折区域内,执行步骤s711,若防误触模块确定接触点在弯折区域内,执行步骤s705。
181.在一些可选的实施例中,防误触模块确定接触点不在弯折区域内之后,还可以进一步采用其他方法确定接触点是否为除图2和图3所示场景以外其他场景下的误触点,当确定接触点不为其他场景下的误触点时,再执行步骤s711。
182.步骤s704的具体实施方式可以参见图5所示的步骤s504,不再赘述。
183.s705,记录弯折区域内的接触点。
184.在s705中,防误触模块可以记录弯折区域内的接触点的位置,对应的接触类型等信息。
185.步骤s705的具体实施方式可以参见图5所示的步骤s505,不再赘述。
186.s706,获得电子设备的工作模式。
187.在s706中,防误触模块可以从应用程序框架层的窗口管理器获取到电子设备当前的工作模式,从而确定电子设备当前是否处于图2所示的键盘模式下。
188.本实施例中,电子设备的工作模式可以分为键盘模式和非键盘模式两种。
189.在一些可选的实施例中,执行s706时,防误触模块可以向应用程序框架层发送获得工作模式的请求,然后接收应用程序框架层反馈的电子设备的工作模式。
190.在另一些可选的实施例中,应用程序框架层可以实时地向防误触模块同步电子设备当前的工作模式,由此,在s706中防误触模块可以从应用程序框架层同步过来的信息中获得电子设备当前的工作模式。
191.在s706中,若电子设备的工作模式为键盘模式,执行步骤s707,若电子设备的工作模式不为键盘模式,则可以确定本次接触不为图2所示的键盘模式的场景下的误触,于是执行步骤s708以判断本次接触是否为抓握场景下的误触。
192.s707,确定接触类型是否为轻触。
193.在s707中,防误触模块可以根据s701中内核层上报的电容值变化消息,以及在此之前内核层上报的电容值变化消息,确定本次接触的接触类型是否为轻触。本次接触,是指步骤s701中内核层上报的电容值变化消息对应的一次接触。
194.若确定接触类型为轻触,执行步骤s712,若确定接触类型不为轻触,则可以确定本次接触不为图2所示的键盘模式的场景下的误触,于是执行步骤s708以判断本次接触是否为抓握场景下的误触。
195.步骤s707的具体实施方式可以参见图5所示的步骤s507b。
196.s708,确定预设时间段内边沿区有无接触点。
197.预设时间段,是指检测到弯折区域内的接触点之后的预设时间段,例如检测到弯折区域内的接触点之后的1秒。其中,检测到弯折区域内的接触点的时刻,可以根据电容值变化消息所携带的,电容值发生变化的时刻确定。
198.步骤s708的具体实施方式可以参见图5所示的步骤s506a。
199.若确定预设时间段内边沿区没有接触点,执行步骤s710,若确定预设时间段内边沿区有接触点,执行步骤s709。
200.s709,确定接触点间距是否小于距离阈值。
201.若接触点间距小于距离阈值,则执行步骤s712,若接触点间距不小于距离阈值,执行步骤s710。
202.接触点间距,是指s705中记录的弯折区域内的接触点,和s708中确定的边沿区内的接触点之间的距离。
203.步骤s709的具体实施方式可以参见图5所示的步骤s507a。
204.可以理解,步骤s706和s707为判断本次接触是否为键盘模式的误触的过程,s708和s709为判断本次接触是否为抓握场景的误触的过程。本实施例以防误触模块先判断是否为键盘模式的误触,再判断是否为抓握场景的误触为示例进行说明,但本技术的防误触方法并不限于该执行顺序。在一些可选的实施例中,防误触模块也可以先判断是否为抓握场景的误触,再判断是否为键盘模式的误触;还可以同时判断是否为抓握场景的误触以及判断是否为键盘模式的误触。
205.s710,通知本次接触为非误触。
206.本实施例中,在防误触模块通过步骤s706和s707确定本次接触部位为键盘模式的误触,并且通过步骤s708和s709确定本次接触不为抓握场景的误触后,防误触模块可以确定本次接触为非误触,因此防误触模块执行步骤s710,向内核层通知本次接触为非误触。
207.s711,上报电容值变化消息。
208.内核层收到本次接触为非误触的通知后,可以执行步骤s711,将电容值变化消息上报给系统库的输入系统,使得输入系统根据电容值变化消息确定对应的触控指令。
209.s712,通知本次接触为误触。
210.本实施例中,若防误触模块通过步骤s706和s707确定本次接触部位为键盘模式的误触,或者通过步骤s708和s709确定本次接触不为抓握场景的误触后,则防误触模块可以确定本次接触为误触,因此防误触模块执行步骤s712,向内核层通知本次接触为误触,内核层收到本次接触为误触的通知后,不将s701中的电容值变化消息上报给应用程序框架层,从而阻止应用程序框架层产生对应的触控指令。
211.本实施例的有益效果和图5所示的实施例一致,不再赘述。
212.根据上述实施例,可以得到本技术的一种可折叠屏幕防误触的方法,请参见图8,该方法可以包括如下步骤。如下步骤可以由具有可折叠屏幕的电子设备通过执行特定的计算机程序而实现。
213.s801,可折叠屏幕和物体接触时,确定可折叠屏幕处于部分展开状态。
214.电子设备在亮屏时,可以实时检测可折叠屏幕是否被接触,若检测到可折叠屏幕被接触,则可以执行s801,确定可折叠屏幕被接触时是否为部分展开的状态。
215.可折叠屏幕是否处于部分展开状态,可以根据可折叠屏幕的折叠角度是否在特定
的目标角度区间内来确定。
216.s801的具体实施方式可以参见图7所示的步骤s701和s702。
217.s802,获得可折叠屏幕和物体接触时的接触点。
218.电子设备亮屏时,可以实时检测可折叠屏幕上的电容值的变化,当可折叠屏幕和物体接触时,接触点的电容值发生变化,电子设备由此可以确定接触点。
219.s802的具体实施方式可以参见图7所示的步骤s703。
220.s803,确定接触点是否在可折叠屏幕的弯折区域内。
221.可折叠屏幕的弯折区域是指以可折叠屏幕的折叠边为轴线的狭长矩形区域,在电子设备中弯折区域可以用对应的坐标区间表示,电子设备可以通过接触点的坐标是否在弯折区域对应的坐标区间内,确定接触点是否在弯折区域内。
222.若接触点在弯折区域内,执行步骤s804,若接触点不在弯折区域内,执行步骤s806。
223.s803的具体实施方式可以参见图7所示的步骤s704和s705。
224.s804,确定接触点是否为误触点。
225.对屏幕的误触存在多种场景,本实施例中,电子设备可以采用多种不同的方法来判断弯折区域内的接触点是否为对应场景下的误触点。
226.例如,在s804中,电子设备可以分别判断弯折区域内的接触点是否为键盘模式下的误触点,以及是否为电子设备被抓握时的误触点。
227.s804的具体实施方式可以参见图7所示的步骤s706至s709。
228.若接触点是误触点,执行步骤s805,若接触点为非误触点,执行步骤s806。
229.s805,禁止电子设备执行本次接触指示的操作。
230.当确定接触点为误触点时,电子设备确定本次接触为误触,不执行后续生成本次接触对应的触控指令的步骤,相应的,电子设备就不会执行本次接触所指示的操作。
231.s805的具体实施方式可以参见图7所示的步骤s712。
232.s806,执行本次接触执行的操作。
233.当确定接触点为非误触点时,电子设备确定本次接触不为误触,电子设备的应用程序框架层根据本次接触的信息执行后续生成触控指令的步骤。
234.s806的具体实施方式可以参见图7所示的步骤s710和s711。
235.本技术实施例提供一种电子设备,包括存储器和一个或多个处理器。
236.存储器用于存储计算机程序。
237.一个或多个处理器用于执行计算机程序,具体用于实现本技术任一实施例所提供的可折叠屏幕防误触的方法。
238.上述电子设备可以是用户设备,如用户使用的具有可折叠屏幕的智能手机。
239.本技术实施例还提供一种计算机存储介质,用于存储计算机程序,该计算机程序被执行时,具体用于实现本技术任一实施例所提供的可折叠屏幕防误触的方法。
240.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有
的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
241.本技术实施例涉及的多个,是指大于或等于两个。需要说明的是,在本技术实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1