CN115391771B - 弹窗拦截方法、装置、电子设备及可读存储介质 - Google Patents
弹窗拦截方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN115391771B CN115391771B CN202211332223.9A CN202211332223A CN115391771B CN 115391771 B CN115391771 B CN 115391771B CN 202211332223 A CN202211332223 A CN 202211332223A CN 115391771 B CN115391771 B CN 115391771B
- Authority
- CN
- China
- Prior art keywords
- popup
- window
- pop
- request
- preset
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及终端技术领域,提供一种弹窗拦截方法、装置、电子设备及可读存储介质,该方法包括:响应于接收到的弹窗请求,创建当前操作系统对应的虚拟显示器,在虚拟显示器上显示弹窗请求对应的弹窗,基于弹窗在显示过程中的行为信息判断弹窗是否为预设弹窗,在弹窗为预设弹窗时,销毁虚拟显示器,并拦截弹窗。相比于现有的弹窗拦截方式,本申请上述方式在弹窗时不在设备显示器上显示弹窗,而在当前操作系统对应的虚拟显示器上显示弹窗,通过监测弹窗在虚拟显示器上的显示行为来判断弹窗是否需要拦截,从而实现了弹窗后拦截,避免了弹窗过程被用户感知,提升了用户体验。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种弹窗拦截方法、装置、电子设备及可读存储介质。
背景技术
目前,流氓应用程序(Application,APP)通常通过弹出广告弹窗来向用户推广产品。现有的弹窗拦截方式通常弹窗后收集弹窗特征,并根据弹窗特征判断是否对弹窗进行拦截。由于上述方式用户可以看到弹窗过程,从而导致用户体验较差。
发明内容
本申请提供一种弹窗拦截方法、装置、电子设备及可读存储介质,目的在于解决现有技术中弹窗拦截方式通常弹窗后收集弹窗特征,并根据弹窗特征判断是否对弹窗进行拦截。由于上述方式用户可以看到弹窗过程,从而导致用户体验较差的技术问题。
第一方面,本申请提供了一种弹窗拦截方法,该方法包括:响应于接收到的弹窗请求,创建当前操作系统对应的虚拟显示器;在所述虚拟显示器上显示所述弹窗请求对应的弹窗;基于所述弹窗在显示过程中的行为信息判断所述弹窗是否为预设弹窗;在所述弹窗为所述预设弹窗时,销毁所述虚拟显示器,并拦截所述弹窗。
本申请所提供的弹窗拦截方法,通过响应于接收到的弹窗请求,创建当前操作系统对应的虚拟显示器,在虚拟显示器上显示弹窗请求对应的弹窗,基于弹窗在显示过程中的行为信息判断弹窗是否为预设弹窗,在弹窗为预设弹窗时,销毁虚拟显示器,并拦截弹窗。相比于现有的弹窗拦截方式,本申请上述方式在弹窗时不在设备显示器上显示弹窗,而在当前操作系统对应的虚拟显示器上显示弹窗,通过监测弹窗在虚拟显示器上的显示行为来判断弹窗是否需要拦截,从而实现了弹窗后拦截,避免了弹窗过程被用户感知,提升了用户体验。
在一种可能的实现方式中,响应于接收到的弹窗请求,创建当前操作系统对应的虚拟显示器,包括:响应于接收到的弹窗请求,判断所述弹窗请求是否为预设合规请求;在所述弹窗请求不为所述预设合规请求时,创建当前操作系统对应的虚拟显示器。
在另一种可能的实现方式中,判断所述弹窗请求是否为预设合规请求,包括:判断所述弹窗请求对应的弹窗是否属于当前置顶应用;在所述弹窗属于所述当前置顶应用时,判定所述弹窗请求为预设合规请求;在所述弹窗不属于所述当前置顶应用时,判定所述弹窗请求不为预设合规请求。
在另一种可能的实现方式中,判断所述弹窗请求是否为预设合规请求,包括:判断发起所述弹窗请求的应用是否为目标应用;在所述应用为所述目标应用时,判定所述弹窗请求为预设合规请求;在所述应用不为所述目标应用时,判定所述弹窗请求不为预设合规请求。
在另一种可能的实现方式中,目标应用包括:当前置顶应用、系统应用以及预设白名单应用中的至少一种。
在另一种可能的实现方式中,判断所述弹窗请求是否为预设合规请求之后,还包括:在所述弹窗请求为所述预设合规请求时,确定所述弹窗请求对应的弹窗;在设备显示器上显示所述弹窗。
在另一种可能的实现方式中,行为信息包括:接口调用信息和/或显示页面信息。
在另一种可能的实现方式中,行为信息包括接口调用信息和显示页面信息;所述基于所述弹窗在显示过程中的行为信息判断所述弹窗是否为预设弹窗,包括:根据所述接口调用信息监测所述弹窗是否调用预设弹窗对应的目标接口;根据所述显示页面信息检测所述弹窗中是否包含所述预设弹窗对应的目标页面;根据监测结果和检测结果判断所述弹窗是否为预设弹窗。
在另一种可能的实现方式中,根据所述接口调用信息监测所述弹窗是否调用预设弹窗对应的目标接口之前,还包括:从预设接口调用表中获取预设弹窗对应的目标接口;从预设页面表中获取预设弹窗对应的目标页面。
在另一种可能的实现方式中,基于所述弹窗在显示过程中的行为信息判断所述弹窗是否为预设弹窗之后,还包括:在所述弹窗不为所述预设弹窗时,将所述弹窗从所述虚拟显示器上移动至设备显示器上进行显示;在显示成功后,销毁所述虚拟显示器。
在另一种可能的实现方式中,在所述虚拟显示器上显示所述弹窗请求对应的弹窗,包括:在所述弹窗请求中添加所述弹窗的启动参数;基于添加后的所述弹窗请求在所述虚拟显示器上显示所述弹窗请求对应的弹窗。
第二方面,本申请提供了一种弹窗拦截装置,包括:创建模块、显示模块、判断模块以及拦截模块;
所述创建模块,用于响应于接收到的弹窗请求,创建当前操作系统对应的虚拟显示器;
所述显示模块,用于在所述虚拟显示器上显示所述弹窗请求对应的弹窗;
所述判断模块,用于基于所述弹窗在显示过程中的行为信息判断所述弹窗是否为预设弹窗;
所述拦截模块,用于在所述弹窗为所述预设弹窗时,销毁所述虚拟显示器,并拦截所述弹窗。
第三方面,本申请提供了一种电子设备,包括:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如上述第一方面或第一方面的可能的实现方式中任一项所述的弹窗拦截方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行如上述第一方面或第一方面的可能的实现方式中任一项所述的弹窗拦截方法。
第五方面,本申请提供了一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或第一方面的可能的实现方式中任一项所述的弹窗拦截方法。
可选的,作为一种可能的实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的可能的实现方式中任一项所述的弹窗拦截方法。
附图说明
图1为现有技术弹窗拦截示意图;
图2为本申请实施例提供的电子设备的一种结构示意图;
图3为本申请实施例提供的电子设备的一种软件结构框图;
图4为本申请一个实施例提供的弹窗拦截方法的流程图;
图5为本申请一个实施例提供的弹窗拦截方法的模块交互图;
图6为本申请另一个实施例提供的弹窗拦截方法的流程图;
图7为本申请另一个实施例提供的弹窗拦截方法的模块交互图;
图8为本申请另一个实施例提供的弹窗拦截方法的流程图;
图9为本申请提供的一种弹窗拦截装置的结构示意图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了下述各实施例的描述清楚简洁,首先给出一种弹窗拦截的实现方案的简要介绍:
目前,流氓应用程序(Application,APP)通常通过弹出广告弹窗来向用户推广产品。现有的弹窗拦截方式包括以下几种:1、通过名单机制分辨应用拦截广告,但是,由于流氓广告换皮重打包现象十分常见,名单机制将会滞后于换皮应用出现的速度,从而存在滞后问题。2、通过收集流氓应用特征,在窗口弹出前进行拦截,例如,收集(1)嫌疑应用在运行中访问广告内容分发服务器的记录;(2)嫌疑应用的分类/下载量;(3)嫌疑应用的后台弹窗的弹窗方式;(4)嫌疑应用提高本应用运行优先级的活动等。从统计来看大部分流氓应用都具有这些特征,但是这类特征并不与后台广告弹窗直接相关,通过这种特征收集容易产生误报。3、弹窗后收集弹窗特征,并根据弹窗特征判断是否对弹窗进行拦截。由于上述方式用户可以看到弹窗过程,从而导致用户体验较差。
如图1所述,图1为现有技术弹窗拦截示意图,如图1中的(a)和图1中的(b)所示,图中,在进行弹窗拦截时,需要先弹窗显示,再收集弹窗后的弹窗特征,根据弹窗特征判断是否对弹窗进行拦截,从而导致用户可以看到弹窗过程,用户体验较差。
基于上述技术方案中存在的问题,本申请提供了一种弹窗拦截方法,在弹窗时不在设备显示器上显示弹窗,而在当前操作系统对应的虚拟显示器上显示弹窗,通过监测弹窗在虚拟显示器上的显示行为来判断弹窗是否需要拦截,从而实现了弹窗后拦截,避免了弹窗过程被用户感知,提升了用户体验。所提供的弹窗拦截方法,可以适用于手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表等带触摸屏的电子产品。其中,适用该弹窗拦截方法的电子设备,其结构可以如图2所示。
如图2所示,图2为本申请提供的一种电子设备的组成示例图,电子设备200可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serialbus,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等。其中传感器模块280可以包括压力传感器280A,陀螺仪传感器280B,气压传感器280C,磁传感器280D,加速度传感器280E,距离传感器280F,接近光传感器280G,指纹传感器280H,温度传感器280J,触摸传感器280K,环境光传感器280L,骨传导传感器280M等。
可以理解的是,本实施例示意的结构并不构成对该电子设备200的具体限定。在另一些实施例中,该电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(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)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备200的结构限定。在本申请另一些实施例中,电子设备200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备200的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块250可以提供应用在电子设备200上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块250还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块250的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块250的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。
无线通信模块260可以提供应用在电子设备200上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得电子设备200可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(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)。
电子设备200通过GPU,显示屏294,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏294用于显示图像,视频等。显示屏294包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oled,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备200可以包括1个或N个显示屏294,N为大于1的正整数。
电子设备200的显示屏294上可以显示一系列图形用户界面(graphical userinterface,GUI),这些GUI都是该电子设备200的主屏幕。一般来说,电子设备200的显示屏294的尺寸是固定的,只能在该电子设备200的显示屏294中显示有限的控件。控件是一种GUI元素,它是一种软件组件,包含在应用程序中,控制着该应用程序处理的所有数据以及关于这些数据的交互操作,用户可以通过直接操作(direct manipulation)来与控件交互,从而对应用程序的有关信息进行读取或者编辑。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。例如,在本申请实施例中,显示屏291可以显示虚拟按键(一键编排、开始编排、场景编排)。
另外,在上述部件之上,运行有操作系统。例如鸿蒙系统,iOS操作系统,Android开源操作系统,Windows操作系统等。在该操作系统上可以安装运行应用程序。
图3为本申请实施例提供的电子设备的一种软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在本申请的一些实施例中,电子设备的软件架构至少包括三层,从上至下分别为应用程序层,应用程序框架层,以及硬件抽象层。
应用程序层可以包括一系列应用程序包。这些应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。在本申请的一些实施例中,应用程序可以包括应用程序(Application,APP),在本申请中,APP可以发出弹窗请求,例如,APP可以发送intent来拉起目标activity。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。例如,在本申请的一些实施例中,应用程序框架层还可以包括活动管理器服务(Activity Manager Service,AMS)、显示管理器(DisplayManager)以及SurfaceFlinger。其中,AMS是android中很重要的一个服务,它统筹管理着android的四大组件;统一调度各应用进程,在本申请中,AMS可以用于判断目标activity是否属于当前置顶应用;还可以用于判断发起intent的应用是否为当前置顶应用;还可以用于判断发起intent的应用是否为系统应用;还可以用于判断发起intent的应用是否为预设白名单应用;还可以用于向DisplayManager申请创建虚拟显示VirtualDisplay;还可以用于hook预设接口调用表中的各API,并将各API加入监测列表;还可以用于在intent中添加窗口的启动参数;还可以用于监测目标activity显示过程中是否调用各API;还可以用于基于监测结果判断目标activity是否为广告弹窗;还可以用于遍历显示在虚拟virtualDisplay上的activity的viewgroup树;还可以用于判断viewgroup树上是否有某一个view属于预设页面表中的view类;还可以用于通知进行窗口移动;还可以用于在显示完成后,通知销毁虚拟显示VirtualDisplay。在本申请中,DisplayManager可以用于创建虚拟显示VirtualDisplay;还可以用于在虚拟显示VirtualDisplay上显示目标activity;还可以用于销毁虚拟显示VirtualDisplay,以拦截广告弹窗。SurfaceFlinger可以用于驱动Lcd Driver进行显示。
硬件抽象层为电子设备200的操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。在本申请的一些实施例中硬件抽象层包括Lcd Driver。该Lcd Driver可以用于显示。
为了便于理解,本申请以下实施例将以具有图2和图3所示结构的电子设备200为例,结合附图4、图5以及应用场景,对本申请实施例提供的弹窗拦截方法进行具体阐述。
图4为本申请一个实施例提供的弹窗拦截方法的流程图,图5为本申请一个实施例提供的弹窗拦截方法的模块交互图。
如图4和图5所示,上述弹窗拦截方法可以包括:
步骤S10:响应于接收到的弹窗请求,创建当前操作系统对应的虚拟显示器。
需要说明的是,弹窗请求可以是APP发送的intent,其中,intent可以用于Android应用的各项组件之间的通讯,intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此intent的描述,负责找到对应的组件,将intent传递给被调用的组件,并完成组件的调用。
当前操作系统可以是电子设备的操作系统。例如,电子设备为Android手机时,当前操作系统为Android系统。Android系统对应的虚拟显示器为VirtualDisplay。
为了便于理解,参考图5进行说明,但并不对本方案进行限定。在模块交互中,步骤S10可以是APP发送intent至AMS以拉起目标activity,AMS在接收到intent后,向DisplayManager申请创建虚拟显示VirtualDisplay,DisplayManager创建虚拟显示VirtualDisplay。
步骤S20:在所述虚拟显示器上显示所述弹窗请求对应的弹窗。
需要说明的是,VirtualDisplay代表一个虚拟显示器,需要调用DisplayManager类的 createVirtualDisplay()方法,可通过在弹窗请求中添加窗口的启动参数将窗口显示在指定虚拟显示器上。
弹窗请求对应的弹窗可以是intent对应的目标activity。
为了便于理解,参考图5进行说明,但并不对本方案进行限定。在模块交互中,步骤S20可以是DisplayManager在虚拟显示VirtualDisplay上显示目标activity。
步骤S30:基于所述弹窗在显示过程中的行为信息判断所述弹窗是否为预设弹窗。
需要说明的是,预设弹窗可以预先设置,在本实施例和其他实施例中,预设弹窗以广告弹窗为例进行说明。
为了便于理解,参考图5进行说明,但并不对本方案进行限定。在模块交互中,步骤S30可以是AMS获取目标activity显示过程中的行为信息,AMS基于行为信息判断目标activity是否为广告弹窗。
步骤S40:在所述弹窗为所述预设弹窗时,销毁所述虚拟显示器,并拦截所述弹窗。
可以理解的是,当虚拟显示器被销毁时,所有显示在该虚拟显示器上的窗口都会被强制销毁。因此,可以销毁虚拟显示器,以销毁该虚拟显示器上的窗口,进而实现拦截弹窗。
为了便于理解,参考图5进行说明,但并不对本方案进行限定。在模块交互中,步骤S30可以是DisplayManager销毁虚拟显示VirtualDisplay,以拦截广告弹窗。
本实施例所提供的弹窗拦截方法,通过响应于接收到的弹窗请求,创建当前操作系统对应的虚拟显示器,在虚拟显示器上显示弹窗请求对应的弹窗,基于弹窗在显示过程中的行为信息判断弹窗是否为预设弹窗,在弹窗为预设弹窗时,销毁虚拟显示器,并拦截弹窗。相比于现有的弹窗拦截方式,本实施例上述方式在弹窗时不在设备显示器上显示弹窗,而在当前操作系统对应的虚拟显示器上显示弹窗,通过监测弹窗在虚拟显示器上的显示行为来判断弹窗是否需要拦截,从而实现了弹窗后拦截,避免了弹窗过程被用户感知,提升了用户体验。
图6为本申请另一个实施例提供的弹窗拦截方法的流程图,如图6所示,在本实施例中,所述步骤S10,包括:
步骤S101:响应于接收到的弹窗请求,判断所述弹窗请求是否为预设合规请求。
应当理解的是,为了避免合规弹窗被拦截,影响用户正常使用,本实施例中,在创建虚拟显示器之前,还会判断弹窗请求是否为预设合规请求。
需要说明的是,弹窗请求可以是APP发送的intent,其中,intent可以用于Android应用的各项组件之间的通讯,intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此intent的描述,负责找到对应的组件,将 intent传递给被调用的组件,并完成组件的调用。
预设合规请求可以预先设置,例如,预设合规请求可以是android原生所允许的弹窗行为。
在另一种可能的实现方式中,上述步骤S101,可包括:判断所述弹窗请求对应的弹窗是否属于当前置顶应用;在所述弹窗属于所述当前置顶应用时,判定所述弹窗请求为预设合规请求;在所述弹窗不属于所述当前置顶应用时,判定所述弹窗请求不为预设合规请求。
可以理解的是,如果应用处于置顶状态,那么该应用应当可以自由跳转到属于该应用的任何界面。例如,在使用购物类应用时,从商品列表页面跳转至商品详情页面。因此,在弹窗请求对应的弹窗属于当前置顶应用时,该弹窗请求属于android原生所允许的弹窗行为,可以判定弹窗请求为预设合规请求。
应当理解的是,如果应用处于交互状态,说明该应用正在与用户进行交互,那么该应用应当也可以自由跳转到属于该应用的任何界面,以确保用户能够正常使用该应用。因此,在弹窗请求对应的弹窗属于处于交互状态的应用时,该弹窗请求属于android原生所允许的弹窗行为,可以判定弹窗请求为预设合规请求。
可以理解的是,在应用内跳转到广告页面均属于正常的商业行为,本实施例中,对此不进行拦截。
在另一种可能的实现方式中,上述步骤S101,还可包括:判断发起所述弹窗请求的应用是否为目标应用;在所述应用为所述目标应用时,判定所述弹窗请求为预设合规请求;在所述应用不为所述目标应用时,判定所述弹窗请求不为预设合规请求。
应当理解的是,为了避免允许进行弹窗的应用发起的弹窗请求被拦截,本实施例中,还判断发起弹窗请求的应用是否为目标应用。
需要说明的是,目标应用可以是允许进行弹窗的应用,例如,目标应用可以是当前置顶应用、系统应用以及预设白名单应用中的至少一种。
可以理解的是,在发起所述弹窗请求的应用为目标应用时,需要允许该应用进行弹窗,因此,判定弹窗请求为预设合规请求;在发起所述弹窗请求的应用不为目标应用时,需要禁止该应用进行弹窗,因此,判定弹窗请求不为预设合规请求。
在另一种可能的实现方式中,所述目标应用包括:当前置顶应用、系统应用以及预设白名单应用中的至少一种。
应当理解的是,在发起所述弹窗请求的应用为当前置顶应用时,可能存在从当前置顶应用跳转至其他应用的行为,例如,使用聊天应用时,点击聊天应用内聊天记录的链接,跳转至浏览器应用,这种跳转行为由当前置顶应用主动发起,也属于android原生所允许的弹窗行为,不应进行拦截。因此,目标应用可以包括当前置顶应用。
可以理解的是,在发起所述弹窗请求的应用为系统应用时,可能存在系统应用拉起窗口的行为,例如,点击通知界面由systemUI启动应用窗口,点击桌面图标由launcher启动应用窗口等,这种跳转行为由系统应用主动发起,也属于android原生所允许的弹窗行为,不应进行拦截。因此,目标应用可以包括系统应用。
应当理解的是,在发起所述弹窗请求的应用为预设白名单应用时,可能存在预设白名单应用启动其他窗口的行为,该行为为系统/用户主观授意允许的行为,不应进行拦截。因此,目标应用可以包括预设白名单应用。
在另一种可能的实现方式中,上述步骤S101之后,可包括:在所述弹窗请求为所述预设合规请求时,确定所述弹窗请求对应的弹窗;在设备显示器上显示所述弹窗。
可以理解的是,在弹窗请求为预设合规请求时,说明弹窗请求对应的弹窗为合规弹窗。因此,需要在设备显示器上正常显示弹窗。
为了便于理解,参考图7进行说明,但并不对本方案进行限定。图7为本申请另一个实施例提供的弹窗拦截方法的模块交互图,在模块交互中,步骤S101可以是APP发送intent至AMS以拉起目标activity,AMS在接收到intent后,判断目标activity是否属于当前置顶应用,判断发起intent的应用是否为当前置顶应用,判断发起intent的应用是否为系统应用,判断发起intent的应用是否为预设白名单应用。在目标activity属于当前置顶应用,或发起intent的应用为当前置顶应用,或发起intent的应用为系统应用,或发起intent的应用为预设白名单应用时,AMS根据intent内容正常启动目标activity,SurfaceFlinger驱动Lcd Driver显示目标activity。
步骤S102:在所述弹窗请求不为所述预设合规请求时,创建当前操作系统对应的虚拟显示器。
应当理解的是,在弹窗请求不为预设合规请求时,说明弹窗请求对应的弹窗可能为违规弹窗。因此,需要创建当前操作系统对应的虚拟显示器,以便后续监测弹窗在虚拟显示器上的行为信息。
为了便于理解,参考图7进行说明,但并不对本方案进行限定。在模块交互中,步骤S102可以是在目标activity不属于当前置顶应用,且发起intent的应用不为当前置顶应用,且发起intent的应用不为系统应用,且发起intent的应用不为预设白名单应用时,AMS向DisplayManager申请创建虚拟显示VirtualDisplay,DisplayManager创建虚拟显示VirtualDisplay。
在本实施例中,公开了响应于接收到的弹窗请求,判断弹窗请求是否为预设合规请求,在弹窗请求为预设合规请求时,创建当前操作系统对应的虚拟显示器;由于本实施例在创建虚拟显示器之前,还会判断弹窗请求是否为预设合规请求,从而能够避免合规弹窗被拦截,影响用户正常使用。
在另一种可能的实现方式中,上述步骤S20,可包括:
步骤S201:在所述弹窗请求中添加所述弹窗的启动参数。
应当理解的是,为了确保弹窗正确在虚拟显示器上显示,本实施例中,预先在弹窗请求中添加所述弹窗的启动参数。
需要说明的是,启动参数可以是用于标识弹窗的参数,例如,启动参数可以是弹窗的display ID。
为了便于理解,参考图7进行说明,但并不对本方案进行限定。在模块交互中,步骤S201可以是AMS在intent中添加目标activity的启动参数display ID。
步骤S202:基于添加后的所述弹窗请求在所述虚拟显示器上显示所述弹窗请求对应的弹窗。
可以理解的是,在添加弹窗的启动参数后,弹窗将会被启动在新创建的虚拟显示器上,以在虚拟显示器上显示弹窗。
为了便于理解,参考图7进行说明,但并不对本方案进行限定。在模块交互中,步骤S201可以是AMS将添加启动参数display ID后的intent发送至DisplayManager,DisplayManager基于intent中的启动参数display ID将目标activity启动在新创建的虚拟显示VirtualDisplay上。
在本实施例中,公开了在弹窗请求中添加弹窗的启动参数,基于添加后的弹窗请求在虚拟显示器上显示弹窗请求对应的弹窗;由于本实施例预先在弹窗请求中添加弹窗的启动参数,从而能够确保弹窗正确在虚拟显示器上显示。
在另一种可能的实现方式中,所述行为信息包括:接口调用信息和/或显示页面信息。
应当理解的是,为了准确判断弹窗是否为预设弹窗,本实施例中,行为信息可以包括:接口调用信息和/或显示页面信息。
在行为信息为接口调用信息时,上述步骤S30,可包括:从预设接口调用表中获取预设弹窗对应的目标接口;根据所述接口调用信息监测所述弹窗是否调用所述目标接口;根据监测结果判断所述弹窗是否为预设弹窗。
在行为信息为显示页面信息时,上述步骤S30,可包括:从预设页面表中获取预设弹窗对应的目标页面;根据所述显示页面信息检测所述弹窗中是否包含所述目标页面;根据检测结果判断所述弹窗是否为预设弹窗。
在另一种可能的实现方式中,所述行为信息包括接口调用信息和显示页面信息;上述步骤S30,可包括:
步骤S301:根据所述接口调用信息监测所述弹窗是否调用预设弹窗对应的目标接口。
应当理解的是,本实施例中,可以从接口调用和弹窗页面两方面共同判断弹窗是否为预设弹窗。
需要说明的是,预设弹窗对应的目标接口可以是已知的广告软件开发工具包(Software Development Kit,SDK)中,用于插入广告窗口的所有应用程序编程接口(Application Programming Interface,API)。
为了便于理解,参考图7进行说明,但并不对本方案进行限定。在模块交互中,步骤S301可以是AMS hook预设接口调用表中的各API,并将各API加入监测列表,在虚拟显示VirtualDisplay上显示目标activity时,AMS监测目标activity显示过程中是否调用各API,基于监测结果判断目标activity是否为广告弹窗。
步骤S302:根据所述显示页面信息检测所述弹窗中是否包含所述预设弹窗对应的目标页面。
可以理解的是,预设弹窗对应的目标页面可以是已知的广告SDK中,用于展示广告的view页面。
为了便于理解,参考图7进行说明,但并不对本方案进行限定。在模块交互中,步骤S301可以是AMS遍历显示在虚拟virtualDisplay上的activity的viewgroup树,AMS判断viewgroup树上是否有某一个view属于预设页面表中的view类。
步骤S303:根据监测结果和检测结果判断所述弹窗是否为预设弹窗。
应当理解的是,根据监测结果和检测结果判断弹窗是否为预设弹窗可以是在弹窗调用预设弹窗对应的目标接口,或弹窗中包含预设弹窗对应的目标页面时,判定弹窗为预设弹窗;在弹窗未调用预设弹窗对应的目标接口,且弹窗中不包含预设弹窗对应的目标页面时,判定弹窗不为预设弹窗。
在本实施例中,公开了根据接口调用信息监测弹窗是否调用预设弹窗对应的目标接口,根据显示页面信息检测弹窗中是否包含预设弹窗对应的目标页面,根据监测结果和检测结果判断弹窗是否为预设弹窗;由于本实施例中从接口调用和弹窗页面两方面共同判断弹窗是否为预设弹窗,从而能够提高弹窗检测的准确性。
在另一种可能的实现方式中,上述步骤S301之前,可包括:从预设接口调用表中获取预设弹窗对应的目标接口;从预设页面表中获取预设弹窗对应的目标页面。
需要说明的是,预设接口调用表可以预先设置,例如,预设接口调用表可以是已知的广告SDK中,用于插入广告窗口的所有API的列表。
预设页面表可以预先设置,例如,预设页面表可以是已知的广告SDK中,用于展示广告的页面结构的view页面的列表。
图8为本申请另一个实施例提供的弹窗拦截方法的流程图。如图8所示,在本实施例中,所述步骤S30之后,还包括:
步骤S40':在所述弹窗不为所述预设弹窗时,将所述弹窗从所述虚拟显示器上移动至设备显示器上进行显示。
应当理解的是,为了确保不涉及广告内容的弹窗正常展示,本实施例中,在弹窗不为预设弹窗时,将弹窗从虚拟显示器上移动至设备显示器上进行显示。
步骤S50':在显示成功后,销毁所述虚拟显示器。
可以理解的是,为了避免资源浪费,本实施例中,在弹窗显示成功后,销毁虚拟显示器。
在本实施例中,公开了在弹窗不为预设弹窗时,将弹窗从虚拟显示器上移动至设备显示器上进行显示,在显示成功后,销毁虚拟显示器;由于本实施例在弹窗不为预设弹窗时,将弹窗从虚拟显示器上移动至设备显示器上进行显示,从而能够确保不涉及广告内容的弹窗正常展示。
图9示出了本申请提供的一种弹窗拦截装置的结构示意图。本申请提供的弹窗拦截装置900包括:创建模块901、显示模块902、判断模块903以及拦截模块904;
所述创建模块901,用于响应于接收到的弹窗请求,创建当前操作系统对应的虚拟显示器;
所述显示模块902,用于在所述虚拟显示器上显示所述弹窗请求对应的弹窗;
所述判断模块903,用于基于所述弹窗在显示过程中的行为信息判断所述弹窗是否为预设弹窗;
所述拦截模块904,用于在所述弹窗为所述预设弹窗时,销毁所述虚拟显示器,并拦截所述弹窗。
在一种可能的实现方式中,所述创建模块901,还用于响应于接收到的弹窗请求,判断所述弹窗请求是否为预设合规请求;在所述弹窗请求不为所述预设合规请求时,创建当前操作系统对应的虚拟显示器。
在一种可能的实现方式中,所述创建模块901,还用于判断所述弹窗请求对应的弹窗是否属于当前置顶应用;在所述弹窗属于所述当前置顶应用时,判定所述弹窗请求为预设合规请求;在所述弹窗不属于所述当前置顶应用时,判定所述弹窗请求不为预设合规请求。
在一种可能的实现方式中,所述创建模块901,还用于判断发起所述弹窗请求的应用是否为目标应用;在所述应用为所述目标应用时,判定所述弹窗请求为预设合规请求;在所述应用不为所述目标应用时,判定所述弹窗请求不为预设合规请求。
在一种可能的实现方式中,所述目标应用包括:当前置顶应用、系统应用以及预设白名单应用中的至少一种。
在一种可能的实现方式中,所述显示模块902,还用于在所述弹窗请求为所述预设合规请求时,确定所述弹窗请求对应的弹窗;在设备显示器上显示所述弹窗。
在一种可能的实现方式中,所述行为信息包括:接口调用信息和/或显示页面信息。
在一种可能的实现方式中,所述判断模块903,还用于根据所述接口调用信息监测所述弹窗是否调用预设弹窗对应的目标接口;根据所述显示页面信息检测所述弹窗中是否包含所述预设弹窗对应的目标页面;根据监测结果和检测结果判断所述弹窗是否为预设弹窗。
在一种可能的实现方式中,所述判断模块903,还用于从预设接口调用表中获取预设弹窗对应的目标接口;从预设页面表中获取预设弹窗对应的目标页面。
在一种可能的实现方式中,所述显示模块902,还用于在所述弹窗不为所述预设弹窗时,将所述弹窗从所述虚拟显示器上移动至设备显示器上进行显示;在显示成功后,销毁所述虚拟显示器。
在一种可能的实现方式中,所述显示模块902,还用于在所述弹窗请求中添加所述弹窗的启动参数;基于添加后的所述弹窗请求在所述虚拟显示器上显示所述弹窗请求对应的弹窗。
应理解的是,这里的电子设备以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(applicationspecific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
本申请还提供一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如上述第一方面或第一方面的可能的实现方式中任一项所述的弹窗拦截方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行如上述第一方面或第一方面的可能的实现方式中任一项所述的弹窗拦截方法。
本申请还提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或第一方面的可能的实现方式中任一项所述的弹窗拦截方法。
可选的,该芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的可能的实现方式中任一项所述的弹窗拦截方法。
存储器可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。
本申请实施例中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,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可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种弹窗拦截方法,其特征在于,所述弹窗拦截方法包括以下步骤:
响应于接收到的弹窗请求,创建当前操作系统对应的虚拟显示器;
在所述虚拟显示器上显示所述弹窗请求对应的弹窗;
基于所述弹窗在显示过程中的行为信息判断所述弹窗是否为预设弹窗;
在所述弹窗为所述预设弹窗时,销毁所述虚拟显示器,并拦截所述弹窗;
所述基于所述弹窗在显示过程中的行为信息判断所述弹窗是否为预设弹窗之后,还包括:
在所述弹窗不为所述预设弹窗时,将所述弹窗从所述虚拟显示器上移动至设备显示器上进行显示;
在显示成功后,销毁所述虚拟显示器。
2.如权利要求1所述的弹窗拦截方法,其特征在于,所述响应于接收到的弹窗请求,创建当前操作系统对应的虚拟显示器,包括:
响应于接收到的弹窗请求,判断所述弹窗请求是否为预设合规请求;
在所述弹窗请求不为所述预设合规请求时,创建当前操作系统对应的虚拟显示器。
3.如权利要求2所述的弹窗拦截方法,其特征在于,所述判断所述弹窗请求是否为预设合规请求,包括:
判断所述弹窗请求对应的弹窗是否属于当前置顶应用;
在所述弹窗属于所述当前置顶应用时,判定所述弹窗请求为预设合规请求;
在所述弹窗不属于所述当前置顶应用时,判定所述弹窗请求不为预设合规请求。
4.如权利要求2所述的弹窗拦截方法,其特征在于,所述判断所述弹窗请求是否为预设合规请求,包括:
判断发起所述弹窗请求的应用是否为目标应用;
在所述应用为所述目标应用时,判定所述弹窗请求为预设合规请求;
在所述应用不为所述目标应用时,判定所述弹窗请求不为预设合规请求。
5.如权利要求4所述的弹窗拦截方法,其特征在于,所述目标应用包括:当前置顶应用、系统应用以及预设白名单应用中的至少一种。
6.如权利要求2所述的弹窗拦截方法,其特征在于,所述判断所述弹窗请求是否为预设合规请求之后,还包括:
在所述弹窗请求为所述预设合规请求时,确定所述弹窗请求对应的弹窗;
在设备显示器上显示所述弹窗。
7.如权利要求1至6中任一项所述的弹窗拦截方法,其特征在于,所述行为信息包括:接口调用信息和/或显示页面信息。
8.如权利要求7所述的弹窗拦截方法,其特征在于,所述行为信息包括接口调用信息和显示页面信息;所述基于所述弹窗在显示过程中的行为信息判断所述弹窗是否为预设弹窗,包括:
根据所述接口调用信息监测所述弹窗是否调用预设弹窗对应的目标接口;
根据所述显示页面信息检测所述弹窗中是否包含所述预设弹窗对应的目标页面;
根据监测结果和检测结果判断所述弹窗是否为预设弹窗。
9.如权利要求8所述的弹窗拦截方法,其特征在于,所述根据所述接口调用信息监测所述弹窗是否调用预设弹窗对应的目标接口之前,还包括:
从预设接口调用表中获取预设弹窗对应的目标接口;
从预设页面表中获取预设弹窗对应的目标页面。
10.如权利要求1至6中任一项所述的弹窗拦截方法,其特征在于,所述在所述虚拟显示器上显示所述弹窗请求对应的弹窗,包括:
在所述弹窗请求中添加所述弹窗的启动参数;
基于添加后的所述弹窗请求在所述虚拟显示器上显示所述弹窗请求对应的弹窗。
11.一种弹窗拦截装置,其特征在于,包括:创建模块、显示模块、判断模块以及拦截模块;
所述创建模块,用于响应于接收到的弹窗请求,创建当前操作系统对应的虚拟显示器;
所述显示模块,用于在所述虚拟显示器上显示所述弹窗请求对应的弹窗;
所述判断模块,用于基于所述弹窗在显示过程中的行为信息判断所述弹窗是否为预设弹窗;
所述拦截模块,用于在所述弹窗为所述预设弹窗时,销毁所述虚拟显示器,并拦截所述弹窗;
其中,所述显示模块,还用于在所述弹窗不为所述预设弹窗时,将所述弹窗从所述虚拟显示器上移动至设备显示器上进行显示;在显示成功后,销毁所述虚拟显示器。
12.一种电子设备,其特征在于,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如权利要求1至10中任一项所述的弹窗拦截方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行权利要求1至10中任一项所述的弹窗拦截方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211332223.9A CN115391771B (zh) | 2022-10-28 | 2022-10-28 | 弹窗拦截方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211332223.9A CN115391771B (zh) | 2022-10-28 | 2022-10-28 | 弹窗拦截方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115391771A CN115391771A (zh) | 2022-11-25 |
CN115391771B true CN115391771B (zh) | 2023-03-24 |
Family
ID=84114949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211332223.9A Active CN115391771B (zh) | 2022-10-28 | 2022-10-28 | 弹窗拦截方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115391771B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034800B (zh) * | 2012-12-14 | 2017-06-20 | 北京奇虎科技有限公司 | 用于拦截弹窗的装置和方法 |
CN106126562B (zh) * | 2016-06-15 | 2018-09-04 | 广东欧珀移动通信有限公司 | 一种弹窗拦截方法及终端 |
CN110572519A (zh) * | 2019-09-20 | 2019-12-13 | 青岛海信移动通信技术股份有限公司 | 一种来电显示界面的拦截方法以及显示设备 |
CN111753192A (zh) * | 2020-06-04 | 2020-10-09 | 珠海豹趣科技有限公司 | 广告弹窗拦截方法、装置、电子设备及存储介质 |
-
2022
- 2022-10-28 CN CN202211332223.9A patent/CN115391771B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115391771A (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12019942B2 (en) | Multi-screen collaboration method and system, and electronic device | |
US20230244508A1 (en) | Application starting method and apparatus, and electronic device | |
CN111247510B (zh) | 一种应用窗口的显示方法及终端 | |
US20220374118A1 (en) | Display Method and Electronic Device | |
WO2020259650A1 (zh) | 一种响应请求的方法及电子设备 | |
EP3569003B1 (en) | Electronic device and method for controlling communication thereof | |
CN115623118B (zh) | 一种近场通信控制方法及电子设备 | |
EP4407421A1 (en) | Device collaboration method and related apparatus | |
CN112835495B (zh) | 开启应用程序的方法、装置及终端设备 | |
EP4345669A1 (en) | User privacy protection method and apparatus | |
US20240095015A1 (en) | Upgrade prompt method, terminal device, and computer-readable storage medium | |
CN115391771B (zh) | 弹窗拦截方法、装置、电子设备及可读存储介质 | |
CN114896097B (zh) | 一种应用程序无响应处理方法及电子设备 | |
CN115828227B (zh) | 识别广告弹窗的方法、电子设备及存储介质 | |
CN117827476A (zh) | 事件处理方法、装置、电子设备及可读存储介质 | |
CN116662024B (zh) | 进程间通信监控方法、装置、电子设备及存储介质 | |
CN116095685B (zh) | 关键信息的保护方法和终端设备 | |
CN116700551A (zh) | 应用显示方法、装置、电子设备及可读存储介质 | |
WO2024159912A1 (zh) | 一种阻抗校准方法、电子设备、介质及产品 | |
CN116185245B (zh) | 一种页面显示方法及电子设备 | |
CN116662150B (zh) | 应用启动耗时检测方法及相关装置 | |
CN117707453B (zh) | 一种节点信息的读取方法、设备及存储介质 | |
CN115767602B (zh) | 设备协议子系统异常自动纠错方法和电子设备 | |
EP4459973A1 (en) | Cooperative control method and apparatus, and electronic device and readable storage medium | |
CN117827334A (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 |