CN116088714A - 消息提示框处理方法和相关装置 - Google Patents
消息提示框处理方法和相关装置 Download PDFInfo
- Publication number
- CN116088714A CN116088714A CN202210581866.0A CN202210581866A CN116088714A CN 116088714 A CN116088714 A CN 116088714A CN 202210581866 A CN202210581866 A CN 202210581866A CN 116088714 A CN116088714 A CN 116088714A
- Authority
- CN
- China
- Prior art keywords
- toast
- application
- service queue
- display
- terminal device
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000006870 function Effects 0.000 claims description 47
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 9
- 230000001788 irregular Effects 0.000 claims description 4
- 239000010410 layer Substances 0.000 description 136
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 15
- 238000013461 design Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000001356 surgical procedure Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003475 lamination Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Abstract
本申请实施例提供消息提示框处理方法和相关装置。该方法包括:确定服务队列中第一消息提示框Toast对象所对应的第一应用;服务队列用于存储一个或多个应用的Toast对象;当第一应用的相关信息不满足预设条件时,将第一Toast对象从服务队列中移除,并将第一Toast对象对应的图层移除;预设条件与下述一项或多项有关:第一应用在服务队列中的Toast对象数量、第一应用是否属于前台运行的应用、第一应用是否为被允许显示Toast对象的应用。这样,移除部分Toast对象不显示,缩短屏幕被遮挡的时间。在移除Toast对象时将相应图层移除,减少图层积压,减少终端设备的卡顿重启等现象,提升用户体验。
Description
技术领域
本申请涉及终端技术领域,尤其涉及消息提示框处理方法和相关装置。
背景技术
随着终端设备功能的增多,终端设备中对于用户的各种提示越来越多。各种提示包括但不限于:登录是否成功、网络连接是否可用,抑或是电量是否过低等等。这些提示的存在可以引导用户进行操作以更好的使用终端设备,提高用户体验。
终端设备可以采用消息提示框对用户进行提示。Toast是其中使用最频繁的弹框。Toast是终端设备的软件系统中用来显示显示信息的一种机制,可以对用户进行两三秒短时间的信息提示,并自动消失。
但是,在终端设备运行部分不规范的应用或者通过浏览器打开部分恶意网页链接时,终端设备可能会在短时间内创建多个Toast并持续弹出,进而导致设备卡顿或者重启,用户体验差。
发明内容
本申请实施例提供一种消息提示框处理方法和相关装置,应用于终端技术领域。在应用对应的Toast对象不满足预设条件时,将该Toast对象对应的图层移除,减少图层积压导致的设备卡顿、重启等问题,提高用户体验。
第一方面,本申请实施例提出一种消息提示框处理方法。该方法包括:
确定服务队列中第一消息提示框Toast对象所对应的第一应用;服务队列用于存储一个或多个应用的Toast对象;当第一应用的相关信息不满足预设条件时,将第一Toast对象从服务队列中移除,并将第一Toast对象对应的图层移除;预设条件与下述一项或多项有关:第一应用在服务队列中的Toast对象数量、第一应用是否属于前台运行的应用、第一应用是否为被允许显示Toast对象的应用。
可以理解的是,第一应用是基于第一Toast对象确定的,第一Toast对象的相关信息可以包括第一应用的相关信息。
终端设备可以移除不满足预设条件的Toast对象不显示,减少终端设备显示的Toast数量,缩短Toast遮挡屏幕的时间。终端设备在将Toast对象移除服务队列时,将该Toast对象对应的图层移除,减少图层积压,进而减少终端设备的卡顿重启等现象,提升用户体验。
此外,终端设备在短时间内创建多个Toast对象时,增加多个图层;而终端设备通过限流判断可以移除多个图层,使得图层数量保持平稳,减少图层数量迅速增加导致的资源不足的情况。
可选的,当第一应用的相关信息不满足预设条件时,将第一Toast对象从服务队列中移除,并将第一Toast对象对应的图层移除,包括:当第一应用对应的Toast对象数量小于数量阈值时,将第一Toast对象从服务队列中移除,并将第一Toast对象对应的图层移除。
这样,移除部分第一应用对应的Toast对象不显示,减少终端设备显示的Toast数量,缩短Toast遮挡屏幕的时间。此外,还可以及时显示该应用最近时间创建的几个Toast对象。
可选的,当第一应用的相关信息不满足预设条件时,将第一Toast对象从服务队列中移除,并将第一Toast对象对应的图层移除,包括:当第一应用不为属于前台运行的应用时,将第一Toast对象从服务队列中移除,并将第一Toast对象对应的图层移除。
前台应用可以理解为显示屏显示的应用。
当第一应用不为前台应用时,通知管理器将第一Toast对象移除服务队列并移除第一Toast对象对应的图层。这样,可以减少Toast显示与前台显示的应用不对应的情况。
可选的,当第一应用的相关信息不满足预设条件时,将第一Toast对象从服务队列中移除,并将第一Toast对象对应的图层移除,包括:当第一应用不是被允许显示Toast对象的应用时,将第一Toast对象从服务队列中移除,并将第一Toast对象对应的图层移除。
当第一应用被限制时,终端设备将第一应用对应的Toast对象移除;并移除相应的图层。这样,在应用受到限制时,移除部分该应用对应的Toast不显示。
可选的,被允许显示Toast对象的应用对应有第一标识,第一标识用于指示应用未被限制显示Toast对象;或者,被允许显示Toast对象的应用未对应有第二标识,第二标识用于指示应用被限制显示Toast对象。
这样,通过标识的方式进行判断,简单快速,实用性高。
可选的,当被允许显示Toast对象的应用在单位时间内显示Toast对象的数量未达到阈值时,第一应用对应有第一标识,或者未对应有第二标识。
这样,可以减少同一应用多次弹出(显示)Toast,减少对用户的打扰。
可选的,服务队列中的Toast对象均对应有位置下标;终端设备基于获取get函数和位置下标确定第一Toast对象,第一Toast对象为位置下标为零对应的Toast对象。
可选的,方法还包括:当终端设备接收到多个点击操作时,创建多个Toast对象;或者,终端设备处于预设场景时,创建多个Toast对象,预设场景包括但不限于:设备状态变化的场景、网络状态变化的场景、进入不规范的应用程序或点击恶意网页链接。
这样,可以适用于多种场景,实用性高。终端设备在短时间内创建多个Toast对象时,可以移除多个图层,使得图层数量保持平稳,减少图层数量迅速增加导致的资源不足的情况。
可选的,方法还包括:当第一应用的相关信息满足预设条件时,显示第一Toast对象。
这样,终端设备还可以显示Toast对象,以对用户进行简单的提示。
第二方面,本申请实施例提供一种终端设备,终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
该终端设备包括:包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得终端设备执行如第一方面的方法。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现如第一方面的方法。
第四方面,本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面的方法。
第五方面,本申请实施例提供了一种芯片,芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行如第一方面所述的方法。
应当理解的是,本申请的第二方面至第五方面与本申请的第一方面的技术方案案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种终端设备的软件结构示意图;
图2A为本申请实施例提供的一种应用场景示意图;
图2B为本申请实施例提供的一种应用场景示意图;
图3为可能的设计中一种Toast处理方法流程示意图;
图4为可能的设计中一种Toast处理流程示意图;
图5为可能的设计中一种Toast处理流程示意图;
图6为可能的设计中一种Toast处理流程示意图;
图7为可能的设计中一种Toast处理流程示意图;
图8为本申请实施例提供的一种Toast处理方法流程示意图;
图9为本申请实施例提供的一种Toast处理流程示意图;
图10为本申请实施例提供的一种Toast处理流程示意图;
图11为本申请实施例提供的一种终端设备的硬件结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,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可以是单个,也可以是多个。
需要说明的是,本申请实施例中的“在……时”,可以为在某种情况发生的瞬时,也可以为在某种情况发生后的一段时间内,本申请实施例对此不作具体限定。
需要说明的是,本申请实施例提供的显示界面仅作为示例,显示界面还可以包括更多或更少的内容。
为方便理解,下面对本申请实施例涉及的部分名词进行说明。
1、消息提示框(Toast):是一个视图(view),快速的为用户显示少量的信息。Toast用于为用户提供一些帮助或者提示。Toast在应用程序上浮动显示信息给用户,以对用户操作进行提示,简单而快捷,又不影响用户的输入等操作。
Toast可以用于显示操作结果、应用状态的改变、网络变化和时间变化等。示例性的,当终端设备发出短信时,终端设备在显示界面弹出Toast以提示用户短信已发出;当终端设备接收到用户触发游戏应用的操作时,终端设备在进入游戏界面后弹出Toast以提示用户终端设备进入游戏加速模式。可以理解的是,弹出Toast也可以称为显示Toast。
Toast可以用来显示音量改变、密码错误等。当终端设备多次接收到用户点击操作时,可能会触发创建多个Toast,Toast会排队一个一个的,直到消息队列全部显示完。
2、图层:含有文字或图形等元素,多张图层按顺序叠放组合形成显示界面。图层中可以加入文本、图片、表格和插件等,也可以在里面再嵌套图层。
本申请实施例可以应用于具有显示功能的终端设备中。终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
示例性的,图1为本申请实施例提供的一种终端设备的软件架构图。如图1所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图1所示,应用程序包可以包括相机,日历,电话,地图,电话,音乐,设置,邮箱,视频,社交等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图1所示,应用程序框架层可以包括窗口管理器(window manager service),内容提供器,资源管理器,视图系统,通知管理器(notification manager service)等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,触摸屏幕,拖拽屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),图层合成模块(surface flinger),三维图形处理库(例如:OpenGLES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
图层合成模块用于提供图层合成的服务,负责给应用层提供窗口,并按指定位置合成所有图层到屏幕。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合终端设备界面切换的场景,示例性说明终端设备软件以及硬件的工作流程。
当终端设备中的触摸传感器接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸力度,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为微信应用图标的控件为例,微信应用调用应用框架层的接口,启动微信应用,进而通过调用内核层启动显示驱动,显示微信应用的功能界面。
在手机等终端设备的使用过程中,终端设备可能会弹出消息提示框(Toast)以对用户进行简单的提示,例如,短信发送提示、应用下载完成提示、音量改变提示、秒杀提示和密码错误提示等。
当终端设备创建多个toast对象时,由于每一个Toast都有一定的显示时间,终端设备持续显示有Toast。
可能的场景一中,当终端设备接收到用户多次点击操作时,终端设备可能会创建多个Toast对象。
示例性的,图2A为本申请实施例提供的一种显示界面示意图。
当终端设备在接收到查看产品的操作时,可以进入到如图2A中的a所示的秒杀界面。该秒杀界面中可以包括产品图、产品价格、购买说明、产品详情和秒杀控件201。当用户图2A中的a所示的秒杀界面通过点击操作触发秒杀控件201时,终端设备接收到用户购买产品的操作时,终端设备进入到图2A中的b所示的界面,该界面包括:产品名称、秒杀控件202和Toast 203。
终端设备可能在图2A中的b所示的界面接收到用户多次点击秒杀控件202的操作,创建多个Toast对象,终端设备持续显示Toast 203。
可以理解的是,图2A所示的场景中,当终端设备在接收到用户购买产品的操作时未到秒杀时间,Toast 203可能提示用户“未到付款时间”;当终端设备在接收到用户购买产品的操作时产品库存不足时,Toast 203可能提示用户“有人拍下未付款”或者“产品库存不足”。
可能的场景二中,当终端设备开启不规范的应用或者部分恶意网页链接时,终端设备也可能会在短时间内创建多个Toast对象。由于每一个Toast都有一定的显示时间,终端设备持续显示Toast。
示例性的,图2B为本申请实施例提供的一种显示界面示意图。如图2B所示,
当终端设备在浏览器应用接收到用户阅读小说的操作时,可以进入到如图2B中的a所示的阅读界面。该阅读界面中可以包括小说文字和广告弹窗204。当用户图2B中的a所示的阅读界面通过点击操作触发广告弹窗204时,终端设备接收到用户点击广告弹窗的操作时,终端设备进入到图2B中的b所示的广告界面,该广告界面包括:产品名称、秒杀控件202和Toast 203。
终端设备可能在图2B中的a所示的界面接收到用户触发广告弹窗204的操作时,可能会创建多个Toast对象,终端设备持续显示Toast 205。
下面结合图3对可能的设计中消息提示框的显示过程进行说明。消息提示框的显示流程包括:
S301、终端设备的应用创建一个或多个Toast对象并调用通知管理器。
具体的,应用调用文本创建函数(Toast.make Text)创建一个或多个Toast对象,并调用通知管理器。
示例性的,以短信应用为例,当终端设备将短信发出时,应用调用文本创建函数(Toast.makeText)创建Toast对象,并调用通知管理器。
可以理解的是,当应用接收到用户多次相同操作时,可能会创建多个Toast对象;或者部分不规范的应用(例如,部分游戏应用、部分阅读应用等)在预设场景下也可能会创建多个Toast对象。
预设场景可以为应用开发时预先定义的场景,例如,设备状态变化的场景、网络状态变化的场景,或其他任意场景。此处不做限定。
S302、通知管理器将应用创建的Toast对象放入服务队列中。
具体的,通知管理器通过服务入队函数(service.enqueue Toast)将Toast对象放入服务队列中等待显示。
需要说明的是,服务队列为先进先出队列,即仅能在队尾添加Toast对象,仅能在队首移除Toast对象;也可以理解为,服务队列中最先插入的Toast对象是第一个被移除的Toast对象。Toast
示例性的,以服务队列存储有Toast1、Toast2、Toast3和Toast4为例,若Toast1为队首,Toast4为队尾,当通知管理器将Toast5放入服务队列时,服务队列存储有Toast1、Toast2、Toast3、Toast4和Toast5。当通知管理器移除服务队列中的Toast对象时,移除顺序为Toast1、Toast2、Toast3、Toast4。
其中,服务队列存储有的每个Toast对象的信息。信息包括但不限于:Toast对象对应的应用包名、显示内容或显示时长等。
显示时长可以为2s,也可以为5s,本申请实施例对于Toast对象的显示内容、显示时长等不做限定。
S303、通知管理器调用窗口管理器为服务队列中的Toast对象添加图层。
通知管理器通过添加窗口图层函数(add window token)调用窗口管理器为服务队列中的Toast对象添加图层。
S304、通知管理器调用显示下一个Toast锁定函数(show Next Toast Locked),以调度服务队列中的Toast对象显示。
下面结合S305-S308对调度服务队列中的Toast对象显示的流程进行说明。
S305、Toast通知管理器确认第一Toast对象。
第一Toast对象为服务队列中队首位置对应的Toast对象。也可以理解为入队时间最早的Toast对象。
可能的实现方式中,服务队列中的每个Toast对象对应有位置下标,通知管理器基于位置下标获取队首位置对应的Toast对象。位置下标用于标记Toast对象在服务队列中的位置,方便服务队列管理,位置下标也可以理解为索引。
示例性的,以服务队列按顺序存储有Toast1、Toast2、Toast3和Toast4,Toast1为队首,Toast4为队尾为例,Toast1与索引0相对应;Toast2与索引1相对应;Toast3与索引2相对应;Toast4与索引3相对应。第一Toast对象为索引0对应的Toast对象,即Toast1。
S306、通知管理器调用图像合成模块(surface flinger)基于第一Toast对象合成图像,以在显示屏上显示第一Toast对象。
适应性的,图像合成模块合成图像后,终端设备将合成后的图像送至显示屏上显示Toast。合成后的图像中包括第一Toast对象。
通知管理器通过显示函数(show)调用图像合成模块(surface flinger)合成图像。
S307、通知管理器对第一Toast对象的显示时间进行控制。
通知管理器通过时间安排锁定函数(schedule Time out Locked)对Toast对象的显示时间进行控制。
可以理解的是,由于Toast显示时间一般为2S-5S。
S308、通知管理器在第一Toast对象显示预设时间后将第一Toast对象从服务队列中移除,并调用窗口管理器移除第一Toast对象对应的图层。
可以理解的是,当索引为0对应的Toast对象被移除时,服务队列中存储的Toast对象依次前移。示例性的,以服务队列中包括5个Toast为例,若索引0、索引1、索引2、索引3和索引04的位置分别与Toast1、Toast2、Toast3、Toast4和Toast5对应。
终端设备将Toast1从服务队列中移除,则索引0、索引1、索引2和索引3的位置分别与Toast2、Toast3、Toast4和Toast5相对应。若无Toast对象入队,索引04的位置为空。
在上述实施例的基础上,通知管理器在移除第一Toast对象后,调用下一个Toast对象显示。
示例性的,以服务队列存储有Toast1、Toast2、Toast3和Toast4为例,终端设备在移除Toast1后,调用Toast2显示。
下面结合图4和图5对多个toast的处理流程进行说明。
需要说明的是,终端设备可能会创建多个Toast对象。由于每一个Toast都有一定的显示时间,可能会使得显示的Toast并不对应用户的操作。
可能的场景一中,当终端设备接收到用户多次点击操作时,终端设备可能会创建多个Toast对象。
示例性的,以应用在短时间内创建5个Toast(Toast1-Toast5)为例。图4为可能的设计中一种Toast处理流程示意图。
如图4所示,在0s时,应用接收到用户第1次点击操作,终端设备将Toast1放入服务队列中,并为Toast1建立对应的窗口图层。终端设备显示Toast1。
0s-2s期间,应用接收到用户第2次点击操作、第3次点击操作、第4次点击操作、第5次点击操作,终端设备将Toast2-Toast5放入服务队列中,并分别为Toast2-Toast5分别建立对应的窗口图层。
2S时,Toast1显示结束,将Toast1从服务队列中移除,并将Toast1对应的图层移除。终端设备显示Toast2。
4S时,Toast2显示结束,将Toast2从服务队列中移除,并将Toast2对应的图层移除。终端设备显示Toast3。
6S时,Toast3显示结束,将Toast3从服务队列中移除,并将Toast3对应的图层移除。终端设备显示Toast4。
8S时,Toast4显示结束,将Toast4从服务队列中移除,并将Toast4对应的图层移除。终端设备显示Toast5。
10S时,Toast5显示结束,将Toast5从服务队列中移除,并将Toast5对应的图层移除。
可以看出,终端设备在2s时显示第2次点击操作对应的Toast。而用户已进行5次点击操作,显示的Toast未与用户的操作相对应。终端设备在8s内持续有Toast显示。当终端设备接收到用户更多次点击操作创建更多的Toast时,终端设备会持续更长的时间显示Toast,遮挡屏幕,用户体验差。
可能的场景二中,当终端设备开启不规范的应用或者部分恶意网页链接时,终端设备也可能会在短时间内创建多个Toast对象。由于每一个Toast都有一定的显示时间,终端设备持续显示Toast。
示例性的,以应用在短时间内创建5个Toast(Toast1-Toast5)为例。图5为可能的设计中一种Toast处理流程示意图。
如图5所示,在0s时,应用创建5个Toast,终端设备将Toast1-Toast5放入服务队列中,并为Toast1-Toast5分别建立对应的窗口图层。终端设备显示Toast1。
2S时,Toast1显示结束,将Toast1从服务队列中移除,并将Toast1对应的图层移除。终端设备显示Toast2。
4S时,Toast2显示结束,将Toast2从服务队列中移除,并将Toast2对应的图层移除。终端设备显示Toast3。
6S时,Toast3显示结束,将Toast3从服务队列中移除,并将Toast3对应的图层移除。终端设备显示Toast4。
8S时,Toast4显示结束,将Toast4从服务队列中移除,并将Toast4对应的图层移除。终端设备显示Toast5。
10S时,Toast5显示结束,将Toast5从服务队列中移除,并将Toast5对应的图层移除。
可以看出,终端设备在8s内持续有Toast显示。当短时间内创建更多的Toast时,终端设备会持续更长的时间显示Toast,遮挡屏幕,用户体验差。
此外,当终端设备在短时间内创建多个Toast对象时,还会新增多个图层,可能会导致终端设备中图层数量过多,终端设备资源不足,进而出现卡顿、重启等现象。示例性的,上述示例中,0-2s期间,终端设备包括Toast对应的图层的图层数量为5。当终端设备在短时间内创建更多Toast时,终端设备的Toast对应的图层的图层数量更多,占用系统资源。
在上述图3所示的流程的基础上,为降低同一应用Toast显示数量,减少屏幕遮挡,终端设备在调用显示函数(show)前,通过对Toast对象的相关信息是否满足预设条件进行判断。
上述图3所示的流程还包括S309。S309、当第一Toast对象的相关信息不满足预设条件时,将第一Toast对象从服务队列中移除。
预设条件包括:第一应用对应的toast对象数量小于第一阈值,第一应用为第一Toast对象对应的应用。
示例性的,通知管理器通过try show toast函数确认第一Toast对象的相关信息是否满足预设条件,进而确认服务队列中第一Toast对象是否显示。
可以理解的是,当第一应用对应的Toast数量大于或等于第一阈值时,通知管理器将Toast对象移除服务队列并重新获取第一Toast对象。当第一应用对应的Toast数量小于第一阈值时,通知管理器调用显示函数(show)显示第一Toast对象。
这样,降低同一应用Toast显示数量,减少屏幕遮挡。
下面结合图6和图7对上述Toast处理流程进行说明。
示例性的,以应用在短时间内创建5个Toast(Toast1-Toast5),第一阈值为3,为例。图6为可能的设计中一种Toast处理流程示意图。
如图6所示,在0s时,应用接收到用户第1次点击操作,终端设备将Toast1放入服务队列中,并为Toast1建立对应的窗口图层。终端设备对Toast1是否显示进行判断,由于服务队列中存在1个Toast未显示,未显示的Toast数量小于第一阈值,终端设备显示Toast1。
0s-2s期间,应用接收到用户第2次点击操作、第3次点击操作、第4次点击操作、第5次点击操作,终端设备将Toast2-Toast5放入服务队列中,并分别为Toast2-Toast5分别建立对应的窗口图层。
2S时,Toast1显示结束,终端设备将Toast1从服务队列中移除,并将Toast1对应的图层移除。终端设备对Toast2是否显示进行判断,由于服务队列中存4个Toast未显示,未显示的Toast数量等于第一阈值,将Toast2从服务队列中移除。终端设备对Toast3是否显示进行判断,由于服务队列中存3个Toast未显示,未显示的Toast数量等于第一阈值,将Toast3从服务队列中移除。终端设备对Toast4是否显示进行判断,由于服务队列中存2个Toast未显示,未显示的Toast数量小于第一阈值,调用显示函数显示Toast4。
4S时,Toast4显示结束,终端设备将Toast4从服务队列中移除,并将Toast4对应的图层移除。终端设备对Toast5是否显示进行判断,由于服务队列中存1个Toast未显示,未显示的Toast数量小于第一阈值,调用显示函数显示Toast5。
6S时,Toast5显示结束,终端设备将Toast5从服务队列中移除,并将Toast5对应的图层移除。
这样,终端设备将Toast2和Toast3从服务队列中移除不显示,显示Toast1、Toast4和Toast5,减少终端设备显示的Toast数量,缩短Toast遮挡屏幕的时间。
示例性的,以应用在短时间内创建5个Toast(Toast1-Toast5),第一阈值为3为例。图7为可能的设计中一种Toast处理流程示意图。
如图7所示,0s时,应用创建5个Toast,终端设备将Toast1-Toast5放入服务队列中,并分别为5个Toast建立对应的窗口图层。终端设备对Toast1是否显示进行判断,由于服务队列中存在5个Toast未显示,未显示的Toast数量大于第一阈值,将Toast1从服务队列中移除。
终端设备对Toast2是否显示进行判断,由于服务队列中存4个Toast未显示,未显示的Toast数量大于第一阈值,将Toast2从服务队列中移除。终端设备对Toast3是否显示进行判断,由于服务队列中存3个Toast未显示,未显示的Toast数量等于第一阈值,将Toast3从服务队列中移除。
终端设备对Toast4是否显示进行判断,由于服务队列中存2个Toast未显示,未显示的Toast数量小于第一阈值,调用显示函数显示Toast4。
2s时,终端设备在Toast4显示结束后,将Toast4从服务队列中移除,并将Toast4对应的图层移除。终端设备对Toast5是否显示进行判断,由于服务队列中存1个Toast未显示,未显示的Toast数量小于第一阈值,调用显示函数显示Toast5。
4s时,终端设备在Toast5显示结束后,将Toast5从服务队列中移除,并将Toast5对应的图层移除。
这样,终端设备将Toast1-Toast3从服务队列中移除不显示,显示Toast4和Toast5,减少终端设备显示的Toast数量,缩短Toast遮挡屏幕的时间。
但是,上述方式中会产生图层积压。例如,上述图6对应的示例中,终端设备未将Toast2对应的图层和Toast3对应的图层移除,导致2个图层积压。上述图7对应的示例中,终端设备未将Toast1对应的图层、Toast2对应的图层和Toast3对应的图层移除,导致3个图层积压。
具体的,Toast对象从服务队列移除时,未将对应的图层移除,进而导致图层积压,使得终端设备卡顿或者重启。示可以理解的是,当应用短时间内创建的Toast对象更多时,可能会导致更多的图层积压。
需要说明的是,由于终端设备硬件的限制,计算能力有限,因此终端设备可处理的图层数量有限。当终端设备的图层数量超过阈值时,终端设备可能会卡顿或者重启。
示例性的,当图层数量超过4096时,终端设备可能会出现资源不足(out ofresources exception),进而重启。
因此,图层的积压可能会导致终端设备在后续的使用过程中发生卡顿或者重启。
有鉴于此,本申请实施例提供一种Toast处理方法,基于预设条件限制Toast对象的显示,将Toast对象从服务队列中移除并将Toast对象对应的图层移除,减少图层的累积,进而减少终端设备重启或卡顿的问题。
示例性的,图8为本申请实施例提供的一种Toast处理方法流程示意图。如图8所示,方法包括:
S801、终端设备创建一个或多个Toast对象。
具体的,应用调用文本创建函数(makeText)创建一个或多个Toast对象,并调用通知管理器。
示例性的,以短信应用为例,当终端设备将短信发出时,短信应用调用文本创建函数(Toast.makeText)创建Toast对象,并调用通知管理器。
可以理解的是,当应用接收到用户多次相同操作时,可能会创建多个Toast对象;或者在预设场景下也可能会创建多个Toast对象,示例性的,部分游戏应用、部分阅读应用等在预设场景下也可能会创建多个Toast对象。
预设场景可以为应用开发时预先定义的场景,例如,设备状态变化的场景、网络状态变化的场景,或其他任意场景。此处不做限定。预设场景还可以为用户打开恶意网页链接或者打开网页广告弹窗,进入不规范应用(例如,部分游戏应用、部分阅读应用)。
S802、终端设备将Toast对象放入服务队列中。
具体的,通知管理器通过服务入队函数(service.enqueue Toast)将应用创建的Toast对象放入服务队列中等待显示。
需要说明的是,服务队列为先进先出队列,即仅能在队尾添加Toast对象,仅能在队首移除Toast对象;也可以理解为,服务队列中最先插入的Toast对象是第一个被移除的Toast对象。
示例性的,以服务队列存储有Toast1、Toast2、Toast3和Toast4为例,若Toast1为队首,Toast4为队尾,当通知管理器将Toast5放入服务队列时,服务队列存储有Toast1、Toast2、Toast3、Toast4和Toast5。当通知管理器移除服务队列中的Toast对象时,移除顺序为Toast1、Toast2、Toast3、Toast4。
其中,服务队列中存储的每个Toast对象分别对应有应用包名、显示内容和显示时长等信息。
S803、终端设备为服务队列中的Toast对象添加图层。
具体的,通知管理器通过添加窗口图层函数(add window token)调用窗口管理器为服务队列中的Toast对象添加图层。
可以理解的是,服务队列中的每个Toast对象均对应一个图层。
S804、终端设备调度服务队列中的toast对象显示。
具体的,通知管理器通过显示下一个Toast锁定函数(show Next Toast Locked)调度服务队列中的Toast对象显示。
S801-S804可参照上述S301-S304中相应说明,此处不再赘述。
下面结合S805-S810对本申请实施例提供的调度服务队列中的Toast对象显示的流程进行说明。
S805、终端设备确认第一toast对象。
具体的,通知管理器获取服务队列中入队时间最早的Toast对象。
第一Toast对象为服务队列中入队时间最早的Toast对象,或者理解为,服务队列中队首位置对应的Toast对象;或者理解为,服务队列中最先被移除的Toast对象。
可能的实现方式中,服务队列中的每个Toast对象对应有位置下标,通知管理器基于位置下标获取队首位置对应的Toast对象。位置下标用于标记Toast对象在服务队列中的位置,方便服务队列管理,位置下标也可以理解为索引。
示例性的,以服务队列按顺序存储有Toast1、Toast2、Toast3和Toast4,Toast1为队首,Toast4为队尾为例,Toast1与索引0相对应;Toast2与索引1相对应;Toast3与索引2相对应;Toast4与索引3相对应。第一Toast对象为索引0对应的Toast对象,即Toast1。
可能的实现方式中,通知管理器调用获取(get)方法获取第一Toast对象,即索引值为0对应的第一Toast对象。当服务队列返回至通知管理器的值不为空时,服务队列中有第一Toast对象待显示,通知管理器得到第一Toast对象。
当服务队列返回至通知管理器的值为空时,服务队列中无Toast对象,终端设备不显示Toast对象。
S806、终端设备确认第一Toast对象的相关信息是否满足预设条件。
具体的,通知管理器确认第一Toast对象的相关信息是否满足预设条件。
可以理解的是,通知管理器可以确定服务队列中第一Toast对象所对应的第一应用;确定第一应用的相关信息是否满足预设条件。
一些实施例中,通知管理器通过tryshow toast函数确认第一Toast对象是否显示。
本申请实施例中,预设条件与下述一项或多项有关:第一应用在服务队列中的Toast对象数量、第一应用是否属于前台运行的应用、第一应用是否为被允许显示Toast对象的应用。
可能的实现方式一中,预设条件包括:第一应用对应的Toast对象数量小于第一阈值,第一应用为第一Toast对象对应的应用。
当第一应用对应的Toast对象数量大于或等于第一阈值时,通知管理器将第一Toast对象移除服务队列并移除第一Toast对象对应的图层。当第一应用对应的Toast数量小于第一阈值时,通知管理器调用显示函数(show)显示第一Toast对象。
这样,移除部分第一应用对应的Toast对象不显示,减少终端设备显示的Toast数量,缩短Toast遮挡屏幕的时间。此外,还可以及时显示该应用最近时间创建的几个Toast对象。
可能的实现方式二中,预设条件包括:第一应用为前台应用。前台应用可以理解为显示屏显示的应用。
当第一应用不为前台应用时,通知管理器将第一Toast对象移除服务队列并移除第一Toast对象对应的图层。这样,可以减少Toast显示与前台显示的应用不对应的情况。
示例性的,以服务队列中包括5个Toast对象(Toast1-Toast5),且5个Toast对象均对应于第一应用为例;若终端设备显示第二应用,不显示第一应用,则第一应用不为前台应用,终端设备将Toast1-Toast5从服务队列中移除并移除Toast1-Toast5对应的图层,终端设备不显示Toast。这样,可以减少显示的Toast与前台应用不对应的情况,提升用户体验。
可能的实现方式三中,预设条件包括:第一应用为被允许弹出Toast的应用。
被允许弹出Toast的应用为单位时间内显示的Toast数量未超过第二阈值的应用,或者理解为显示频率未达到频率阈值的应用。
一些实施例中,被允许弹出Toast的应用未对应有用于表示被限制的标识;或者对应有用于表示未被限制的标识。
可以理解的是,当终端设备在单位时间内显示同一应用的Toast数量达到第二阈值时,终端设备可能会限制在预设时长内不显示该应用对应的Toast。该应用为被限制的应用,还可能添加有用于表示被限制的标识。
这样,通过标识的方式进行判断,简单快速,实用性高。
一些实施例中,被限制的标识在该标识添加达到预设时长后移除。可能的实现方式中,终端设备基于单位时间内显示同一应用的Toast数量设置不同的预设时长,或者可以理解为,终端设备基于不同的显示频率(显示的Toast的数量与单位时间之比)设置不同的预设时长;示例性的,当单位时间内显示3个toast,预设时长为20s;当单位时间内显示5个toast,预设时长为42s;当单位时间内显示6个toast,预设时长为68s。
这样,可以减少同一应用多次弹出(显示)Toast,减少对用户的打扰。
当第一应用被限制时,终端设备将第一应用对应的Toast对象移除;并移除相应的图层。这样,在应用受到限制时,移除部分该应用对应的Toast不显示。可以减少应用弹出多个Toast的情况,减少同一应用的Toast的显示。
可以理解的是,预设条件可以包括上述任一项,也可以包括上述任两项,还可以包括上述三项。需要说明的是,当终端设备不满足预设条件中的任一项时,终端设备执行S807。
S807、当不满足预设条件时,终端设备将第一Toast对象移除服务队列并移除第一Toast对象对应的图层。
具体的,通知管理器将第一Toast对象移除服务队列并移除第一Toast对象对应的图层。
终端设备继续调度服务队列中的Toast对象显示,执行S805和S806。
S808、当满足预设条件时,终端设备基于第一toast对象合成图像以进行显示。
具体的,通知管理器调用图像合成模块基于第一toast对象合成图像以进行显示。
可能的实现方式中,通知管理器通过显示函数(show)调用图像合成模块(surfaceflinger)基于第一toast对象合成图像。
S809、终端设备对第一Toast对象的显示时间进行控制。
具体的,通知管理器对第一Toast对象的显示时间进行控制。
可能的实现方式中,通知管理器通过时间安排锁定函数(schedule Time outLocked)对第一Toast对象的显示时间进行控制。
可以理解的是,Toast显示时间一般为2S-5S,本申请实施例对于显示时间不做限定。
S810、终端设备在第一Toast对象显示预设时间后将第一Toast对象从服务队列中移除,并移除第一Toast对象对应的图层。
具体的,通知管理器在第一Toast对象显示预设时间后将第一Toast对象从服务队列中移除,并调用窗口管理器移除第一Toast对象对应的图层。
终端设备继续调度服务队列中的Toast对象显示,执行S805和S806,直至服务队列中无toast对象。
综上,终端设备可以移除不满足预设条件的Toast对象不显示,减少终端设备显示的Toast数量,缩短Toast遮挡屏幕的时间。终端设备在将Toast对象移除服务队列时,将该Toast对象对应的图层移除,减少图层积压,进而减少终端设备的卡顿重启等现象,提升用户体验。
此外,终端设备在短时间内创建多个Toast对象时,增加多个图层;而终端设备通过限流判断可以移除多个图层,使得图层数量保持平稳,减少图层数量迅速增加导致的资源不足的情况。
下面结合图9和图10对图8所示的方法中多个Toast处理流程进行说明。
示例性的,以应用在短时间内创建5个Toast(Toast1-Toast5),第一阈值为3,为例。图9为本申请实施例体提供的一种Toast处理流程示意图。
如图9所示,在0s时,应用接收到用户第1次点击操作,终端设备将Toast1放入服务队列中,并为Toast1建立对应的窗口图层。终端设备对Toast1是否显示进行判断,由于服务队列中存在1个Toast未显示,未显示的Toast数量小于第一阈值,终端设备显示Toast1。
0s-2s期间,应用接收到用户第2次点击操作、第3次点击操作、第4次点击操作、第5次点击操作,终端设备将Toast2-Toast5放入服务队列中,并分别为Toast2-Toast5分别建立对应的窗口图层。
2S时,Toast1显示结束,终端设备将Toast1从服务队列中移除,并将Toast1对应的图层移除。终端设备对Toast2是否显示进行判断,由于服务队列中存4个Toast未显示,未显示的Toast数量等于第一阈值,将Toast2从服务队列中移除,并将Toast2对应的图层移除。终端设备对Toast3是否显示进行判断,由于服务队列中存3个Toast未显示,未显示的Toast数量等于第一阈值,将Toast3从服务队列中移除,并将Toast3对应的图层移除。终端设备对Toast4是否显示进行判断,由于服务队列中存2个Toast未显示,未显示的Toast数量小于第一阈值,调用显示函数显示Toast4。
4S时,Toast4显示结束,终端设备将Toast4从服务队列中移除,并将Toast4对应的图层移除。终端设备对Toast5是否显示进行判断,由于服务队列中存1个Toast未显示,未显示的Toast数量小于第一阈值,调用显示函数显示Toast5。
6S时,Toast5显示结束,终端设备将Toast5从服务队列中移除,并将Toast5对应的图层移除。
这样,终端设备将Toast2和Toast3从服务队列中移除不显示,显示Toast1、Toast4和Toast5,减少终端设备显示的Toast数量,缩短Toast遮挡屏幕的时间,此外,还减少Toast对应的图层积压,减少终端设备因图层数量过多导致终端设备卡顿或重启的情况出现。
示例性的,以应用在短时间内创建5个Toast(Toast1-Toast5),第一阈值为3为例。图10为本申请实施例体提供的一种Toast处理流程示意图。
如图10所示,0s时,应用创建5个Toast,终端设备将Toast1-Toast5放入服务队列中,并分别为5个Toast建立对应的窗口图层。终端设备对Toast1是否显示进行判断,由于服务队列中存在5个Toast未显示,未显示的Toast数量大于第一阈值,将Toast1从服务队列中移除,并将Toast1对应的图层移除。
终端设备对Toast2是否显示进行判断,由于服务队列中存4个Toast未显示,未显示的Toast数量大于第一阈值,将Toast2从服务队列中移除,并将Toast2对应的图层移除。终端设备对Toast3是否显示进行判断,由于服务队列中存3个Toast未显示,未显示的Toast数量等于第一阈值,将Toast3从服务队列中移除,并将Toast3对应的图层移除。终端设备对Toast4是否显示进行判断,由于服务队列中存2个Toast未显示,未显示的Toast数量小于第一阈值,调用显示函数显示Toast4。
2s时,终端设备在Toast4显示结束后,将Toast4从服务队列中移除,并将Toast4对应的图层移除。终端设备对Toast5是否显示进行判断,由于服务队列中存1个Toast未显示,未显示的Toast数量小于第一阈值,调用显示函数显示Toast5。
4s时,终端设备在Toast5显示结束后,将Toast5从服务队列中移除,并将Toast5对应的图层移除。
这样,终端设备将Toast1-Toast3从服务队列中移除不显示,显示Toast4和Toast5,减少终端设备显示的Toast数量,缩短Toast遮挡屏幕的时间;此外,还减少图层积压,减少终端设备因图层数量过多导致终端设备卡顿或重启的情况出现。
本申请实施例提供的方法适用于一个应用创建多个Toast对象,也适用于多个应用创建多个Toast对象。具体实现方式类似,此处不再赘述。
可以理解的是,终端设备创建的Toast对象,可能对应于一个应用,也可能对应于多个应用,本申请实施例对此不作限定。示例性的,不规范的应用或恶意网页链接可能会调用一个应用创建多个Toast,也可能会调用多个应用创建多个Toast。
上面已对本申请实施例的设备消息提示框处理方法进行了说明,下面对本申请实施例提供的执行上述消息提示框处理方法的装置进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的相关装置可以执行上述消息提示框处理方法中的步骤。
本申请实施例提供的消息提示框处理方法,可以应用在具备显示功能的电子设备中。电子设备包括终端设备,终端设备的具体设备形态等可以参照上述相关说明,此处不再赘述。
示例性的,图11示出了终端设备100的结构示意图。终端设备可以包括:射频(radio frequency,RF)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、无线保真(wireless fidelity,WiFi)模块170、处理器180、电源190以及蓝牙模块1100等部件。本领域技术人员可以理解,图11中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图11对终端设备的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、以及短消息服务(short messaging service,SMS)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行终端设备的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)、引导装载程序(boot loader)等;存储数据区可存储根据终端设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。可以理解的是,本申请实施例中,存储器120中存储有蓝牙设备回连的程序。
输入单元130可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种菜单。显示单元140可包括显示面板141,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图11中,触控面板131与显示面板141是作为两个独立的部件来实现终端设备的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现终端设备的输入和输出功能。
终端设备还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端设备移动到耳边时,关闭显示面板141或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端设备之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端设备,或者将音频数据输出至存储器120以便进一步处理。
WiFi属于短距离无线传输技术,终端设备通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了WiFi模块170,但是可以理解的是,其并不属于终端设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器120内的软件程序或模块,以及调用存储在存储器120内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
可以理解的是,本申请实施例中,存储器120中存储有Toast处理方法的程序,而处理器180可以用于调用存储器120中存储的Toast处理方法的程序并执行,以实现本申请实施例的Toast处理方法。
终端设备还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
蓝牙技术属于短距离无线传输技术,终端设备通过蓝牙模块1100可以与其他具备蓝牙模块的终端设备建立蓝牙连接,从而基于蓝牙通信链路进行数据传输。蓝牙模块1100根据实际需要,可以为低功耗蓝牙(bluetooth low energy,BLE),或模块。可以理解的是,本申请实施例中终端设备为用户终端和业务机具的情形下,终端设备包括蓝牙模块。但是可以理解的是,蓝牙模块并不属于终端设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略,比如服务器中可以不包括蓝牙模块。
尽管未示出,终端设备还可以包括摄像头。可选地,摄像头在终端设备上的位置可以为前置的,也可以为后置的,还可以为内置的(在使用时可伸出机身),本申请实施例对此不作限定。可选地,终端设备可以包括单摄像头、双摄像头或三摄像头等,本申请实施例对此不作限定。摄像头包括但不限于广角摄像头、长焦摄像头或深度摄像头等。
本申请实施例提供一种终端设备,该终端设备包括:包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得终端设备执行上述方法。
本申请实施例提供一种芯片。芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现上述方法。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
一种可能的实现方式中,计算机可读介质可以包括RAM,ROM,只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行上述方法。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (12)
1.一种消息提示框处理方法,其特征在于,包括:
确定服务队列中第一消息提示框Toast对象所对应的第一应用;所述服务队列用于存储一个或多个应用的Toast对象;
当所述第一应用的相关信息不满足预设条件时,将第一Toast对象从所述服务队列中移除,并将所述第一Toast对象对应的图层移除;所述预设条件与下述一项或多项有关:所述第一应用在所述服务队列中的Toast对象数量、所述第一应用是否属于前台运行的应用、所述第一应用是否为被允许显示Toast对象的应用。
2.根据权利要求1所述的方法,其特征在于,所述当所述第一应用的相关信息不满足预设条件时,将第一Toast对象从所述服务队列中移除,并将所述第一Toast对象对应的图层移除,包括:
当所述服务队列中所述第一应用对应的Toast对象数量小于数量阈值时,将第一Toast对象从所述服务队列中移除,并将所述第一Toast对象对应的图层移除。
3.根据权利要求1所述的方法,其特征在于,所述当所述第一应用的相关信息不满足预设条件时,将第一Toast对象从所述服务队列中移除,并将所述第一Toast对象对应的图层移除,包括:
当所述第一应用不为属于前台运行的应用时,将第一Toast对象从所述服务队列中移除,并将所述第一Toast对象对应的图层移除。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述当所述第一应用的相关信息不满足预设条件时,将第一Toast对象从所述服务队列中移除,并将所述第一Toast对象对应的图层移除,包括:
当所述第一应用不是被允许显示Toast对象的应用时,将第一Toast对象从所述服务队列中移除,并将所述第一Toast对象对应的图层移除。
5.根据权利要求4所述的方法,其特征在于,所述被允许显示Toast对象的应用对应有第一标识,所述第一标识用于指示应用未被限制显示Toast对象;
或者,所述被允许显示Toast对象的应用未对应有第二标识,所述第二标识用于指示应用被限制显示Toast对象。
6.根据权利要求5所述的方法,其特征在于,当被允许显示Toast对象的应用在单位时间内显示Toast对象的数量未达到阈值时,所述第一应用对应有第一标识,或者未对应有第二标识。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述服务队列中的Toast对象均对应有位置下标;
所述终端设备基于获取get函数和所述位置下标确定所述第一Toast对象,所述第一Toast对象为位置下标为零对应的Toast对象。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
当所述终端设备接收到多个点击操作时,创建多个Toast对象;
或者,所述终端设备处于预设场景时,创建多个Toast对象,所述预设场景包括但不限于:设备状态变化的场景、网络状态变化的场景、进入不规范的应用程序或点击恶意网页链接。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
当所述第一应用的相关信息满足预设条件时,显示所述第一Toast对象。
10.一种终端设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述终端设备执行如权利要求1-9中任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-9任一项所述的方法。
12.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210581866.0A CN116088714A (zh) | 2022-05-26 | 2022-05-26 | 消息提示框处理方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210581866.0A CN116088714A (zh) | 2022-05-26 | 2022-05-26 | 消息提示框处理方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116088714A true CN116088714A (zh) | 2023-05-09 |
Family
ID=86199682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210581866.0A Pending CN116088714A (zh) | 2022-05-26 | 2022-05-26 | 消息提示框处理方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116088714A (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120124487A1 (en) * | 2010-11-11 | 2012-05-17 | Microsoft Corporation | Issuing behavioral and contextual notifications |
CN104572110A (zh) * | 2015-01-19 | 2015-04-29 | 山东大学 | 一种安卓系统上Toast控件的优化方法 |
CN106383712A (zh) * | 2016-09-21 | 2017-02-08 | 武汉斗鱼网络科技有限公司 | 一种Toast组件实现方法和系统 |
CN106445533A (zh) * | 2016-09-28 | 2017-02-22 | 北京金山安全软件有限公司 | 一种Toast显示方法、装置及电子设备 |
CN106569798A (zh) * | 2016-10-13 | 2017-04-19 | 上海斐讯数据通信技术有限公司 | 安卓系统Toast信息的控制方法及系统 |
CN106648303A (zh) * | 2016-10-20 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 安卓应用程序显示消息提示的方法及工具 |
CN106851015A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN106851014A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN106921947A (zh) * | 2017-03-10 | 2017-07-04 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN106993084A (zh) * | 2017-02-28 | 2017-07-28 | 努比亚技术有限公司 | 一种控制信息显示的方法、装置及移动终端 |
CN109743358A (zh) * | 2018-12-13 | 2019-05-10 | 平安普惠企业管理有限公司 | 异步消息接口熔断控制方法、装置、计算机设备及存储介质 |
CN110808922A (zh) * | 2019-10-29 | 2020-02-18 | 北京大米科技有限公司 | 一种消息处理方法、装置、存储介质及电子设备 |
US10579449B1 (en) * | 2018-11-02 | 2020-03-03 | Dell Products, L.P. | Message queue architectures framework converter |
US20220035591A1 (en) * | 2018-09-30 | 2022-02-03 | Zte Corporation | Method and apparatus for displaying message box, terminal device and non-transitory computer-readable storage medium |
CN114428685A (zh) * | 2020-10-29 | 2022-05-03 | 中移动信息技术有限公司 | 一种数据处理的方法、装置、设备及计算机存储介质 |
-
2022
- 2022-05-26 CN CN202210581866.0A patent/CN116088714A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120124487A1 (en) * | 2010-11-11 | 2012-05-17 | Microsoft Corporation | Issuing behavioral and contextual notifications |
CN104572110A (zh) * | 2015-01-19 | 2015-04-29 | 山东大学 | 一种安卓系统上Toast控件的优化方法 |
CN106383712A (zh) * | 2016-09-21 | 2017-02-08 | 武汉斗鱼网络科技有限公司 | 一种Toast组件实现方法和系统 |
CN106445533A (zh) * | 2016-09-28 | 2017-02-22 | 北京金山安全软件有限公司 | 一种Toast显示方法、装置及电子设备 |
CN106569798A (zh) * | 2016-10-13 | 2017-04-19 | 上海斐讯数据通信技术有限公司 | 安卓系统Toast信息的控制方法及系统 |
CN106648303A (zh) * | 2016-10-20 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 安卓应用程序显示消息提示的方法及工具 |
CN106993084A (zh) * | 2017-02-28 | 2017-07-28 | 努比亚技术有限公司 | 一种控制信息显示的方法、装置及移动终端 |
CN106851014A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN106921947A (zh) * | 2017-03-10 | 2017-07-04 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN106851015A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
US20220035591A1 (en) * | 2018-09-30 | 2022-02-03 | Zte Corporation | Method and apparatus for displaying message box, terminal device and non-transitory computer-readable storage medium |
US10579449B1 (en) * | 2018-11-02 | 2020-03-03 | Dell Products, L.P. | Message queue architectures framework converter |
CN109743358A (zh) * | 2018-12-13 | 2019-05-10 | 平安普惠企业管理有限公司 | 异步消息接口熔断控制方法、装置、计算机设备及存储介质 |
CN110808922A (zh) * | 2019-10-29 | 2020-02-18 | 北京大米科技有限公司 | 一种消息处理方法、装置、存储介质及电子设备 |
CN114428685A (zh) * | 2020-10-29 | 2022-05-03 | 中移动信息技术有限公司 | 一种数据处理的方法、装置、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10708649B2 (en) | Method, apparatus and system for displaying bullet screen information | |
EP3531290B1 (en) | Data backup method, apparatus, electronic device, storage medium, and system | |
CN111263181A (zh) | 直播互动方法、装置、电子设备、服务器及存储介质 | |
CN108156508B (zh) | 弹幕信息处理的方法、装置、移动终端、服务器及系统 | |
WO2018223558A1 (zh) | 数据处理方法及电子设备 | |
CN110097428A (zh) | 电子订单生成方法、装置、终端及存储介质 | |
CN110097429A (zh) | 电子订单生成方法、装置、终端及存储介质 | |
CN111882309A (zh) | 消息处理方法、装置、电子设备及存储介质 | |
KR20190046960A (ko) | 통지 메시지를 연관시키는 방법, 장치 및 이동 단말 | |
CN114153570A (zh) | 一种应用切换方法及装置 | |
CN105912610A (zh) | 一种基于文字信息引导分享的方法和装置 | |
CN110213153A (zh) | 未读消息的显示方法、获取方法、装置、终端及存储介质 | |
US20220377157A1 (en) | Method for displaying data, and computer device | |
WO2021175143A1 (zh) | 图片获取方法及电子设备 | |
CN113127773A (zh) | 页面处理方法、装置、存储介质及终端设备 | |
CN113613064B (zh) | 视频处理方法、装置、存储介质及终端 | |
CN109032732B (zh) | 通知显示方法、装置、存储介质及电子设备 | |
CN113835569A (zh) | 终端设备、应用内部功能的快捷启动方法和存储介质 | |
CN105872767A (zh) | 一种基于用户行为引导分享的方法和装置 | |
US20120060149A1 (en) | Integrated multimedia application for mobile devices | |
CN113709026B (zh) | 即时通信消息的处理方法、设备、存储介质和程序产品 | |
CN110032702A (zh) | 网页显示方法、装置、设备及存储介质 | |
CN111935353B (zh) | 移动终端及其短信显示方法 | |
CN111210496B (zh) | 一种图片解码方法、装置以及设备 | |
CN116088714A (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 |