CN108376094B - 通知消息显示方法、装置、计算机设备和存储介质 - Google Patents
通知消息显示方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108376094B CN108376094B CN201810159411.3A CN201810159411A CN108376094B CN 108376094 B CN108376094 B CN 108376094B CN 201810159411 A CN201810159411 A CN 201810159411A CN 108376094 B CN108376094 B CN 108376094B
- Authority
- CN
- China
- Prior art keywords
- notification message
- frame
- state
- full
- layout frame
- 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
- 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/451—Execution arrangements for user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72484—User interfaces specially adapted for cordless or mobile telephones wherein functions are triggered by incoming communication events
Abstract
本申请涉及一种通知消息显示方法、装置、计算机设备和存储介质。所述方法包括:接收通知消息,并检测当前显示状态;当当前显示状态为全屏沉浸状态,获取与全屏沉浸状态对应的界面框架;根据通知消息生成透明的布局帧,并将透明的布局帧插入到界面框架的顶层;根据界面框架显示通知消息。采用本方法在检测到当前终端处于全屏沉浸状态时,当需要显示通知消息,先定位到当前处于全屏沉浸状态的界面框架,在当前的页面框架顶层生成一个透明的布局帧,将通知消息放在此透明的布局帧上,显示通知消息;由于新的透明的布局帧是在全屏沉浸状态的界面框架的顶层生成,此通知消息在显示时仍是处于全屏沉浸状态,不会带出状态栏,从而不会遮挡屏幕上的内容。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种通知消息显示方法、装置、计算机设备和存储介质。
背景技术
随着现代网络技术的发展,手机等终端已经在我们生活中起到了越来越重要的作用,伴随而来的是针对在智能移动终端上运行的各种终端程序的开发和应用,包括安卓系统和ios系统自身携带的各种应用功能,弹窗显示是终端常见的一个简单应用。
传统上,终端在处于全屏显示状态下如果要显示通知消息,需要新建一个界面框架(即Activity组件),将通知消息放置于此界面框架上,以弹窗的形式显示通知消息,这样会导致弹窗遮挡屏幕上的显示内容。
发明内容
基于此,有必要针对上述技术问题,提供一种不遮挡屏幕上显示内容的通知消息显示方法、装置、计算机设备和存储介质。
一种通知消息显示方法,所述方法包括:
接收通知消息,并检测当前显示状态;
当所述当前显示状态为全屏沉浸状态,获取与所述全屏沉浸状态对应的界面框架;
根据所述通知消息生成透明的布局帧,并将所述透明的布局帧插入到所述界面框架的顶层;
根据所述界面框架显示所述通知消息。
在其中一个实施例中,所述检测当前显示状态,包括:
通过第一预设窗口句柄获取当前显示状态的属性值;
当所述属性值表示当前显示状态为全屏沉浸状态,则判定所述当前显示状态为全屏沉浸状态。
在其中一个实施例中,所述根据所述通知消息生成透明的布局帧,包括:
通过第二预设窗口句柄获取显示界面的高度和宽度;
根据所述显示界面的高度和宽度生成透明的空白布局帧;
将所述通知消息插入到所述空白布局帧的预设位置处得到透明的布局帧。
在其中一个实施例中,所述将所述通知消息插入到所述空白布局帧的预设位置处得到透明的布局帧,包括:
提取所述通知消息的文字信息;
将所提取到的文字信息插入到所述空白布局帧的预设位置处得到透明的布局帧。
在其中一个实施例中,所述接收通知消息,并检测当前显示状态之后,包括:
获取所述通知消息的优先级;
当所述优先级为预设级别时,则继续所述获取与所述全屏沉浸状态对应的界面框架。
在其中一个实施例中,所述接收通知消息,包括:
获取通知消息,所述通知消息包括属性信息;
获取与所述属性信息对应的封装框架;
通过所述封装框架对所述通知消息进行组件封装得到通知组件;
所述根据所述通知消息生成透明的布局帧,包括:
根据所述通知组件生成透明的布局帧。
一种通知消息显示装置,所述装置包括:
接收模块,用于接收通知消息,并检测当前显示状态;
全屏状态模块,用于当所述当前显示状态为全屏沉浸状态,获取与所述全屏沉浸状态对应的界面框架;
插入模块,用于根据所述通知消息生成透明的布局帧,并将所述透明的布局帧插入到所述界面框架的顶层;
显示模块,用于根据所述界面框架显示所述通知消息。
在其中一个实施例中,所述接收模块包括:
属性获取单元,用于通过第一预设窗口句柄获取当前显示状态的属性值;
状态判定单元,用于当所述属性值标识当前显示状态为全屏沉浸状态,则判定所述当前显示状态为全屏沉浸状态。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述沉浸状态中通知消息显示方法、装置、计算机设备和存储介质,在检测到当前终端处于全屏沉浸状态时,当需要显示通知消息,先定位到当前处于全屏沉浸状态的界面框架,并在当前的页面框架顶层生成一个透明的布局帧,将通知消息放在此透明的布局帧上,显示通知消息;由于新的透明的布局帧是在全屏沉浸状态的界面框架的顶层生成,此通知消息界面在显示时仍是处于全屏沉浸状态,不会带出状态栏,从而不会遮挡屏幕上的显示内容。
附图说明
图1为一个实施例中通知消息显示方法的应用场景图;
图2为一个实施例中通知消息显示方法的流程示意图;
图3为一个实施例中通知消息显示界面的界面图;
图4为一个实施例中通知消息显示装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据调取方法,可以应用于如图1所示的应用环境中。其中,终端与服务器通过网络进行通信,一个终端可以连接多台服务器;服务器向终端发送一个通知消息,终端接收到此通知消息后,当检测到自身的当前显示状态为全屏沉浸状态时,则获取当前显示界面对应的界面框架,将根据此通知消息生成的透明的布局帧插入到此界面框架的顶层,将通知消息显示在当前显示页面的最上层。其中,终端可以但不限于是各种个人计算机、笔记本电脑、平板电脑等,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种通知消息显示方法,以该方法应用于终端为例进行说明,该方法包括以下步骤:
S202,接收通知消息,并检测当前显示状态。
其中,通知消息是由服务器发送给终端的消息,终端将该消息进行显示以使得用户了解到该消息内容;该通知消息可以是短信、聊天软件的聊天消息、应用程序的权限信息或者更新提醒等。
具体地,在终端接收到需要显示给用户的通知消息时,先需要获取终端的当前显示状态,判断当前显示状态是否是全屏沉浸状态,当终端当前不处于全屏沉浸状态,则将通知消息显示在屏幕上。可选地,终端可以将通知消息通过弹窗的形式显示在屏幕上。上述将通知消息以弹窗的形式显示在屏幕上的步骤可以包括:终端接收到需要显示给用户的通知消息时,生成一个新的界面框架,将通知消息插入此界面框架的内容帧中;并在终端的屏幕上显示此内容帧上的通知消息。
S204,当当前显示状态为全屏沉浸状态,获取与全屏沉浸状态对应的界面框架。
其中,全屏沉浸状态是终端的显示界面全部被应用程序的界面占据的显示状态,这种模式下,状态栏和虚拟按钮会自动隐藏,只有当用户触发退出全屏沉浸模式的指令时,例如用户从终端屏幕的上方边沿处向下划动时,终端才会退出全屏沉浸模式。该全屏沉浸状态可以是游戏全屏、视频全屏等。
具体地,当终端当前处于全屏沉浸状态时,不需要另外生成用于显示弹窗的新的界面框架,而是获取到当前处于全屏沉浸状态的界面框架,直接在此界面框架上进行处理。
其中,界面框架是终端中用于显示与交互的系统模块,如在安卓系统中的Activity组件等。终端上的一个应用程序可以包括多个界面框架。
S206,根据通知消息生成透明的布局帧,并将透明的布局帧插入到界面框架的顶层。
其中,布局帧是终端用于在屏幕上显示相应内容的一个界面层;布局帧可以多层覆盖,完成界面的显示和切换;如在安卓系统中,帧布局为常用的布局方式,该布局帧直接在屏幕上开辟出了一块空白区域,通过向该布局中添加组件的方式实现终端的界面显示,所有的组件默认情况下都会放置于这块区域的左上角,组件的具体插入位置可以根据实际需要进行调整。
具体地,步骤S206中终端获取到全屏沉浸状态对应的界面框架后,先将接收到通知消息放置于一个新建的透明的布局帧上,然后将包括通知消息的透明的布局帧直接设置在全屏沉浸状态对应的界面框架的顶层,从而直接在当前处于全屏沉浸状态的显示内容上覆盖一个背景色为透明的布局帧,该布局帧用于显示通知消息。
可选地,该透明布局帧的背景色可以根据实际显示要求进行调整,如可以显示为半透明、全透明或者其他颜色和显示效果等。
S208,根据界面框架显示通知消息。
具体地,在上述步骤S206中将透明的布局帧插入到界面框架的顶层之后,终端会在当前显示界面的上层覆盖一个背景色为透明的布局帧,在此布局帧上显示通知消息,即在全屏沉浸状态下跳出一个通知消息界面,但由于此通知消息界面的运行是在全屏沉浸状态下的界面框架中,故不会带出状态栏和虚拟按键等其他内容。
可选地,上述实施例中实现了状态栏的背景的透明色,且为了进一步避免遮挡全屏沉浸状态下界面上的显示内容,在透明布局帧中显示的通知消息的背景色可以也设置为透明色;从而在终端处于全屏沉浸模式下,显示的通知消息只有消息内容,而不显示通知消息的对话框。而通知消息的文字颜色可以取当前全屏沉浸模式状态下的显示内容的主色调颜色的互补色;如当前终端全屏沉浸状态的显示主色调为白色,则要显示的通知消息的文字颜色为黑色。具体实现方式可以包括:获取通知消息在透明布局帧中的第一坐标范围,并获取界面上与第一坐标范围对应的第二坐标范围处的像素值,例如RGB值,统计该第二坐标范围处相同像素值的数量,选取数量最大的像素值,并获取与该像素值的差值大于预设差值的待选像素值,将该待选像素值对应的颜色作为通知消息的文字的颜色,优选地,可以将待选像素值对应的颜色与数量最大的像素值对应的颜色为互补色。例如,第二坐标范围处的第一像素值的数量为30,第二像素值的数量为10,第三像素值的数量也为10,则获取第一像素值,选取与第一像素值的差值大于预设差值的待选像素值,并将该待选像素值对应的颜色作为通知消息的文字的颜色进行显示。
上述通知消息显示方法中,在检测到当前终端处于全屏沉浸状态时,当需要显示通知消息,先定位到当前处于全屏沉浸状态的界面框架,并在当前的页面框架顶层生成一个透明的布局帧,将通知消息放在此透明的布局帧上,显示通知消息;由于新的透明的布局帧是在全屏沉浸状态的界面框架的顶层生成,此通知消息在显示时仍是处于全屏沉浸状态,不会带出状态栏,从而不会遮挡屏幕上的显示内容。
在其中的一个实施例中,上述通知消息显示方法中的步骤S202中检测当前显示状态,包括:通过第一预设窗口句柄获取当前显示状态的属性值;当属性值表示当前显示状态为全屏沉浸状态,则判定当前显示状态为全屏沉浸状态。
其中,句柄是一个系统内部数据结构的引用,对象可以映射到唯一的句柄,句柄也可以映射到唯一的对象,窗口句柄是用于定位当前显示窗口的标识,终端能够通过窗口句柄访问当前显示窗口的信息,例如当操作一个窗口,或说是一个Delphi窗体时,系统会给出一个该窗口的句柄,系统会通知“当前正在操作142号窗口”,因而应用程序可以终端的操作系统对142号窗口进行操作——移动窗口、改变窗口大小、把窗口最小化等等。第一预设窗口句柄是用来检测终端的显示状态的标识;通过设定一个专门用来检测应用程序中与显示状态相关的属性值的窗口句柄,来确定终端的当前状态是否是全屏沉浸状态,例如activity.getWindow().getAttributes()接口。
属性值是用于表示终端的当前显示状态的参数;如在安卓系统中,当应用程序的一个Activity组件当前处于全屏沉浸状态时,对应的节点参数会被改写,当安卓终端获取到某一Activity组件的节点参数被改写,则可以判断此Activity中的相应布局帧处于全屏沉浸状态;如通过接口
activity.getWindow().getAttributes()获取当前属性获取应用程序显示状态的属性值;或者检测当前显示的Activity窗口属性信息中是否包含全屏显示标志位;若包含,则该终端的当前显示状态为全屏沉浸状态。
具体地,终端可以通过设置一个定位当前显示窗口的标识,即第一预设窗口句柄,在检测到当前显示状态为全屏沉浸状态时,获取当前显示窗口的显示参数,当检测到显示参数被改写时,则可判断此显示参数对应的界面框架中的某帧为当前的处于全屏沉浸状态的显示帧。
另外,在安卓系统中,节点onGlobalLayout()是为了先获取组件的宽和高,从而计算图片和组件的宽高比例,实现初始化缩放效果,当移动终端的状态进入沉浸式模式时会改变此节点的值,可以通过监控节点onGlobalLayout()与应用程序显示状态的属性信息判断当前系统是否处于全屏沉浸状态。
上述实施例中,通过预设的第一窗口句柄获取到当前显示状态的属性值,根据该属性值获取到当前显示状态,不需要进行复杂的操作,提高了处理效率。
在一个实施例中,上述通知消息显示方法中的步骤S206根据通知消息生成透明的布局帧,包括:通过第二预设窗口句柄获取显示界面的高度和宽度;根据显示界面的高度和宽度生成透明的空白布局帧;将通知消息插入到空白布局帧的预设位置处得到透明的布局帧。
其中,第二预设窗口句柄是用于获取终端的显示界面信息的窗口句柄;通过设置一个窗口句柄获取当前显示界面对应的高度和宽度的参数,了解当前全屏显示的具体显示状态。预设位置是通知消息显示在终端当前显示界面的位置,例如可以设置在当前显示界面的上方、下方或中间等,即对应显示在布局帧的上方、下方或中间等。
具体地,在上述通知消息显示方法中当检测到终端的当前显示状态为全屏沉浸状态时,需要在当前显示界面的上层添加一个适应屏幕大小的透明的空白布局帧,然后将需要显示在当前界面的通知消息插入到此空白布局帧中的预设位置,最终显示在终端显示界面的对应位置。可以通过调整预设位置来改变通知消息在当前界面的显示位置,如默认显示在屏幕中央,或者屏幕上方。
可选地,也可以根据通知消息的优先级改变预设位置,如优先级高的通知消息显示在屏幕中央,而优先级低的通知消息显示在屏幕上方等。
在上述实施例中,详细叙述了根据通知消息生成透明的布局帧的步骤,通过设置一个第二预设窗口句柄获取显示界面的高度和宽度,可以根据显示界面的大小生成适应的布局帧,使得生成的布局帧能够符合显示的要求。
在其中的一个实施例中,上述通知消息显示方法中将通知消息插入到空白布局帧的预设位置处得到透明的布局帧,包括:提取通知消息的文字信息;将所提取到的文字信息插入到空白布局帧的预设位置处得到透明的布局帧。
具体地,当终端接收到的通知消息较为复杂时,如通知消息包含图片或者其他网络链接,不需要将通知消息的所有内容显示在终端的当前界面,而只需显示通知消息的文字部分,再由用户决定是否需要点击通知消息以查看通知消息的所有内容;在此情况下,只需要提取通知消息的文字信息,将文字信息插入空白布局帧的预设位置,即可达到对通知消息的文字部分进行显示的要求。
可选地,可以设置一个窗口句柄用以检测通知消息的类型信息或属性信息;对于某些类型的通知消息可以只显示其中的关键字或标题栏,提示用户接收到此类通知消息,再由用户决定是否需要点击已显示在当前界面的通知消息的关键字或标题栏以查看通知消息的所有内容。
在上述实施例中,对于较为复杂的通知消息,只在处于全屏沉浸模式下的当前界面显示通知消息的文字部分,减少通知消息在屏幕上的显示内容,从而减少通知消息对屏幕的遮挡。
在其中的一个实施例中,上述通知消息显示方法的步骤S202中接收通知消息,并检测当前显示状态之后还可以包括:获取通知消息的优先级;当优先级为预设级别时,则继续获取与全屏沉浸状态对应的界面框架。
其中,预设级别是用于区分通知消息的优先级的标准,当通知消息的优先级高于预设级别时,才需要在全屏沉浸状态下显示;当低于预设级别则可以等到终端退出全屏沉浸状态后再显示此通知消息,该预设级别可以是用户预先设置的,例如在安装应用程序的时候进行设置的,或者是应用程序中默认的预设级别。
具体地,移动终端可以根据统计消息的优先级类型判断是否需要在此沉浸式模式下弹出通知消息,当该通知消息优先级较低时,则可不显示,当用户退出沉浸式模式时,在显示该通知消息;当该通知消息优先级较高时,才对此通知消息进行显示。
通知消息的优先级可以通过消息类型和发送消息的APP(应用程序)来建立一个判断标准,如将病毒提醒窗口、权限攻击提醒窗口设置为高优先级消息。可选地,可以通过通知消息的不同优先级,定义不同的通知消息类型。如优先级最高的显示在屏幕中央,优先级次要的则只在屏幕顶部显示缩略图等。
上述实施例中,通过检测通知消息的优先级,当终端在全屏沉浸状态时只显示优先级较高的通知信息,能够帮助用户过滤掉优先级较低的通知消息,减少用户在全屏沉浸状态下的干扰。
在其中的一个实施例中,上述通知消息显示方法的步骤S202中接收通知消息,可以包括:接收通知消息,通知消息包括属性信息;获取与属性信息对应的通过封装框架对通知消息进行组件封装得到通知组件。则根据通知消息生成透明的布局帧,包括:根据通知组件生成透明的布局帧。
其中,属性信息是用来表示通知消息类型的信息;例如当通知消息是从当前终端的其他应用程序发送的,则属性信息可以是表示此通知消息发送源的信息;属性信息也可以用来表示通知消息的需要显示类型,如动画形式等。
封装框架是用以将通知消息的信息封装成通知组件的预设框架,通过设置预设框架的格式,将通知消息中的内容封装成固定的组件形式,用来传输或者移动。
通知组件是通知消息通过封装框架生成的格式组件;通知组件的形式可以是指安卓系统中的UI组件等;UI组件,即USER INTERFACE Module,用户界面组件,用户界面组件包含了这样一个或几个具有各自功能的代码段,最终完成了用户界面的表示,通知消息的UI组件即该通知消息的显示形式。
具体地,当通知消息的内容种类较多时,可以通过将通知消息封装成通知组件的形式,方便在根据通知消息生成透明的布局帧的步骤中对通知消息进行迁移。而将通知消息封装成通知组件的步骤可以是,在接收到通知消息后,终端根据接收到的通知消息的属性信息,调用预先存储的封装框架,然后将通知消息的对应内容根据封装框架进行封装,生成通知组件;当检测到当前显示状态处于全屏沉浸状态时,获取当前处于全屏沉浸状态的界面框架,并在当前的页面框架顶层生成一个透明的布局帧,然后将通知组件放置在透明的布局帧的预设位置处,完成对通知消息的显示。
上述实施例中,通过对通知消息进行封装,方便对通知消息进行传输和移动,方便了对通知消息进行上述显示的操作过程。
在一个实施例中,请参见图3,图3为一个实施例中通知消息显示界面的界面图。在一个使用安卓系统的手机的视频全屏界面显示通知信息,当此手机在处于视频全屏状态,当前界面只显示视频内容,而不显示状态栏和虚拟按键等内容;此时该手机接收到一条权限请求信息,需要提醒用户注意此信息;先对此权限请求信息进行组件封装成为一个权限UI组件(界面组件),终端在检测到当前显示状态为全屏沉浸状态,则只需要在全屏状态下显示此信息即可,无需调出状态栏的内容。可以定位到当前正在显示的视频Activity组件中,在此视频Activity组件的根节点中的顶层视图DecorView(一个Activity组件可以包含显示视图,而DecorView即是窗口最顶层的视图)中生成一个透明的布局帧(FrameLayout),然后将权限UI组件插入到此布局帧的中间位置,此权限请求信息就会覆盖在正在显示的视频上层的屏幕中间位置,显示一个Dialog(对话框)样式的视图。
传统的通知消息显示方法中,在全屏沉浸状态下,通常采用Dialog主题的Activity组件显示弹窗会带出状态栏,导致重要内容被遮挡,且Activity组件代码繁琐,需要管理其生命周期,操作较为复杂。而上述实施例中的通知消息显示方法不需另外调用一个新的Activity组件,简化了代码,更加方便操作。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种通知消息显示装置,包括:接收模块100、全屏状态模块200、插入模块300和显示模块400,其中:
接收模块100,用于接收通知消息,并检测当前显示状态。
全屏状态模块200,用于当当前显示状态为全屏沉浸状态,获取与全屏沉浸状态对应的界面框架。
插入模块300,用于根据通知消息生成透明的布局帧,并将透明的布局帧插入到界面框架的顶层。
显示模块400,用于根据界面框架显示通知消息。
在一个实施例中,上述通知消息显示装置的接收模块100,可以包括:
属性获取单元,用于通过第一预设窗口句柄获取当前显示状态的属性值。
全屏判定单元,用于当属性值标识当前显示状态为全屏沉浸状态,则判定当前显示状态为全屏沉浸状态。
在一个实施例中,上述通知消息显示装置的插入模块300可以包括:
界面测量单元,用于通过第二预设窗口句柄获取显示界面的高度和宽度。
空白帧单元,用于根据显示界面的高度和宽度生成透明的空白布局帧。
帧插入单元,用于将通知消息插入到空白布局帧的预设位置处得到透明的布局帧。
在一个实施例中,上述帧插入单元还可以用于:提取通知消息的文字信息;将所提取到的文字信息插入到空白布局帧的预设位置处得到透明的布局帧。
在一个实施例中,上述通知消息显示装置还可以包括一个优先级判定模块,用于获取通知消息的优先级;当优先级为预设级别时,则继续获取与全屏沉浸状态对应的界面框架。
在一个实施例中,上述通知消息显示装置的接收模块100,可以包括:
获取单元,用于获取通知消息,通知消息包括属性信息。
框架单元,用于获取与属性信息对应的封装框架。
封装单元,用于通过封装框架对通知消息进行组件封装得到通知组件。
插入模块300可以用于:根据通知组件生成透明的布局帧。
关于通知消息显示装置的具体限定可以参见上文中对于通知消息显示方法的限定,在此不再赘述。上述通知消息显示装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种通知消息显示方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:接收通知消息,并检测当前显示状态;当当前显示状态为全屏沉浸状态,获取与全屏沉浸状态对应的界面框架;根据通知消息生成透明的布局帧,并将透明的布局帧插入到界面框架的顶层;根据界面框架显示通知消息。
在一个实施例中,处理器执行计算机程序时实现的检测当前显示状态,可以包括:通过第一预设窗口句柄获取当前显示状态的属性值;当属性值表示当前显示状态为全屏沉浸状态,则判定当前显示状态为全屏沉浸状态。
在一个实施例中,处理器执行计算机程序时实现的根据通知消息生成透明的布局帧,可以包括:通过第二预设窗口句柄获取显示界面的高度和宽度;根据显示界面的高度和宽度生成透明的空白布局帧;将通知消息插入到空白布局帧的预设位置处得到透明的布局帧。
在一个实施例中,处理器执行计算机程序时实现的将通知消息插入到空白布局帧的预设位置处得到透明的布局帧,可以包括:提取通知消息的文字信息;将所提取到的文字信息插入到空白布局帧的预设位置处得到透明的布局帧。
在一个实施例中,处理器执行计算机程序时实现的接收通知消息,并检测当前显示状态之后,还可以包括:获取通知消息的优先级;当优先级为预设级别时,则继续获取与全屏沉浸状态对应的界面框架。
在一个实施例中,处理器执行计算机程序时实现的接收通知消息,可以包括:获取通知消息,通知消息包括属性信息;获取与属性信息对应的封装框架;通过封装框架对通知消息进行组件封装得到通知组件;处理器执行计算机程序时实现的根据通知消息生成透明的布局帧,可以包括:根据通知组件生成透明的布局帧。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收通知消息,并检测当前显示状态;当当前显示状态为全屏沉浸状态,获取与全屏沉浸状态对应的界面框架;根据通知消息生成透明的布局帧,并将透明的布局帧插入到界面框架的顶层;根据界面框架显示通知消息。
在一个实施例中,计算机程序被处理器执行时实现的检测当前显示状态,可以包括:通过第一预设窗口句柄获取当前显示状态的属性值;当属性值表示当前显示状态为全屏沉浸状态,则判定当前显示状态为全屏沉浸状态。
在一个实施例中,计算机程序被处理器执行时实现的根据通知消息生成透明的布局帧,可以包括:通过第二预设窗口句柄获取显示界面的高度和宽度;根据显示界面的高度和宽度生成透明的空白布局帧;将通知消息插入到空白布局帧的预设位置处得到透明的布局帧。
在一个实施例中,计算机程序被处理器执行时实现的将通知消息插入到空白布局帧的预设位置处得到透明的布局帧,可以包括:提取通知消息的文字信息;将所提取到的文字信息插入到空白布局帧的预设位置处得到透明的布局帧。
在一个实施例中,计算机程序被处理器执行时实现的接收通知消息,并检测当前显示状态之后,还可以包括:获取通知消息的优先级;当优先级为预设级别时,则继续获取与全屏沉浸状态对应的界面框架。
在一个实施例中,计算机程序被处理器执行时实现的接收通知消息,可以包括:获取通知消息,通知消息包括属性信息;获取与属性信息对应的封装框架;通过封装框架对通知消息进行组件封装得到通知组件;计算机程序被处理器执行时实现的根据通知消息生成透明的布局帧,可以包括:根据通知组件生成透明的布局帧。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种通知消息显示方法,所述方法包括:
接收通知消息,并检测当前显示状态;
当所述当前显示状态为全屏沉浸状态,获取所述通知消息的优先级;
当所述优先级为预设级别时,则获取与所述全屏沉浸状态对应的界面框架;
根据所述优先级将所述通知消息插入到空白布局帧的预设位置得到透明的布局帧,并将所述透明的布局帧插入到所述界面框架的顶层的所述预设位置;
根据所述消息的优先级和所述界面框架显示所述通知消息。
2.根据权利要求1所述的方法,其特征在于,所述检测当前显示状态,包括:
通过第一预设窗口句柄获取当前显示状态的属性值;
当所述属性值表示当前显示状态为全屏沉浸状态,则判定所述当前显示状态为全屏沉浸状态。
3.根据权利要求2所述的方法,其特征在于,所述根据所述通知消息生成透明的布局帧,包括:
通过第二预设窗口句柄获取显示界面的高度和宽度;
根据所述显示界面的高度和宽度生成透明的空白布局帧;
将所述通知消息插入到所述空白布局帧的预设位置处得到透明的布局帧。
4.根据权利要求3所述的方法,其特征在于,所述将所述通知消息插入到所述空白布局帧的预设位置处得到透明的布局帧,包括:
提取所述通知消息的文字信息;
将所提取到的文字信息插入到所述空白布局帧的预设位置处得到透明的布局帧。
5.根据权利要求1所述的方法,其特征在于,所述接收通知消息,包括:
获取通知消息,所述通知消息包括属性信息;
获取与所述属性信息对应的封装框架;
通过所述封装框架对所述通知消息进行组件封装得到通知组件;
所述根据所述通知消息生成透明的布局帧,包括:
根据所述通知组件生成透明的布局帧。
6.一种通知消息显示装置,所述装置包括:
接收模块,用于接收通知消息,并检测当前显示状态;
全屏状态模块,用于当所述当前显示状态为全屏沉浸状态,获取所述通知消息的优先级;当所述优先级为预设级别时,则获取与所述全屏沉浸状态对应的界面框架;
插入模块,用于根据所述优先级将所述通知消息插入到空白布局帧的预设位置得到透明的布局帧,并将所述透明的布局帧插入到所述界面框架的顶层的所述预设位置;
显示模块,用于根据所述消息的优先级和所述界面框架显示所述通知消息。
7.根据权利要求6所述的装置,其特征在于,所述接收模块包括:
属性获取单元,用于通过第一预设窗口句柄获取当前显示状态的属性值;
状态判定单元,用于当所述属性值标识当前显示状态为全屏沉浸状态,则判定所述当前显示状态为全屏沉浸状态。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810159411.3A CN108376094B (zh) | 2018-02-26 | 2018-02-26 | 通知消息显示方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810159411.3A CN108376094B (zh) | 2018-02-26 | 2018-02-26 | 通知消息显示方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108376094A CN108376094A (zh) | 2018-08-07 |
CN108376094B true CN108376094B (zh) | 2022-03-01 |
Family
ID=63018061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810159411.3A Active CN108376094B (zh) | 2018-02-26 | 2018-02-26 | 通知消息显示方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108376094B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299440B (zh) * | 2018-08-23 | 2024-02-02 | 阿里巴巴(中国)有限公司 | 排版处理方法及装置、计算机设备及可读介质 |
CN109614183A (zh) * | 2018-11-22 | 2019-04-12 | 维沃移动通信有限公司 | 一种消息显示方法及终端设备 |
CN111240538A (zh) * | 2018-11-29 | 2020-06-05 | 深圳市优必选科技有限公司 | 导航条控制方法及终端设备 |
CN109726027B (zh) * | 2018-12-30 | 2021-05-18 | 联想(北京)有限公司 | 消息查看方法、装置及电子设备 |
CN109933403B (zh) * | 2019-03-27 | 2024-01-09 | 努比亚技术有限公司 | 沉浸界面检测方法、装置、智能终端及可读存储介质 |
CN110109663B (zh) * | 2019-03-28 | 2024-03-29 | 武汉斗鱼鱼乐网络科技有限公司 | 一种设置全屏的方法及相关装置 |
CN112181553A (zh) * | 2020-09-07 | 2021-01-05 | 珠海格力电器股份有限公司 | 一种通知显示方法、装置、可读存储介质和计算机设备 |
CN112685122B (zh) * | 2020-12-31 | 2022-05-31 | 联想(北京)有限公司 | 一种信息处理方法、电子设备和计算机可读存储介质 |
CN114710587A (zh) * | 2022-05-31 | 2022-07-05 | 荣耀终端有限公司 | 沉浸模式的开启方法和相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955330A (zh) * | 2014-05-08 | 2014-07-30 | 可牛网络技术(北京)有限公司 | 一种信息显示方法及装置 |
CN104360794A (zh) * | 2014-11-21 | 2015-02-18 | 北京奇虎科技有限公司 | 通过识别全屏模式控制窗口弹出的方法及装置 |
-
2018
- 2018-02-26 CN CN201810159411.3A patent/CN108376094B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955330A (zh) * | 2014-05-08 | 2014-07-30 | 可牛网络技术(北京)有限公司 | 一种信息显示方法及装置 |
CN104360794A (zh) * | 2014-11-21 | 2015-02-18 | 北京奇虎科技有限公司 | 通过识别全屏模式控制窗口弹出的方法及装置 |
Non-Patent Citations (2)
Title |
---|
Android对话框Dialog,PopupWindow,Toast的实现机制;程序员人生;《http://www.wfuyu.com/technology/25275.html》;20160509;全文 * |
DecorView实现对话框;大批;《https://www.jianshu.com/p/cbeda0a58b21》;20170408;第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108376094A (zh) | 2018-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108376094B (zh) | 通知消息显示方法、装置、计算机设备和存储介质 | |
EP3567476B1 (en) | Application data processing method and apparatus, and storage medium | |
US11467855B2 (en) | Application preloading method and device, storage medium and terminal | |
CN106155454B (zh) | 一种界面显示方法、装置及电子设备 | |
CN107748686A (zh) | 应用程序的启动优化方法、装置、存储介质及智能终端 | |
CN108848142B (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
US10810698B2 (en) | Information processing method and client | |
US11061558B2 (en) | Touch operation response method and device | |
CN107608550B (zh) | 触摸操作响应方法及装置 | |
CN108304234B (zh) | 一种页面展示方法及装置 | |
US11551392B2 (en) | Graphic drawing method and apparatus, device, and storage medium | |
US20200218393A1 (en) | Method for Responding to Touch Operation, Mobile Terminal, and Storage Medium | |
CN110442267B (zh) | 触摸操作响应方法、装置、移动终端及存储介质 | |
US20200210047A1 (en) | Method for Responding to Touch Operation, Mobile Terminal, and Storage Medium | |
CN112130729B (zh) | 页面处理方法、装置、计算机设备和存储介质 | |
US20150121301A1 (en) | Information processing method and electronic device | |
CN110019464B (zh) | 页面处理方法及装置 | |
CN106909393B (zh) | 一种输入法面板的显示调整方法及移动终端 | |
CN112835485A (zh) | 应用界面处理方法、装置、电子设备及可读存储介质 | |
WO2019047183A1 (zh) | 按键显示方法、装置及终端 | |
CN111767002A (zh) | 页面展示方法、装置、设备及存储介质 | |
CN112612436A (zh) | 一种投屏切换方法、装置、设备及存储介质 | |
CN110516218A (zh) | 表格的生成方法、终端和计算机可读存储介质 | |
CN107045546B (zh) | 一种网页处理方法、装置及智能终端 | |
CN110795172A (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 |