一种窗口的处理方法及电子设备
1.本技术是分案申请,原申请的申请号是202110432625.5,原申请日是2021年04月21日,原申请的全部内容通过引用结合在本技术中。
技术领域
2.本技术实施例涉及电子设备技术领域,尤其涉及一种窗口的处理方法及电子设备。
背景技术:3.随着电子技术的发展,电子设备(如手机、平板电脑或智能手表等)能够查杀在后台运行、且使用优先级较低的应用程序的进程,以降低电子设备的功耗。
4.常规技术中,应用程序为了保持在电子设备的后台继续运行,可以在电子设备熄灭屏幕时,创建透明窗口,提高该应用程序的使用优先级,以避免电子设备查杀该应用程序的进程。其中,该透明窗口以不可见的形式显示在电子设备所显示的界面上层,电子设备接收到作用于透明窗口的操作时,不会执行任何事件。
5.但是,当用户在电子设备所显示的界面输入操作时(例如接听电话的操作);由于透明窗口在电子设备所显示的界面上层。这样一来,在电子设备接收到用户输入的操作之后,电子设备无法实现相应的功能(例如接听电话),严重影响用户使用电子设备的使用体验。
技术实现要素:6.本技术提供一种窗口的处理方法及电子设备,能够保障电子设备及时响应用户的操作,提高用户的使用体验。
7.第一方面,本技术提供一种窗口的处理方法,该方法可以应用于后台运行有至少一个应用程序电子设备,该至少一个应用程序包括第一应用。
8.该方法中,在电子设备灭屏时,电子设备获取第一应用的第一指令,该第一指令用于指示电子设备创建预设窗口。之后,电子设备可以获取预设窗口的属性信息,该预设窗口的属性信息包括预设窗口的像素尺寸和/或透明度,像素尺寸用于指示预设窗口包括的像素点的分布情况。接着,电子设备可以根据预设窗口的属性信息,检测预设窗口是否为透明窗口。其中,透明窗口是以不可见的方式显示在电子设备的显示界面上层的窗口,用于在电子设备灭屏后保活透明窗口对应的应用程序。然后,若预设窗口为透明窗口,电子设备则执行第一类事件或者第二类事件。其中,第一类事件为禁止创建预设窗口,第二类事件为移除已创建的预设窗口。
9.可以理解的是,透明窗口通常是透明程度较高和/或窗口的像素尺寸较小的窗口。因此,本技术实施例中,电子设备可以根据预设窗口的像素尺寸和/或透明度,确定预设窗口是否为透明窗口。若预设窗口为透明窗口,电子设备则可以禁止后台应用创建该窗口,或者,电子设备可以移除该窗口。这样一来,该透明窗口不会处于电子设备显示界面的上层。
当电子设备接收到用户的操作时,电子设备可以针对该操作做出响应,避免了电子设备发生冻屏、闪屏等现象,提高了用户的使用体验。
10.结合第一方面,在一种可能的设计方式中,预设窗口的属性信息包括像素尺寸。若预设窗口的像素尺寸小于预设像素阈值,电子设备则可以确定预设窗口为透明窗口。
11.可以理解的是,透明窗口通常是窗口的像素尺寸较小的窗口。当预设窗口的像素尺寸小于预设像素阈值,说明该预设窗口的像素尺寸较小,电子设备可以确定预设窗口为透明窗口。
12.结合第一方面,在另一种可能的设计方式中,预设窗口的属性信息包括透明度。若预设窗口的透明度小于预设透明度阈值,电子设备则确定预设窗口为透明窗口。
13.需要说明的是,预设窗口的透明度越小,则预设窗口的透明程度越高。预设窗口的透明度越大,则预设窗口的透明程度越低。
14.可以理解的是,透明窗口通常是窗口的透明程度较高的窗口。当预设窗口的透明度小于预设透明度阈值,说明该预设窗口的透明程度较高,电子设备可以确定预设窗口为透明窗口。
15.结合第一方面,在另一种可能的设计方式中,电子设备保存有至少一个预设标识,至少一个预设标识中的每个预设标识用于标识电子设备中曾创建的一个透明窗口。在电子设备获取预设窗口的属性信息之前,电子设备可以获取预设窗口的标识。之后,电子设备可以检测预设窗口的标识是否与至少一个预设标识中的任一预设标识相同。若预设窗口的标识与至少一个预设标识中每一个预设标识均不同,电子设备则获取预设窗口的属性信息。
16.也就是说,电子设备可以将预设窗口的标识与保存的预设标识进行比较。在预设窗口的标识与每个预设标识均不同,则说明该预设窗口不是透明窗口或者该预设窗口是第一次被创建。电子设备则可以获取预设窗口的属性信息,确定预设窗口是否为透明窗口。
17.结合第一方面,在另一种可能的设计方式中,若预设窗口的标识与至少一个预设标识中的任一预设标识相同,电子设备执行第一类事件或者第二类事件,预设窗口为透明窗口。
18.可以理解的是,每个预设标识用于标识电子设备中曾创建的一个透明窗口。当预设窗口的标识与任一预设标识相同,则说明该预设窗口曾被创建,且该预设窗口为透明窗口。因此,电子设备可以执行第一类事件或者第二类事件。这样一来,该透明窗口不会处于电子设备显示界面的上层。当电子设备接收到用户的操作时,电子设备可以针对该操作做出响应,避免了电子设备发生冻屏、闪屏等现象,提高了用户的使用体验。
19.并且,电子设备通过保存的预设标识,校验该预设窗口是否为透明窗口,可以降低电子设备检测预设窗口是否为透明窗口的复杂度。如此,可以降低电子设备的功耗。
20.结合第一方面,在另一种可能的设计方式中,电子设备保存有每个预设标识对应的透明窗口的创建次数。若预设窗口的标识与至少一个预设标识中的任一预设标识相同,且预设窗口的创建次数大于预设次数阈值,电子设备执行第一类事件或者第二类事件。
21.可以理解的是,当预设窗口的创建次数大于预设次数阈值,则表明该预设窗口被多次创建,且被多次被判定为透明窗口。如此,在预设窗口的创建次数大于预设次数阈值的情况下,电子设备执行预设事件,能够降低电子设备对非透明窗口进行处理的概率,提高了电子设备处理透明窗口的准确率。
22.结合第一方面,在另一种可能的设计方式中,在电子设备点亮屏幕的预设时长之后,若预设窗口为透明窗口,电子设备则执行第二类事件。
23.可以理解的是,电子设备在亮屏的预设时长之后在对预设窗口进行处理,能够保障第一应用有充足的时间处理该预设窗口。若第一应用未处理该预设窗口,电子设备可以移除该预设窗口,以避免电子设备发生冻屏等异常情况,保障了用户的使用体验。
24.第二方面,本技术提供一种电子设备,该电子设备包括:存储器、显示屏和一个或多个处理器,上述存储器、显示屏与上述处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被上述一个或多个处理器执行时,使得电子设备执行如第一方面及其任一种可能的设计方式所述的方法。
25.第三方面,本技术提供一种芯片系统,该芯片系统应用于电子设备。该芯片系统包括一个或多个接口电路和一个或多个处理器。该接口电路和处理器通过线路互联。该接口电路用于从电子设备的存储器接收信号,并向处理器发送该信号,该信号包括存储器中存储的计算机指令。当处理器执行所述计算机指令时,电子设备执行如第一方面及其任一种可能的设计方式所述的方法。
26.第四方面,本技术提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一方面及其任一种可能的设计方式所述的方法。
27.第五方面,本技术提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面及其任一种可能的设计方式所述的方法。
28.可以理解地,上述提供的第二方面及其任一种可能的设计方式所述的电子设备,第三方面所述的芯片系统,第四方面所述的计算机存储介质,第五方面所述的计算机程序产品所能达到的有益效果,可参考如第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
29.图1为本技术实施例提供的一种显示透明窗口的实例示意图;
30.图2为本技术实施例提供的一种电子设备的硬件结构示意图;
31.图3为本技术实施例提供的一种窗口的处理方法流程图;
32.图4为本技术实施例提供的一种透明窗口的实例示意图;
33.图5a为本技术实施例提供的另一种显示透明窗口的实例示意图;
34.图5b为本技术实施例提供的另一种窗口的处理方法流程图;
35.图6a为本技术实施例提供的另一种窗口的处理方法流程图;
36.图6b为本技术实施例提供的另一种窗口的处理方法流程图;
37.图6c为本技术实施例提供的另一种窗口的处理方法流程图;
38.图7为本技术实施例提供的另一种窗口的处理方法流程图;
39.图8a为本技术实施例提供的另一种窗口的处理方法流程图;
40.图8b为本技术实施例提供的另一种窗口的处理方法流程图;
41.图9为本技术实施例提供的一种窗口的处理装置的组成示意图;
42.图10为本技术实施例提供的一种芯片系统的结构组成示意图。
具体实施方式
43.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
44.本技术中字符“/”,一般表示前后关联对象是一种“或者”的关系。例如,a/b可以理解为a或者b。
45.术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
46.此外,本技术的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括其他没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
47.另外,在本技术实施例中,“示例性的”、或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、或者“例如”等词旨在以具体方式呈现概念。
48.为了便于理解本技术的技术方案,在对本技术实施例提供的窗口的处理方法进行详细介绍之前,先对本技术实施例中所提到的专业名词进行介绍。
49.1、透明窗口。
50.透明窗口是窗口属性为透明,和/或,窗口像素小于预设像素(例如4像素)的窗口。该透明窗口由在电子设备的后台运行的应用程序(可以简称为后台应用)创建。创建的透明窗口能够以透明的方式显示在电子设备所显示的界面的上层;也就是说,当电子设备显示的界面(例如主界面)上层有透明窗口,该透明窗口不会遮挡主界面中的任一界面元素,电子设备可以完整地显示该主界面。该透明窗口中不包含任何元素。通常情况下,该透明窗口为1像素的透明窗口。当透明窗口显示在显示界面的上层时,该显示界面无法接收到用户的操作。如此,与该显示界面相关的应用则无法对用户得到操作做出响应。
51.示例性的,如图1所示,电子设备显示来电提醒界面101,该来电提醒界面101包括:“接受”按钮和“拒绝”按钮,“接受”按钮用于触发电子设备接通来电,“拒绝”按钮用于触发电子设备拒绝接听来电。透明窗口102(该透明窗口102在来电提醒界面101中实际是不可见的,此处为了便于说明,以虚线的形式表明该透明窗口102)在来电提醒界面101的上层。假如用户通过电子设备接听电话,可以在“接受”按钮输入操作a(例如向右滑动、点击等)。由于“接受”按钮在底层,透明窗口102在“接受”按钮的上层;在用户输入操作a时,“接受”按钮无法接收到操作a。这样一来,电子设备无法响应于操作a,接通来电。
52.也就是说,在电子设备的显示界面的上层存在透明窗口的情况下,可能导致电子设备无法实现相应的功能,严重影响用户使用电子设备的使用体验。并且,透明窗口提高了后台应用的使用优先级,导致电子设备不能查杀后台应用的进程,造成电子设备的功耗较
高。
53.为此,本技术实施例提供一种窗口的处理方法。该方法中,若电子设备检测到后台应用创建的窗口为透明窗口,电子设备则可以禁止后台应用创建该窗口,或者,电子设备可以移除该窗口。这样一来,该窗口不会处于电子设备显示界面的上层。当电子设备接收到用户的操作时,电子设备可以针对该操作做出响应,避免了电子设备发生冻屏、闪屏等现象,提高了用户的使用体验。
54.并且,由于后台应用创建的窗口未在电子设备显示界面的上层,该后台应用的使用优先级会较低。如此,电子设备可以查杀该后台应用的进程,以降低电子设备的功耗。
55.其中,本技术实施例中的应用(如第一应用、第二应用)可以是安装在电子设备中的嵌入式应用程序(即电子设备的系统应用)或者可下载应用程序。其中,嵌入式应用程序是作为电子设备(如手机)实现的一部分提供的应用程序。可下载应用程序是一个可以提供自己的因特网协议多媒体子系统(internet protocol multimedia subsystem,ims)连接的应用程序,该可下载应用程序可以预先安装在终端中的应用或可以由用户下载并安装在终端中的第三方应用。
56.举例来说,上述应用可以是安装在终端中的嵌入式应用程序(即终端的系统应用)。例如,上述第一应用可以是闹钟,第二应用可以是日历。
57.又例如,上述多个应用还可以是可下载应用程序。上述第一应用可以是社交应用,第二应用可以是多媒体应用。
58.示例性的,本技术实施例中的电子设备可以是平板电脑、手机、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)\虚拟现实(virtual reality,vr)设备、车载设备等设备,本技术实施例对该电子设备的具体形态不作特殊限制。
59.本技术提供的窗口的处理方法的执行主体可以为窗口的处理装置,该执行装置可以为图2所示的电子设备。同时,该执行装置还可以为该电子设备的中央处理器(central processing unit,cpu),或者该电子设备中的用于处理窗口的控制模块。本技术实施例中以电子设备执行窗口的处理方法为例,说明本技术实施例提供的窗口的处理方法。
60.请参考图2,本技术这里以电子设备为图2所示的手机200为例,对本技术提供的电子设备进行介绍。其中,图2所示的手机200仅仅是电子设备的一个范例,并且手机200可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图2中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
61.如图2所示,手机200可以包括:处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,usb)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270a,受话器270b,麦克风270c,耳机接口270d,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及用户标识模块(subscriber identification module,sim)卡接口295等。
62.其中,上述传感器模块280可以包括压力传感器,指纹传感器,温度传感器,触摸传
感器,环境光传感器和骨传导传感器等传感器。
63.处理器210可以包括一个或多个处理单元,例如:处理器210可以包括调制解调处理器,基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
64.控制器可以是手机200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
65.处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。
66.在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
67.充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为电子设备供电。
68.电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器221,和无线通信模块260等供电。在一些实施例中,电源管理模块241和充电管理模块240也可以设置于同一个器件中。
69.手机200的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。在一些实施例中,手机200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得手机200可以通过无线通信技术与网络以及其他设备通信。
70.移动通信模块250可以提供应用在手机200上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块250还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
71.无线通信模块260可以提供应用在手机200上的包括无线局域网(wireless local area networks,wlan)(如(wireless fidelity,wi-fi)网络),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。例如,本技术实施例中,手机200可以通过无线通信模块260接入wi-fi网络。
72.无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。
73.显示屏294用于显示图像,视频等。该显示屏294包括显示面板。例如,本技术实施例中,显示屏294可以用于显示锁屏界面、主界面等。
74.手机200可以通过isp,摄像头293,视频编解码器,gpu,显示屏294以及应用处理器
等实现拍摄功能。isp用于处理摄像头293反馈的数据。摄像头293用于捕获静态图像或视频。在一些实施例中,手机200可以包括1个或n个摄像头293,n为大于1的正整数。
75.外部存储器接口220可以用于连接外部存储卡,例如micro sd卡,实现扩展手机200的存储能力。
76.内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行手机200的各种功能应用以及数据处理。
77.手机200可以通过音频模块270,扬声器270a,受话器270b,麦克风270c,耳机接口270d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
78.按键290包括开机键,音量键等。马达291可以用于来电振动提示,也可以用于触摸振动反馈。指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。sim卡接口295用于连接sim卡。
79.尽管图2未示出,手机200还可以闪光灯、微型投影装置、近场通信(near field communication,nfc)装置等,在此不再赘述。
80.可以理解的是,本实施例示意的结构并不构成对手机200的具体限定。在另一些实施例中,手机200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
81.以下实施例中的方法均可以在具有上述硬件结构和上述系统架构的电子设备中实现。
82.在本技术实施例中,电子设备熄灭电子设备的屏幕时,电子设备的后台应用可以在电子设备的显示界面的上层创建预设窗口。之后,电子设备可以检测该预设窗口是否为透明窗口,并对该预设窗口进行处理,以使得电子设备显示界面的上层不存在该预设窗口。
83.如图3所示,本技术实施例提供一种窗口的处理方法,该窗口的处理方法可以包括s301-s304。
84.s301、电子设备获取第一应用第一指令。
85.其中,电子设备的后台运行有至少一个应用程序,第一应用为在电子设备后台运行的至少一个应用程序中的任一应用。第一指令用于指示电子设备创建预设窗口。
86.一种可能的实现方式,在电子设备熄灭电子设备的屏幕时,电子设备的第一应用可以发出第一指令,以指示电子设备创建预设窗口。示例性的,以电子设备为手机为例。手机可以响应于用户作用于power键的操作(或者手机长时间为接收到用户的操作),熄灭屏幕。在手机熄灭屏幕时,手机的操作系统可以广播灭屏消息(例如screen_off),该灭屏消息用于指示手机已经熄灭屏幕,在手机后台运行的应用程序(例如第一应用)可以监听该灭屏消息。之后,第一应用可以接收到该灭屏消息,并发出第一指令,以指示电子设备创建预设窗口。(如图1所示的透明窗口102)。
87.可以理解的是,第一应用在电子设备的显示界面创建预设窗口之后,可以提高第一应用的使用优先级。这样一来,可以降低电子设备查杀第一应用的概率,保障第一应用继续在电子设备的后台运行。
88.s302、电子设备检测预设窗口是否为透明窗口。
89.其中,透明窗口是以不可见的方式显示在所述电子设备的显示界面上层的窗口,
用于在电子设备灭屏后保活透明窗口对应的应用程序(即发出指令创建该透明窗口的应用程序)。
90.在本技术实施例中,电子设备可以获取预设窗口的属性信息。之后,电子设备可以检测预设窗口是否为透明窗口。
91.在一些实施例中,预设窗口的属性信息包括像素尺寸,像素尺寸用于指示预设窗口包括的像素点的分布情况。该像素尺寸包括以下至少一项:第一像素尺寸、第二像素尺寸、第三像素尺寸。其中,第一像素尺寸用于指示预设窗口的长边的像素大小,第二像素尺寸用于指示预设窗口的短边的像素大小,第三像素尺寸用于预设窗口的像素大小。示例性的,如图4所示,该预设窗口401的长边为3像素,该预设窗口的短边为1像素,该预设窗口为3像素。以下以像素尺寸包括第一像素尺寸和第二像素尺寸为例,介绍本技术实施例的方法。
92.一种可能的实现方式,电子设备可以获取预设窗口的像素尺寸,比较该像素尺寸与预设像素阈值。其中,本技术实施例对该预设像素阈值不作限定,该预设像素阈值可以为1像素、5像素、10像素等。若像素尺寸小于预设像素阈值,电子设备则确定该预设窗口为透明窗口。示例性,假如预设像素阈值为10像素。结合图4,预设窗口401的第一像素尺寸和第二像素尺寸均小于10像素,电子设备则可以确定预设窗口401为透明窗口。
93.可以理解的是,通常情况下,应用程序所创建的窗口都会包含部分内容信息,该窗口不会过小。当预设窗口较小时,电子设备则可以确定该预设窗口为透明窗口。如此,可以提高电子设备判断透明窗口的准确性。
94.若像素尺寸大于预设像素阈值,电子设备则确定预设窗口为非透明窗口。其中,该非透明窗口为除透明窗口以外的其他窗口,例如短信消息窗口、更新消息窗口等。示例性,假如预设窗口(例如更新消息窗口)的第一像素尺寸为1000像素,第二像素尺寸505像素,预设像素阈值为10像素。该预设窗口的第一像素尺寸和第二像素尺寸均大于10像素,电子设备则可以确定预设窗口为非透明窗口。
95.需要说明的是,本技术实施例中,第一像素尺寸和第二像素尺寸也可以对应不同的预设像素阈值,本技术实施例对此不作限定。示例性的,预设像素阈值包括预设像素阈值a(例如10像素)和预设像素阈值b(例如5像素),其中,预设像素阈值a对应第一像素阈值,预设像素阈值b对应第二像素阈值。
96.在一些实施例中,预设窗口的属性信息包括透明度。电子设备可以根据预设窗口的透明度,确定该预设窗口是否为透明窗口。
97.需要说明的是,本技术实施例对透明度的取值范围不作限定。例如,透明度的取值可以在0-100之间。又例如,透明度的取值可以在0-50之间。本技术实施例中,透明度的取值越小,预设窗口的透明程度越高;透明度的取值越大,预设窗口的透明程度越低。示例性的,假如透明度的取值在0-100之间。当预设窗口的透明度为0时,预设窗口可以为如图1所示的透明窗口102,即该透明窗口102对下层的来电提醒界面101无遮盖。也就是说,用户可以通过电子设备看到“接收”按钮等。当预设窗口的透明度为100时,预设窗口可以为如图5a所示的窗口501,该窗口501遮盖了下层的来电提醒界面101。也就是说,用户无法通过电子设备看到窗口501下层的“接受”按钮等。
98.一种可能的实现方式,电子设备可以获取预设窗口的透明度,比较透明度与预设透明度阈值。其中,本技术实施例对预设透明阈值不作限定。例如,该预设透明度阈值可以
为1。又例如,该透明度阈值可以为1.1。若预设窗口的透明度小于预设透明度阈值,电子设备则确定该预设窗口为透明窗口。示例性的,假如预设透明度阈值为1,预设窗口的透明度为0;电子设备则确定该预设窗口为透明窗口。
99.若预设窗口的透明度大于预设透明度阈值,电子设备则确定该预设窗口为非透明窗口。示例性的,假如预设透明度阈值为1,预设窗口的透明度为50;电子设备则确定该预设窗口为非透明窗口。
100.可以理解的是,通常情况下,应用程序所创建的窗口可以包含一些信息,为了便于用户查看操作该窗口,该窗口的透明度会较高。当窗口的透明度较低时,电子设备可以确定该窗口为透明窗口。如此,可以提高电子设备判断透明窗口的准确性。
101.在一些实施例中,预设窗口的属性信息可以包括窗口风格。电子设备可以根据预设窗口的窗口风格,确定该预设窗口是否为透明窗口。具体的,电子设备可以获取预设窗口的窗口风格。若该窗口风格为预设风格(例如透明风格),电子设备则确定该预设窗口为透明窗口。若该窗口风格不是透明风格,电子设备则确定该预设窗口为非透明窗口。
102.可以理解的是,通过校验窗口的窗口风格,电子设备便可以确定窗口是否为透明窗口。如此,可以提高电子设备判断透明窗口的准确性。
103.在一些实施例中,预设窗口的属性信息可以包括以下至少两项:像素尺寸、透明度、窗口风格。若预设窗口的任一属性信息满足预设条件,电子设备则可以确定该预设窗口为透明窗口。具体对于各个属性信息对应的预设条件的说明,可以参考上述描述,此处不予赘述。示例性的,如图5b所示,手机可以获取预设窗口的属性信息。之后,手机可以分别判断窗口的像素尺寸是否小于预设像素阈值,预设窗口的透明度是否小于预设透明度阈值,以及预设窗口的窗口风格是否为透明风格,确定该预设窗口是否为透明窗口。例如,假如属性信息包括像素尺寸和透明度;预设窗口的第一像素尺寸为15,第二像素尺寸为11,预设像素阈值为10像素;预设窗口的透明度为0,预设透明度阈值为1。综上可知,该预设窗口的像素尺寸不符合预设条件,透明度符合预设条件,电子设备则可以确定该预设窗口为透明窗口。
104.可以理解的是,当窗口的任一属性信息满足预设条件,电子设备则可以最大程度的将窗口划分为透明窗口,进而对该窗口进行处理,保障电子设备能够正常运行。
105.在另一些实施例中,预设窗口的属性信息可以包括以下至少两项:像素尺寸、透明度、窗口风格。若预设窗口的各个属性信息均满足预设条件,电子设备则可以确定该预设窗口为透明窗口。具体对于各个属性信息对应的预设条件的说明,可以参考上述描述,此处不予赘述。
106.可以理解的是,当窗口的各个属性信息均满足预设条件,电子设备则可以精准地识别透明窗口,提高透明窗口的识别率。如此,可以避免对非透明窗口进行处理,保障了用户的使用体验。
107.在一些实施例中,在电子设备检测预设窗口是否为透明窗口之前,电子设备可以判断第一应用是否创建预设窗口。若第一应用创建了预设窗口,电子设备则执行s302。
108.在本技术实施例中,若预设窗口为非透明窗口,电子设备则可以执行s303。若预设窗口为透明窗口,电子设备则可以执行s304。
109.s303、电子设备在显示界面的上层显示预设窗口。
110.示例性的,在电子设备熄灭屏幕时,电子设备显示的显示界面为主界面。第一应用
创建的预设窗口可以在主界面的上层,以不可见的形式显示该预设窗口。并且,在电子设备熄灭屏幕之后,电子设备可以显示锁屏界面,该锁屏界面可以在预设窗口的上层。
111.s304、电子设备执行预设事件。
112.其中,电子设备执行预设事件可以使得显示界面的上层不包括预设窗口。预设事件可以包括第一类事件和第二类事件。第一类事件用于指示禁止创建预设窗口,第二类事件用于指示移除预设窗口。
113.需要说明的是,本技术实施例对电子设备移除预设窗口的方式不作限定。例如,电子设备可以获取预设窗口的标识,通过finish方法或destroy方法移除预设窗。又例如,电子设备可以将预设窗口对应的任务从窗口任务栈中移除,该窗口任务中保存有电子设备显示的各个窗口对应的任务。又例如,电子设备可以获取第一应用的进程号,调用清理接口(例如killprocess接口)查杀第一应用的进程。又例如,电子设备可以创建新的显示界面(例如主界面),新的显示界面处于预设窗口的上层。
114.可以理解的是,电子设备执行预设事件后,电子设备显示界面的上层便不包括预设窗口。这样一来,显示界面可以接收到用户输入的操作,使得电子设备做出响应。如此,可以避免电子设备发生冻屏等异常情况,保障了用户的使用体验。
115.在本技术实施例中,在预设事件为第一类事件的情况下,电子设备可以在第一应用创建预设窗口的过程中,执行第一类事件。示例性的,在电子设备熄灭屏幕时,第一应用可以创建预设窗口。在第一应用创建预设窗口的过程中,若电子设备检测该预设窗口为透明窗口,电子设备则禁止第一应用创建预设窗口。
116.也就是说,第一应用未成功创建预设窗口。这样一来,电子设备显示界面的上层便不会存在透明窗口。如此,可以避免电子设备发生冻屏等异常情况。并且,由于第一应用创建的预设窗口未在电子设备显示界面的上层,该第一应用的使用优先级会较低。如此,电子设备可以查杀该后台应用的进程,以降低电子设备的功耗。
117.需要说明的是,由于第二类事件用于指示移除预设窗口。即本技术实施例中,电子设备在执行第二类事件时,第一应用已经完成创建预设窗口。也就是说,电子设备可以在执行s303之后,执行第二类事件。
118.在一些实施例中,当预设事件为第二类事件时,电子设备可以响应于用户的亮屏操作,执行第二类事件。示例性的,如图6a所示,手机灭屏时,第一应用监听到灭屏消息之后,可以发出第一指令。之后,手机可以检测该预设窗口是否为透明窗口。若预设窗口是透明窗口,手机可以标记该预设窗口,并创建该预设窗口。若预设窗口不是透明窗口,手机则创建该预设窗口。在手机亮屏时,手机可以检测后台应用是否在灭屏时创建窗口。若手机已经创建窗口,手机可以检测该窗口(例如预设窗口)是否为透明窗口。若预设窗口是透明窗口,手机则移除该预设窗口。若预设窗口不是透明窗口,手机不对窗口进行处理。
119.其中,手机标记该窗口用于指示手机保存在灭屏时创建的透明窗口的记录。例如,手机可以保存窗口创建信息,该创建信息包括窗口的标识。如此,在手机亮屏时,手机可以根据创建信息确定电子设备是否在灭屏时创建窗口。
120.需要说明的是,通常情况下,在电子设备亮屏时,电子设备的操作系统可以广播亮屏消息(例如creen_off、user_present等)。第一应用在接收到该亮屏消息之后,可以移除该预设窗口。但是,可能由于一些因素(例如第一应用未接收到亮屏消息),电子设备亮屏
时,第一应用未移除该预设窗口,造成该预设窗口显示在电子设备显示界面的上层。
121.在一些实施例中,当预设事件为第二类事件时,在电子设备检测预设窗口是否为透明窗口之前,电子设备可以检测显示界面的上层是否存在窗口。示例性的,如图6b所示,在s302之前,该窗口的处理方法可以包括s601。
122.s601、电子设备检测显示界面的上层是否存在窗口。
123.一种可能的设计中,若显示界面的上层存在窗口(例如该窗口包括第一应用创建的预设窗口),电子设备则执行s302。若显示界面的上层不存在窗口,则说明后台应用已经将创建的窗口移除。
124.可以理解的是,若显示界面的上层不存在窗口,电子设备则无需检测窗口是否为透明窗口,以及对窗口进行处理。
125.需要说明的是,第一应用在接收到该亮屏消息之后,可以移除该预设窗口。但是,可能由于一些因素(例如第一应用未接收到亮屏消息),电子设备亮屏时,第一应用移除该预设窗口时有延迟(例如亮屏0.8秒之后移除该预设窗口),导致电子设备在亮屏时检测显示界面的上层存在透明窗口。
126.在一些实施例中,当预设事件为第二类事件时,电子设备可以在点亮屏幕的预设时长之后,移除预设窗口。示例性的,第一应用创建预设窗口。之后,电子设备亮屏,检测到显示界面的上层存在透明窗口(例如第一用的预设窗口)。然后,电子设备可以在亮屏预设时长(例如1秒)之后,再次检测到显示界面的上层是否存在预设窗口,若电子设备检测到显示界面的上层存在该预设窗口,则检测该预设窗口是否为透明窗口。在预设窗口为透明窗口的情况下,电子设备可以移除预设窗口。
127.示例性的,如图6c所示,手机灭屏时,第一应用监听到灭屏消息之后,可以指示手机创建预设窗口。之后,手机可以检测该预设窗口是否为透明窗口。若预设窗口是透明窗口,手机可以标记该预设窗口,并创建该预设窗口。若预设窗口不是透明窗口,手机则创建该预设窗口。在手机亮屏时,手机可以检测是否在灭屏时创建窗口。若手机创建窗口,手机可以检测显示界面的上层是否存在透明窗口。若显示界面上层存在透明窗口,手机则可以在n秒(例如1.1秒)后再次检测显示界面的上层是否存在透明窗口。若显示界面的上层存在透明窗口,手机则可以移除该透明窗口。
128.需要说明的是,本技术实施例对电子设备在亮屏的预设时长之后,移除预设窗口的过程不作限定。例如,电子设备可以定义预设线程和预设队列。在电子设备检测到透明窗口时,可以向消息队列发送预设任务,该预设任务用于指示在预设时长后,检测到透明窗口则移除透明窗口。在电子设备亮屏的预设时长之后,预设线程可以执行预设任务。
129.可以理解的是,电子设备在亮屏的预设时长之后在对预设窗口进行处理,能够保障第一应用有充足的时间处理该预设窗口。若第一应用未处理该预设窗口,电子设备可以移除该预设窗口,以避免电子设备发生冻屏等异常情况,保障了用户的使用体验。
130.需要说明的是,本技术实施例中,每个窗口可以对应一个标识。本技术实施例对窗口的标识不作限定。例如,该标识可以为窗口名称、窗口身份标识号(identity document,id)等。
131.在一些实施例中,电子设备可以保存异常窗口列表,该异常窗口列表中保存有至少一个预设标识,该至少一个预设标识中的每个预设标识均用于标识电子设备中曾创建的
一个透明窗口。在电子设备获取预设窗口的属性信息之前,电子设备可以根据预设窗口的标识与异常窗口列表,确定该预设窗口是否为透明窗口。如图7所示,在s302之前,该窗口的处理方法还包括s701-s703。
132.s701、电子设备获取预设窗口的标识。
133.s702、电子设备检测预设窗口的标识是否与至少一个预设标识中任一预设标识相同。
134.示例性的,请参考表1,其示出了电子设备保存的窗口为透明窗口的标识(即预设标识)。
135.表1
136.预设标识a01a11a15
137.也就是说,窗口的标识为a01、a11或a15的窗口为透明窗口。例如,假如预设窗口的标识为a11,电子设备则可以确定至少一个窗口的标识中存在与预设窗口的标识相同的标识。
138.一种可能的设计中,若预设窗口的标识与至少一个预设标识中任一预设标识相同,电子设备则执行s703。若预设窗口的标识与至少一个预设标识中任一预设标识均不同,电子设备则执行s302。可选的,在电子设备执行s302之后,若该预设窗口为透明窗口,电子设备可以将预设窗口的标识保存至异常窗口列表。
139.这样一来,电子设备再次检测到该预设窗口时,可以根据预设窗口的标识确定该预设窗口为透明窗口,降低了电子设备检测预设窗口是否为透明窗口的复杂度。
140.s703、电子设备确定预设窗口为透明窗口,并执行预设事件。
141.在一些实施例中,电子设备可以在第一应用创建预设窗口的过程中,执行第一类事件。示例性的,在电子设备熄灭屏幕时,第一应用可以创建预设窗口。在第一应用创建预设窗口的过程中,电子设备确定电子设备保存的预设标识中存在与预设窗口的标识相同的标识,电子设备则可以禁止第一应用创建预设窗口。
142.在一些实施例中,电子设备可以在第一应用创建完成预设窗口之后,执行第二类事件。例如,在电子设备熄灭屏幕时,第一应用可以完成创建预设窗口。在电子设备点亮屏幕时,电子设备检测到至少一个预设标识中存在与预设窗口的标识相同的标识,电子设备则可以移除预设窗口。
143.可以理解的是,电子设备通过保存的预设标识,校验该预设窗口是否为透明窗口,可以降低电子设备检测预设窗口是否为透明窗口的复杂度。如此,可以降低电子设备的功耗。
144.在一些实施例中,电子设备保存的异常窗口列表还可以包括每个预设标识对应的透明窗口的创建次数,每个预设标识对应的透明窗口的创建次数与每个预设标识之间存在对应关系(可以简称为第一对应关系)。在预设窗口为透明窗口的情况下,电子设备可以根据预设窗口的标识对应的创建次数,确定是否执行预设事件。如图8a所示,s703可以包括s801-s802。
145.s801、电子设备判断预设窗口的创建次数是否大于预设次数阈值。
146.一种可能的实现方式,在电子设备保存有该预设窗口的标识的情况下,电子设备在获取到预设窗口的标识之后,可以根据预设窗口的标识和第一对应关系确定预设窗口的创建次数。之后,电子设备可以比较预设窗口的创建次数与预设次数阈值。
147.一种可能的设计中,若预设窗口的创建次数大于预设次数阈值,电子设备则可以执行s802。
148.示例性的,结合表1,请参考表2,其示出了各个预设标识对应的透明窗口的创建次数与预设标识之间的关系。
149.表2
150.预设标识创建次数a015a111a1510
151.也就是说,标识为a01的透明窗口的创建次数为5,标识为a11的透明窗口的创建次数为1,标识为a15的透明窗口的创建次数为10。假如,预设次数阈值为3。当预设窗口的标识为a01,电子设备则执行s802。
152.s802、电子设备执行预设事件。
153.可以理解的是,当预设窗口的创建次数大于预设次数阈值,则表明该预设窗口被多次创建,且被多次被判定为透明窗口。如此,在预设窗口的创建次数大于预设次数阈值的情况下,电子设备执行预设事件,能够降低电子设备对非透明窗口进行处理的概率,提高了电子设备处理透明窗口的准确率。
154.可选的,若预设窗口的创建次数大于预设次数阈值,电子设备可以更新预设窗口的创建次数。示例性的,假如预设次数阈值为3。结合表2,当预设窗口的标识为a01,电子设备可以将a01对应的创建次数更新为6。
155.需要说明的是,对于电子设备执行预设事件的过程的说明,可以参考上述s304和s703中对电子设备执行预设事件的说明,此处不予赘述。
156.可选的,s801中,若预设窗口的创建次数小于预设次数阈值,电子设备则可以执行s803。
157.s803、电子设备更新预设窗口的创建次数。
158.示例性的,假如预设次数阈值为3。结合表2,当预设窗口的标识为a11,电子设备可以将a01对应的创建次数更新为2。这样一来,可以便于电子设备实时更新透明窗口创建的次数,保障电子设备能够对创建次数较高的透明窗口进行处理,以保障电子设备能够正常运行。
159.以下结合图8b,对s801-s803进行说明。以电子设备为手机为例,手机灭屏时,第一应用监听到灭屏消息之后,可以发出第一指令。之后,手机可以根据异常窗口列表,确定预设窗口的创建次数大于预设次数阈值。若预设窗口的创建次数大于预设次数阈值,手机则禁止创建预设窗口。若预设窗口的创建次数小于预设次数阈值,电子设备则检测该预设窗口是否为透明窗口。若预设窗口是透明窗口,手机可以标记该预设窗口,并创建该预设窗口。若预设窗口不是透明窗口,手机则创建该预设窗口。在手机亮屏时,第一应用监听到亮
屏消息,可以销毁该预设窗口。若第一应用销毁该预设窗口,手机则检测该预设窗口是否为透明窗口。若该预设窗口为透明窗口,手机则更新该预设窗口的创建次数。若第一应用未销毁该预设窗口,手机则根据异常窗口列表,确定预设窗口的创建次数是否大于预设次数阈值。若预设窗口的创建次数大于预设次数阈值,手机则移除该预设窗口。若预设窗口的创建次数小于预设次数阈值,手机则检测该预设窗口是否为透明窗口。若该预设窗口是透明窗口,手机则在异常窗口列表更新该预设窗口创建的次数。若该预设窗口为非透明窗口,手机则不处理该预设窗口。
160.在一些实施例中,电子设备可以将异常窗口信息上传至云端服务器。该异常窗口信息可以包括:预设标识或第一对应关系。可选的,该异常窗口信息还可以包括:创建透明窗口的应用的包名、创建透明窗口的应用的进程id、创建透明窗口的应用的版本、透明窗口的属性信息等。本技术实施例对异常窗口信息不作限定。之后,云端服务器根据异常窗口信息,确定预设事件,并向电子设备发送该预设事件。电子设接收到该预设事件之后,可以执行该预设事件。可选的,云端服务器可以向其他电子设备发送异常窗口信息。
161.可以理解的是,电子设备通过向云端服务器共享异常窗口信息,使得其他的电子设备也可以获取该异常窗口信息。如此,可以保障其他的电子设备能够准确识别并处理预设透明窗口,进而保障电子设备能够正常运行。
162.上述主要从电子设备的角度对本技术实施例提供的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本技术所公开的实施例描述的各示例的一种窗口的处理方法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是电子设备软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
163.本技术实施例可以根据上述方法示例对窗口的处理装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本技术实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
164.请参考图9,其示出本技术实施例提供的一种窗口的处理装置的示意图。该窗口的处理装置可以是上述电子设备(如手机200)中,用于实现本技术实施例的方法的功能模块。如图9所示,该窗口的处理装置可以包括:获取模块901、处理模块902、异常窗口管理模块903。
165.其中,获取模块901用于支持手机200执行:获取手机200中的数据(例如窗口的标识、属性信息等)。例如,获取模块901用于支持手机200执行上述方法实施例中的s701,和/或用于本文所描述的技术的其它过程。
166.处理模块902用于支持手机200执行:校验数据信息、确定电子设备执行的事件并执行该事件。例如,处理模块902用于支持手机200执行上述方法实施例中的s302,s304,s601,s702,s703,s801,和/或用于本文所描述的技术的其它过程。
167.异常窗口管理模块903用于支持手机200执行:管理透明窗口的信息,与云端服务
器交互数据。例如,异常窗口管理模块903用于支持手机200执行上述方法实施例中的s803,将手机200中异常窗口信息上传至云端服务器,接收来自云端服务器的异常窗口信息和预设事件,和/或用于本文所描述的技术的其它过程。
168.本技术另一些实施例提供了一种电子设备(如图2所示的手机200),该电子设备中安装有多个预设应用。该电子设备可以包括:存储器和一个或多个处理器。该存储器和处理器耦合。该电子设备还可以包括摄像头。或者,该电子设备可以外接摄像头。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,电子设备可执行上述方法实施例中手机执行的各个功能或者步骤。该电子设备的结构可以参考图2所示的手机200的结构。
169.本技术实施例还提供一种芯片系统,如图10所示,该芯片系统包括至少一个处理器1001和至少一个接口电路1002。处理器1001和接口电路1002可通过线路互联。例如,接口电路1002可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路1002可用于向其它装置(例如处理器1001)发送信号。示例性的,接口电路1002可读取存储器中存储的指令,并将该指令发送给处理器1001。当所述指令被处理器1001执行时,可使得电子设备(如图2所示的手机200)执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本技术实施例对此不作具体限定。
170.本技术实施例还提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在上述电子设备(如图2所示的手机200)上运行时,使得该电子设备执行上述方法实施例中手机执行的各个功能或者步骤。
171.本技术实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中手机执行的各个功能或者步骤。
172.通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
173.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
174.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
175.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
176.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用
时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
177.以上内容,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。