CN117880412A - 横幅通知消息的显示方法与电子设备 - Google Patents
横幅通知消息的显示方法与电子设备 Download PDFInfo
- Publication number
- CN117880412A CN117880412A CN202211232886.3A CN202211232886A CN117880412A CN 117880412 A CN117880412 A CN 117880412A CN 202211232886 A CN202211232886 A CN 202211232886A CN 117880412 A CN117880412 A CN 117880412A
- Authority
- CN
- China
- Prior art keywords
- window
- message
- application
- electronic device
- notification message
- 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
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000004590 computer program Methods 0.000 claims description 12
- 238000007726 management method Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 238000007667 floating Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- H04M1/72436—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 for text messaging, e.g. short messaging services [SMS] or e-mails
-
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- 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
-
- 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/72427—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Abstract
本申请提供一种横幅通知消息的显示方法与装置。本申请提供的横幅通知消息的显示方法包括:第一电子设备获取到包括消息内容和消息包名的横幅通知消息后,若该消息包名对应的应用的窗口处于显示状态,则在消息包名对应的应用的窗口的显示区域中显示消息内容。本申请提供的横幅通知消息的显示方法,可以实现将横幅通知消息显示在产生该横幅通知消息的应用的窗口中,从而使得即使在与第一电子设备处于协同工作状态的协同设备上没有显示第一电子设备的系统界面窗口时,也可以使得用户立即获知该横幅通知消息,以及即使是在第一电子设备处于多窗口工作状态时,可以让用户准确获知该横幅通知消息的来源,从而提升用户体验。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种横幅通知消息的显示方法与电子设备。
背景技术
随着手机等智能电子设备的发展,电子设备的功能越来越强。目前,电子设备检测到应用程序(application,APP)产生的通知消息时,电子设备可以通过横幅通知的方式显示该通知消息,以便于用户能够及时获知该通知消息。
目前,电子设备通过横幅通知的方式显示应用的通知消息的一种方式如下:电子设备在系统界面上显示该通知消息。例如,参见图1,电子设备100接收到微信消息时,电子设备100可以在系统界面上显示横幅通知消息,以便用户可以及时获取该微信消息。
但是,该横幅通知消息的显示方法存在如下技术问题:电子设备与其他设备多窗口协同工作时,若协同设备上没有显示电子设备的系统界面窗口,则协同设备不能显示横幅通知消息,从而影响用户及时获知该横幅通知消息;电子设备处于多窗口工作状态时,用户不能准确获知该横幅通知消息所属的应用。
例如,在多屏协同场景中,如图2所示,当电子设备200将当前的用户界面投屏至电子设备300时,电子设备300中除了可以显示当前的用户界面,电子设备300中还可以支持同时显示其他应用窗口,如图2中的电子设备300中还支持同时显示微信窗口。此时,若微信应用收到一条通知消息,则会在用户界面上展示横幅通知消息。但若此时,若用户将电子设备200放置在旁边且将用户界面在电子设备300所属的窗口最小化,那么就会出现用户无法即时感知到横幅通知消息的情况。
又例如,如图3所示,在电子设备400可以同时支持至少一个悬浮窗的窗口化应用的场景下,若此时终端设备中的某个应用程序接收到了一条通知,那么电子设备400会在系统界面上显示横幅通知消息,但是会存在用户无法立即感知到该横幅通知消息具体来源于哪个应用程序,导致体验感不佳。
因此,需要一种新的横幅通知消息的显示方法,使得即使是在上述场景中,也可以让用户立即知晓,从而提升用户体验。
发明内容
本申请提供了一种横幅通知消息的显示方法与电子设备,使得横幅通知消息可以显示在产生该横幅通知消息的应用的窗口中,从而使得即使在协同设备上没有显示第一电子设备的系统界面窗口时,也可以使得用户立即获知该横幅通知消息,以及即使是在第一电子设备处于多窗口工作状态时,也可以让用户准确获知该横幅通知消息的来源,从而提升用户体验。
第一方面,本申请提供一种横幅通知消息的显示方法,应用于第一电子设备,包括:获取横幅通知消息,横幅通知消息中包括消息内容和消息包名;当消息包名对应的应用的窗口处于显示状态时,在窗口的显示区域中显示消息内容。
本实施例提供的横幅通知消息的显示方法中,第一电子设备在获取到横幅通知消息时,首先基于横幅通知消息中包括的消息包名确定出该横幅通知消息来自的应用,然后当该应用的窗口处于显示状态时,将横幅通知消息中的消息内容通过横幅通知的方式显示在该应用的窗口中。其中,应用的窗口处于显示状态可以理解为是能够被用户看得见的窗口,本实施例中也将应用的窗口处于显示状态称为应用的窗口处于前台。
即,本实施例中,不再让横幅通知消息依附第一电子设备的系统界面中的固定位置进行显示,而是让横幅通知消息依赖于具体的应用窗口,以跟随应用窗口进行显示,从而使得即使在协同设备上没有显示第一电子设备的系统界面窗口时,也可以使得用户立即获知该横幅通知消息,以及即使是在第一电子设备处于多窗口工作状态时,也可以让用户准确获知该横幅通知消息的来源,从而提升用户体验。
结合第一方面,在一种可能的实现方式中,所述方法还包括:消息包名对应的应用的窗口处于关闭状态或隐藏状态时,在第一电子设备当前显示的界面中预设位置显示消息内容。
其中,应用的窗口处于关闭状态可以认为是指应用的窗口没有打开从而不能被用户感知的状态。应用的窗口处于隐藏状态可以认为是指应用的窗口已经打开但由于最小化等原因不能被用户感知的状态。
该实现方式中,当第一电子设备确定出消息包名对应的应用的窗口处于关闭状态或隐藏状态时,第一电子设仍会在第一电子设备当前显示的界面中的预设位置通过横幅通知的方式显示消息内容,以能够将通知消息通知给用户。
结合第一方面,在一种可能的实现方式中,在窗口的显示区域中显示消息内容,包括:在消息包名对应的应用的窗口组件中添加第一控件,第一控件中包含消息内容;基于应用的窗口组件显示应用的窗口。
在该实现方式中,由于将第一控件添加到了窗口组件中,因此可以实现将横幅通知显示的消息内容和应用的窗口组件合成一个图层,从而实现将横幅通知消息中的消息内容显示在应用的窗口中。
结合第一方面,在一种可能的实现方式中,消息包名对应的应用的窗口显示在第二电子设备中,所述方法还包括:向第二电子设备发送应用的窗口组件,第二电子设备与第一电子设备处于多窗口协同工作的状态。
其中,第一电子设备与第二电子设备处于多窗口协同工作的状态,例如第一电子设备与第二电子设备处于多屏协同的状态。
该实现方式中,第一电子设备通过向第二电子设备发送添加第一空间后的应用的窗口组件,以使得第二电子设备可以将横幅通知消息中的消息内容显示在应用的窗口中。
结合第一方面,在一种可能的实现方式中,消息包名对应的应用的窗口不同于第一电子设备当前显示的界面在第二电子设备中的窗口。
该实现方式中,由于消息包名对应的应用的窗口不同于第一电子设备当前显示的界面在第二电子设备中的窗口,因此,无论第一电子设备当前显示的界面在第二电子设备中的窗口的状态如何(例如无论是关闭的、或者是窗口最小化的、又或者是显示的),都可以实现让用户即时感知到横幅通知消息中的消息内容。
结合第一方面,在一种可能的实现方式中,在窗口的显示区域中显示消息内容,包括:计算消息包名对应的应用的窗口在窗口所属的屏幕中的显示区域;创建第二控件,第二控件中包含消息内容;在显示区域内基于第二控件进行显示。
该实现方式中,第一电子设备在获得消息包名对应的应用并在该应用的窗口处于显示状态时,会通过计算该应用的窗口的显示区域,然后在通过创建第二消息控件的方式以将横幅通知消息的消息内容显示在该应用的窗口中。
第二方面,本申请提供一种横幅通知消息的装置,应用于第一电子设备,包括:获取模块,用于获取横幅通知消息,横幅通知消息中包括消息内容和消息包名;显示模块,用于所述消息包名对应的应用的窗口处于显示状态时,在所述窗口的显示区域中显示所述消息内容。
结合第二方面,在一种可能的实现方式中,所述显示模块还用于:消息包名对应的应用的窗口处于关闭状态或隐藏状态时,在电子设备当前显示的界面中预设位置显示所述消息内容。
结合第二方面,在一种可能的实现方式中,所述显示模块具体用于:在消息包名对应的应用的窗口组件中添加第一控件,第一控件中包含所述消息内容;基于应用的窗口组件显示应用的窗口。
结合第二方面,在一种可能的实现方式中,所述消息包名对应的应用的窗口显示在第二电子设备中,所述显示模块还用于:向所述第二电子设备发送所述应用的窗口组件,所述第二电子设备与所述第一电子设备处于多窗口协同工作的状态。
结合第二方面,在一种可能的实现方式中,所述消息包名对应的应用的窗口不同于所述第一电子设备当前显示的界面在所述第二电子设备中的窗口。
结合第二方面,在一种可能的实现方式中,所述显示模块具体用于:计算消息包名对应的应用的窗口在窗口所属的屏幕中的显示区域;创建第二控件,第二控件中包含所述消息内容;在显示区域内基于所述第二控件进行显示。
第三方面,本申请提供一种电子设备,包括:存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使得所述电子设备执行第一方面或其中任意一种可能的实现方式中所述的方法。
第四方面,本申请提供一种计算机可读介质,所述计算机可读介质存储用于计算机执行的程序代码,该程序代码包括用于执行第一方面或其中任意一种可能的实现方式中所述的方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得所述计算机实现第一方面或其中任意一种可能的实现方式中所述的方法。
附图说明
图1为本申请提供的现有的一种横幅通知消息的显示示意图;
图2为本申请提供的现有的另一种横幅通知消息的显示示意图;
图3为本申请提供的现有的又一种横幅通知消息的显示示意图;
图4为本申请提供的现有的一种横幅通知消息的显示示意图;
图5为本申请提供的现有的一种横幅通知消息进行显示时的软件实现方案的示意图;
图6为本申请实施例提供的一种电子设备的结构示意图;
图7为本申请实施例提供的电子设备的一种软件架构示意图;
图8为本申请一个实施例提供的横幅通知消息的显示方法的流程性示意图;
图9为本申请提供的一种横幅通知消息的显示示意图;
图10为本申请提供的另一种横幅通知消息的显示示意图;
图11为本申请提供的又一种横幅通知消息的显示示意图;
图12为本申请一个实施例提供的横幅通知消息实例与应用实例之间的关系示意图;
图13为本申请一个实施例提供的应用的窗口组件的结构示意图;
图14为本申请一个实施例中提供的将横幅通知消息显示在应用的窗口时对应的软件上的实现示意图;
图15为本申请另一个实施例提供的将横幅通知消息显示到应用的窗口的示意图;
图16为本申请提供的在投屏场景下的一种横幅通知的显示方法的示意性流程图;
图17为本申请提供的在投屏场景下的另一种横幅通知的显示方法的示意性流程图;
图18为本申请一个实施例提供的横幅通知消息的显示装置的结构示意图;
图19为本申请一个实施例提供的横幅通知消息的显示装置的结构示意图。
具体实施方式
为了更好地理解本申请实施例的技术方案,下面先对本申请实施例中使用到的一些概念进行介绍。
1、多屏协同
多屏协同是一种多设备之间的跨屏协作技术,多屏协同技术一般是指基于无线状态下的不同设备属性之间的任务协作,如在手机、平板电脑和笔记本之间。多屏协同区别于传统多显示屏连接的最大不同主要是无线和跨系统两点,例如可以使用NFC技术使得两个独立设备快速配对,并通过无线网络技术将手机和笔记本进行连接,使得笔记本屏幕上能够实时显示手机屏幕的内容,且可以直接通过触控或者键鼠对手机端进行操作,手机端和电脑端屏幕的内容是完全实时同步的,在多屏协同状态下也可也正常操作手机。多屏协同能够使手机和PC的文件无缝传输,两个设备间通过网络而非蓝牙传输数据,传输效率更高。由于手机和设备之间的操作是完全同步的,所以无法同时在手机和PC上对手机屏幕进行不同的操作。
2、系统界面
系统界面(System UI),包括了通知中心的消息(Notification),界面上方的状态栏(status bar),下方的导航栏(Navigation Bar),锁屏界面(Keyguard),电源界面(PowerUI),近期任务界面(Recent Task)等等。对于用户而言,System UI是能直观感受到的。
3、横幅通知
横幅通知,也称为提醒式通知,适用于用户应该立即知晓的通知,它会短暂地悬浮在当前电子设备系统界面(System UI)上,等到显示时间耗尽或用户上划后消失,随后仍显示在通知抽屉中。
下面,结合图1至图4,说明本申请实施例的应用场景。
随着手机等智能电子设备的发展,电子设备的功能越来越强。目前,电子设备检测到应用程序(application,APP)产生的通知消息时,电子设备可以通过横幅通知的方式显示该通知消息,以便于用户能够及时获知该通知消息。
在此说明的是,本实施例中,也将电子设备称为终端设备。
目前,电子设备通过横幅通知的方式显示应用的通知消息的一种方式如下:电子设备在系统界面上显示该通知消息。例如,参见图1,电子设备100接收到微信消息时,电子设备100可以在系统界面上显示横幅通知消息,以便用户可以及时获取该微信消息。
但是,该横幅通知消息的显示方法存在如下技术问题:电子设备与其他设备多窗口协同工作时,若协同设备上没有显示电子设备的系统界面窗口,则协同设备不能显示横幅通知消息,从而影响用户及时获知该横幅通知消息;电子设备处于多窗口工作状态时,用户不能准确获知该横幅通知消息所属的应用,从而使得用户的体验感不佳。
示例性地,在电子设备与其他设备多窗口协同工作时,如图2所示,当电子设备200将当前的用户界面投屏至电子设备300时,电子设备300中除了可以显示当前的用户界面,电子设备300中还可以支持同时显示其他应用窗口,如图2中的电子设备300中还支持同时显示微信窗口。此时,若微信应用收到一条通知消息,则会在用户界面上展示横幅通知消息。但若此时,用户将电子设备200放置在旁边且将用户界面在电子设备300所属的窗口最小化,那么就会出现用户无法即时感知到横幅通知的情况,从而导致用户的体验感不佳。
又例如,如图3所示,在电子设备400可以同时支持至少一个悬浮窗的窗口化应用的场景下,若此时电子设备中的某个应用程序接收到了一条通知,那么电子设备400会在系统界面上显示横幅通知消息,但是会存在用户无法立即感知到该横幅通知消息具体来源于哪个应用程序,从而导致用户的体验感不佳。
又例如,如图4所示,在电子设备500投屏至显示器600的生产力桌面场景下,显示器上的桌面已经是另一种显示画面,与手机500上显示的内容不相关。此时,若在显示器端(也称为投屏端)打开了微信应用,并且好友回复了一条微信消息。此时的横幅通知消息仅能显示在手机端的系统界面上,使得用户无法即时感知到横幅通知消息的情况,从而导致用户的体验感不佳。
具体地,当前的电子设备在将APP的通知消息通过横幅通知消息的方式进行显示时的软件实现方案如图5所示,其中,APP作为客户端将通知消息发送给电子设备中的通知管理模块(例如为Notification Manager模块),然后通知管理模块对该通知消息进行管理和运行并发送给通知管理服务模块(例如为Notification Manager Service模块),该通知管理服务模块负责与系统界面模块交互,以使得通过系统界面模块显示横幅通知。可以看出,当前的电子设备在将横幅通知进行显示时,依赖于System UI进程。
在此说明的是,本实施例对APP的具体形态不做限制。例如可以是微信、或者是支付宝、又或者是其他第三方应用程序。
在此说明的是,本申请实施例中,在投屏场景中,对两个电子设备之间采用的具体投屏方式不做限制。例如,可以通过有线的方式进行投屏、或者可以通过无线的方式进行投屏、又或者可以通过近场通信(near field communication,NFC)等。
综上所述,电子设备通过横幅通知的本意时为了悬浮在窗口上,以使得一些重要的通知立即让用户知晓。但是针对多窗口、投屏等场景,由于横幅通知消息显示依赖于System UI进程,导致用户无法立即感知应用产生的通知消息,从而导致用户的体验感不佳。
因此,需要一种新的横幅通知消息的显示方法,使得即使是在上述场景中,也可以让用户立即知晓,从而提升用户体验。
下面,介绍本申请实施例提出的横幅通知消息的显示方法。为了能够更好地理解本申请实施例,下面对本申请实施例的电子设备的硬件结构进行介绍。示例性地,图6为本申请实施例提供的一种电子设备的结构示意图。在此说明的是,本实施例中,也将电子设备称为终端设备。
电子设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,传感器模块180,按键190,指示器192,摄像头193,以及显示屏194等。
可选地,上述传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对终端设备的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110中还可以设置存储器,用于存储指令和数据。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备充电,也可以用于终端设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块141用于连接充电管理模块140与处理器110。
终端设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端设备中的天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在终端设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
无线通信模块160可以提供应用在终端设备上的包括无线局域网(wirelesslocalarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM)等无线通信的解决方案。
终端设备通过GPU,显示屏194以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。
显示屏194用于显示图像,视频等。显示屏194包括显示面板、背光、偏压电路以及PD。在一些实施例中,终端设备可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
摄像头193用于捕获静态图像或视频。在一些实施例中,终端设备可以包括1个或N个摄像头193,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。
终端设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定终端设备的运动姿态。气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。加速度传感器180E可检测终端设备在各个方向上(一般为三轴)加速度的大小。距离传感器180F,用于测量距离。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。环境光传感器180L用于感知环境光亮度。指纹传感器180H用于采集指纹。温度传感器180J用于检测温度。触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。骨传导传感器180M可以获取振动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备可以接收按键输入,产生与终端设备的用户设置以及功能控制有关的键信号输入。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
在此说明的是,本申请的实施例对电子设备所采用的具体技术和具体设备形态不做限定。例如,该电子设备可以为手机、平板电脑、个人计算机(personal computer,PC)、智慧屏、人工智能(artificial intelligence,AI)音箱、车机设备以及智能手表等可穿戴终端设备,还可以是各种教学辅助工具(例如学习机、早教机)、智能玩具、便携式机器人、个人数字助理(personal digital assistant,PDA)、增强现实技术(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备等,也可以是具有移动办公功能的设备、具有智能家居功能的设备、具有影音娱乐功能的设备、支持智能出行的设备等。
电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。分层架构可以采用安卓(Android)系统,也可以采用苹果(IOS)系统,还可以采样其他操作系统,本申请实施例对此不作限定。下面以分层架构的Android系统为例,示例性说明电子设备的软件结构。
图7为本申请实施例适用的一种电子设备的软件结构框图。分层架构将终端设备的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将Android系统分为四层,从上到下依次为应用程序层(applications)、应用程序框架层(application framework)、安卓运行时(Androidruntime)和系统库、硬件抽象层以及内核层(kernel)。
应用程序层可以包括一系列应用程序包,应用程序层通过调用应用程序框架层所提供的应用程序接口(application programming interface,API)运行应用程序。如图7所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,蓝牙,音乐,视频,短信等应用程序。
应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。
如图7所示,应用程序框架层可以包括窗口管理器,活动管理器、通知管理器、包管理器、资源管理器、应用程序管理器、电话管理器等等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
活动管理器用于管理各个应用程序的生命周期以及导航回退功能,负责Android的主线程创建,各个应用程序的生命周期的维护。活动管理服务包括进程列表,远程回调接口,进程优先级控制器等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
包管理器用于系统内的程序管理,例如:应用程序安装、卸载和升级等。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
电话管理器用于管理移动设备功能,包括:手机通话状态、获取电话信息(设备、sim卡、网络信息),监听电话状态以及调用电话拨号器拨打电话。
安卓系统运行时包括核心库和虚拟机。安卓系统运行时负责安卓系统的调度和管理。核心库包含两部分:一部分是Java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的Java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。虚拟机中还运行有显示合成进程(例如,surface flinger)。显示合成进程用于控制图像的合成。
系统库可以包括多个功能模块。例如:图像绘制模块、图像渲染模块、图像合成模块、函数库和媒体库等。
图像绘制模块用于二维或三维图像的绘制。图像渲染模块用于二维或三维图像的渲染。图像合成模块用于二维或三维图像的合成。
可能的实现方式中,应用通过图像绘制模块对图像进行绘制,然后应用通过图像渲染模块对绘制后的图像进行渲染,然后应用将渲染后的图像发送至显示合成进程的缓存队列中。每当Vsync到来时,显示合成进程(例如,surface flinger)从缓存队列中按顺序获取待合成的一帧图像,然后通过图像合成模块进行图像合成。
函数库提供C语言中所使用的宏、类型定义、字符串操作函数、数学计算函数以及输入输出函数等
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
硬件抽象层,可以包含多个库模块,库模块如可以为硬件配置模块(hwcomposer,HWC)、摄像头库模块等。Android系统可以为设备硬件加载相应的库模块,进而实现应用程序框架层访问设备硬件的目的。设备硬件可以包括如电子设备中的LCD屏幕、摄像头等。
内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层至少包含显示驱动,屏幕驱动、摄像头驱动以及传感器驱动等,本申请实施例对此不做限制。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
此外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,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可以是单个,也可以是多个。
图8示出了本申请实施例提供的一种横幅通知消息的显示方法。如图8所示,本实施例中的方法包括:S801和S802。本实施例提供的方法可以由图6或图7所示的电子设备执行。
S801,第一电子设备获取横幅通知消息,横幅通知消息中包括消息内容和消息包名。
应理解,在第一电子设备中的APP产生通知消息后,第一电子设备可以将该通知消息封装成需要显示的横幅通知消息,然后基于该横幅通知消息,通过横幅通知的方式向用户显示通知消息的消息内容。其中,本实施例对APP的具体形态不做限制。例如可以是聊天软件、或者可以是音乐软件等。
具体地,本实施例中,第一电子设备获取到的横幅通知消息中会包括通知消息的消息内容和通知消息的消息包名。可选地,本申请中的第一电子设备获取到的横幅通知消息中还可以包括更多的内容,例如还可以包括通知消息的消息图标等。
S802,在消息包名对应的应用的窗口处于显示状态时,在窗口的显示区域中显示消息内容。
应理解,消息包名通常可以用于指示通知消息的来源,即指示通知消息是来自哪个应用软件的。还应理解,不同的消息包名通常可以指示不同的应用软件。
因此,本实施例中,第一电子设备在基于横幅通知消息,通过横幅通知的方式显示通知消息的消息内容时,首先会基于横幅通知消息中的消息包名确定出该横幅通知消息来自的应用程序,然后判断该应用程序的窗口是否处于显示状态。其中,此处所述的显示状态可以认为该应用程序的窗口为可以被用户看见;当确定应用程序的窗口处于显示状态时,便将通知消息的消息内容通过横幅通知显示在该应用程序的窗口中,即不是将横幅通知显示在系统界面的固定位置,而是跟随应用程序的窗口。
应理解,当使用本申请实施例提供的横幅通知消息的显示方法时,即使是在第一电子设备与其他设备处于多窗口协同工作的场景下,也能够让用户及时获知该横幅通知消息。以及即使是在第一电子设备处于多窗口工作状态的场景下,也能够让用户准确获知该横幅通知消息所属的应用。
示例性地,以图2所示的电子设备200和电子设备300进行多屏协同工作的场景为例,当采用本申请实施例提供的横幅通知显示方法时,如图9所示,当电子设备200将当前的用户界面投屏至电子设备300时,此时,若微信应用收到一条通知消息,则电子设备200在基于通知消息获得横幅通知消息后,会先基于该横幅通知消息中的消息包名确定出在使用横幅通知方式显示通知消息的消息内容时该消息内容来源于微信应用程序,然后由于当前的微信应用程序的窗口处于显示状态,因此会将通知消息的消息内容通过横幅通知显示在微信的窗口中,而不是显示在当前用户界面中。
可以看出,在该方式中,虽然消息包名对应的微信的窗口不同于电子设备200当前显示的界面在电子设备300中的窗口,此时,即使用户将电子设备200放置在旁边且将电子设备200当前显示的界面在电子设备300中所属的窗口最小化,那么用户也可以即时感知到横幅通知消息的情况,从而提升用户体验感。
示例性地,以图3所示的电子设备400可以同时支持至少一个悬浮窗的窗口化应用的场景为例,当采用本申请实施例提供的横幅通知显示方法时,如图10所示,若此时微信应用收到一条通知消息,则电子设备400在基于通知消息获得横幅通知消息后,会先基于该横幅通知消息中的消息包名确定出在使用横幅通知方式显示通知消息的消息内容时该消息内容来源于微信应用程序,然后由于当前的微信应用程序的窗口处于显示状态,因此会将通知消息的消息内容通过横幅通知显示在微信的窗口中。
可以看出,在该方式中,由于直接将微信应用的横幅通知显示在了微信的窗口中,而不是显示在当前用户界面的固定位置处,因此可以使得用户知道立即知晓该横幅通知具体来源于哪个应用程序,从而提升用户体验感。
应理解,在该场景下,若电子设备400当前的用户界面可以同时支持悬浮窗的窗口大于1个时,在使用本申请的将横幅通知消息显示在对应的应用的窗口时,可以使得用户区分横幅通知具体来源于哪个应用的体验更明显。
示例性地,以图4所示的电子设备500投屏至显示器600的生产力桌面场景下,显示器上的桌面已经是另一种显示画面,与手机500上显示的内容不相关。如图11所示,此时,在显示器端(也称为投屏端)打开了微信应用,若此时微信应用收到了一条通知消息,则电子设备500在基于通知消息获得横幅通知消息后,会先基于该横幅通知消息中的消息包名确定出在使用横幅通知方式显示通知消息的消息内容时该消息内容来源于微信应用程序,然后由于当前的微信应用程序的窗口处于显示状态,因此会将通知消息的消息内容通过横幅通知显示在微信的窗口中。
可以看出,在该场景下,即使显示器上的桌面已经是另一种显示画面,但用户仍可以感知到横幅通知,并且可以立即知晓该横幅通知中的消息内容来自于微信应用程序,从而提升了用户的体验感。
本实施例提供的横幅通知消息的显示方法中,第一电子设备在获取到横幅通知消息时,首先基于横幅通知消息中包括的消息包名确定出该横幅通知消息来自的应用,然后当该应用的窗口处于显示状态时,将横幅通知消息中的消息内容通过横幅通知的方式显示在该应用窗口中。
下面,说明一种横幅通知消息的显示方法的详细实施方式。
步骤一:第一电子设备获取横幅通知消息来源,实现横幅通知消息与应用一对一绑定。
如图12所示,一个通知记录(例如也称为NotificationRceord)指一个具体的横幅通知消息实例,横幅通知消息实例中包含了消息内容、消息包名等内容(可选地,还可以包括消息图标等);活动栈(例如也称为ActivityStack)指具体的应用实例,每个应用实例对应一个栈,对应一个任务(Task),然后到具体的活动记录(例如也称为ActivityRceord)页面,任务标识(本实施例中也称为TaskId)就是用于标识一个Task,可以作为应用的一个数据结构的唯一标识。
本实施例中,在消息实例中增加一个任务标识(TaskId)字段,用于与ActivityStack建立唯一标识的联系。具体实现为在产生一个NotificationRceord时,根据NotificationRceord中的消息包名,寻找对应的TaskId,并将得到的TaskId赋值到NotificationRceord。
步骤二:第一电子设备实现横幅通知消息跟随应用窗口显示。
可以理解的是,第一设备实现横幅通知消息跟随应用窗口显示也可以认为是在应用的窗口的显示区域中显示横幅通知消息中的消息内容。
在第一种实施方案中,可以包括:在消息包名对应的应用的窗口组件(例如为Activity)中添加第一控件(例如也称为NotificationView控件),第一控件中包含消息内容;然后基于应用的窗口组件显示应用的窗口。
示例性地,如图13所示,应用的窗口组件中包括不同的控件,例如图中的第三控件(例如为PhoneWindow控件)、第四控件(例如为DecorView控件)、第五控件(例如为ContentView控件),其中,不同的控件可以执行不同的服务,然后在应用的窗口组件新增第一控件(例如称为NotificationView控件)以用于显示横幅通知消息的具体内容,从而跟随应用进程再窗口组件中绘制显示内容。可选地,在该实现方式中,若确定出应用的窗口是显示在第二电子设备(第二电子设备与所述第一电子设备处于多窗口协同工作的状态)中的,那么本实施例中的方法还包括:向所述第二电子设备发送所述应用的窗口组件,以使得第二电子设备可以将横幅通知消息中的消息内容显示在应用的窗口中。
更具体地,图14为该实施例中的第一电子设备将横幅通知消息显示在应用的窗口时对应的软件上的实现示意图,主要涉及在应用程序框架层和应用程序层。如图14所示,包括:
S1401,当应用程序APP产生通知消息时,通过调用第一服务(例如为notify),以进入通知管理模块。
本实施例中,第一服务可以认为是需要进入通知管理模块中时需要使用的服务。
S1402,通知管理模块调用第二服务(例如enqueNotificationWithTag),以将通知消息发送给通知管理.Stub模块(例如NotificationManager.Stub)。
本实施例中,第二服务可以认为是需要进入通知管理.Stub模块中时需要使用的服务。
S1403,通知管理.Stub模块调用第三服务(例如enqueNotificationInternal),以将通知消息发送给通知管理服务模块(例如NotificationManagerService)。
本实施例中,第三服务可以认为是需要进入通知管理服务模块中时需要使用的服务。
S1404,通知管理服务模块调用创建消息实例服务,以将通知消息发送给通知记录模块(NotificationRecord),从而获得横幅通知消息。
其中,通知记录模块会基于通知消息产生横幅通知消息,并将该横幅通知消息返回给通知管理服务模块。
S1405,通知管理服务模块调用第四服务获得通知消息包名对应的任务标识,并在横幅通知消息中加入该任务标识。
本实施例中,第四服务为可以基于消息包名获得对应的应用的任务标识的服务。
S1406,通知管理服务模块调用第五服务(例如notifyPostedLocked),以将加入任务标识之后的横幅通知消息发送给通知监听模块。
本实施例中,第五服务可以认为是通知管理服务需要进入通知监听模块时需要使用的服务。
S1407,通知监听模块调用第六服务(例如onNotificationPosted),以将加入任务标识之后的横幅通知消息发送给第一目标模块(例如称为HwPCManagerService)。
其中,第六服务可以认为是通知监听模块需要进入第一目标模块并将加入任务标识之后的横幅通知消息发送给第一目标模块时需要使用的服务。
S1408,第一目标模块调用第七服务(例如updateNotificationView),以将加入任务标识之后的横幅通知消息发送给通知可视管理模块(例如称为NotificationViewManager)。
其中,第七服务可以理解为是第一目标模块需要进入NotificationViewManager并将加入任务标识之后的横幅通知消息发送给NotificationViewManager时所需要使用的服务。
S1409,通知可视管理模块调用第八服务,以将加入任务标识之后的横幅通知消息发送给通知可视模块(NotificationView),以使得NotificationView基于加入任务标识之后的横幅通知消息中的任务标识确定出横幅通知消息对应的应用,并在应用的窗口中显示横幅通知消息。
可以看出,本实施例中,第一电子设备中的APP作为客户端将通知消息发送给电子设备中的通知管理模块(例如为Notification Manager模块),然后通知管理模块对该通知消息进行管理和运行并发送给通知管理服务模块(例如为Notification Manager Service模块)后,Notification Manager Service模块在基于通知消息获得横幅通知消息后,不再需要依赖于系统界面进程,而是通过获取横幅通知消息对应的任务标识以获得该横幅通知消息对应的应用,然后在该应用的窗口中显示横幅通知消息。
可以理解的是,在该实施方案中,由于将第一控件添加到了Activity中,因此第一电子设备可以将横幅通知显示的消息内容和应用的窗口组件合成一个图层,从而实现将横幅通知消息中的消息内容显示在应用的窗口中。
在第二种实施方案中,可以包括:计算消息包名对应的应用的窗口的显示区域;创建第二控件,第二控件中包含消息内容;在显示区域内基于第二控件进行显示。
示例性地,如图15所示,第一电子设备可以先实时计算与消息包名对应的应用的窗口在显示屏幕中的位置(即应用的窗口的显示区域),然后创建一个独立的第二控件,该第二控件中包括横幅通知消息中需要显示的消息内容,最后可以通过窗口管理服务(window manager service)模块在显示区域中基于第二控件进行显示,以实现在应用窗口中显示需要通知的消息内容。在此说明的是,本实施例对计算与消息包名对应的应用的窗口在显示屏幕中的位置的具体计算方式不做限制,例如可以以显示屏幕的左上角作为坐标原点构建二维坐标系,然后分别计算出应用的窗口的四个角相对坐标原点的坐标值(x,y),以获得与消息包名对应的应用的窗口的显示区域。
可选地,本申请提供的横幅通知的显示方法还包括:在消息包名对应的应用的窗口处于关闭状态或隐藏状态时,在第一电子设备当前显示的界面中预设位置显示消息内容。
其中,应用的窗口处于关闭状态可以认为是指应用的窗口没有打开从而不能被用户感知的状态。应用的窗口处于隐藏状态可以认为是指应用的窗口已经打开但由于最小化等原因不能被用户感知的状态。
该实现方式中,当第一电子设备确定出消息包名对应的应用的窗口处于关闭状态或隐藏状态时,第一电子设仍会在第一电子设备当前显示的界面中的预设位置通过横幅通知的方式显示消息内容,以能够将通知消息通知给用户。即,在当第一电子设备确定出消息包名对应的应用的窗口处于关闭状态或隐藏状态时,第一电子设备仍通过系统界面来显示横幅通知消息。
下面,以投屏场景为例,说明在投屏场景下的一种横幅通知的显示方法的示意性流程图。
如图16所示,当第一电子设备检测到横幅通知消息时,第一电子设备执行S1601:判断横幅通知消息中的消息包名对应的应用是否窗口化,若是,执行S1602,否则,执行S1607。
S1602,判断应用的窗口是否为显示状态(即窗口是否在前台),若是,执行S1603,否则,执行S1605。
S1603,在应用的窗口组件中添加第一控件。
其中,有关窗口组件、第一控件的描述可以参考上述实施例中的描述,此处不再赘述。
S1604,更新视图动画。
S1605,基于系统界面进程处理。
也就是说,在横幅通知消息中的消息包名对应的应用没有窗口化、以及即使窗口化但是该应用的窗口不为显示状态时,通过现有的System UI进程进行处理。
S1606,图层合成;
S1607,图层送显。
该实施方式中,在投屏场景下,当第一电子设备检测到横幅通知消息并确定通过横幅通知方式向用户显示通知消息时,若确定横幅通知消息中的消息包名对应的应用的窗口为显示状态,则通过在应用的窗口组件中添加第一控件的方式将消息内容显示在应用窗口中。否则,若确定横幅通知消息中的消息包名对应的应用的窗口不为显示状态,例如应用的窗口没有打开,或者已经打开但是已经缩小化,那么便使用现有的System UI进程进行处理。
下面,仍以投屏场景为例,说明在投屏场景下的另一种横幅通知的显示方法的示意性流程图。
如图17所示,当第一电子设备检测到横幅通知消息时,第一电子设备执行S1701:判断横幅通知消息中的消息包名对应的应用是否窗口化,若是,执行S1702,否则,执行S1706。
S1702,判断应用的窗口是否为显示状态,若是,执行S1703,否则,执行S1706。
S1703,计算应用的窗口在该窗口所属的屏幕中的显示区域。
其中,有关窗口的显示区域的描述可以参考上述实施例中的描述,此处不再赘述。
S1704,添加第二控件。
其中,有关第二控件的详细描述可以参考前述实施例中的描述,此处不再赘述。
S1705,更新视图动画。
S1706,基于系统界面进行处理。
也就是说,在横幅通知消息中的消息包名对应的应用没有窗口化、以及即使窗口化但是该应用的窗口不为显示状态时,通过现有的System UI进程进行处理。
S1707,图层合成;
S1708,图层送显。
该实施方式中,在投屏场景下,当第一电子设备检测到横幅通知消息并确定通过横幅通知方式向用户显示通知消息时,若确定横幅通知消息中的消息包名对应的应用的窗口为显示状态,则通过在添加第二控件的方式将消息内容显示在应用窗口中。否则,若确定横幅通知消息中的消息包名对应的应用的窗口不为显示状态,例如应用的窗口没有打开,或者已经打开但是已经缩小化,那么便使用现有的System UI进程进行处理。
上文中结合图1至图17,详细描述了本申请实施例提供的方法,下面将结合图18和图19,详细描述本申请实施例提供的横幅通知消息的显示装置。
图18示出了本申请实施例提供的显示装置1800的结构性示意图。如图18所示,该电子设备1800包括:获取模块1801和显示模块1802。装置1800可以用于实现前述任意方法实施例中的方法。
作为一个示例,获取模块1801可以用于实现S801,显示模块1802可以用于实现S802。
应理解,这里的终端设备1800以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选的例子中,本领域技术人员可以理解,终端设备1800可以具体为上述方法实施例中的终端设备,或者,上述方法实施例中终端设备的功能可以集成在终端设备1800中,终端设备1800可以用于执行上述方法实施例中与终端设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。
上述终端设备1800具有实现上述方法实施例中终端设备执行的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在本申请的实施例中,图18中的终端设备1800也可以是芯片或者芯片系统,例如:片上系统(system on chip,SoC)。
图19是本申请实施例提供的另一种终端设备1900的示意性框图。该终端设备1900包括处理器1910、收发器1920和存储器1930。其中,处理器1910、收发器1920和存储器1830通过内部连接通路互相通信,该存储器1930用于存储指令,该处理器1920用于执行该存储器1930存储的指令,以控制该收发器1920发送信号和/或接收信号。
应理解,终端设备1900可以具体为上述方法实施例中的终端设备,或者,上述方法实施例中终端设备的功能可以集成在终端设备1900中,终端设备1900可以用于执行上述方法实施例中与终端设备对应的各个步骤和/或流程。可选地,该存储器1930可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器1910可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与终端设备对应的各个步骤和/或流程。
应理解,在本申请实施例中,该处理器1910可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,该计算机程序用于实现上述方法实施例中终端设备对应的方法。
本申请还提供了一种芯片系统,该芯片系统用于支持上述方法实施例中终端设备实现本申请实施例所示的功能。
本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机程序(也可以称为代码,或指令),当该计算机程序在计算机上运行时,该计算机可以执行上述方法实施例所示的终端设备对应的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应所述以权利要求的保护范围为准。
Claims (15)
1.一种横幅通知消息的显示方法,其特征在于,应用于第一电子设备,包括:
获取横幅通知消息,所述横幅通知消息中包括消息内容和消息包名;
所述消息包名对应的应用的窗口处于显示状态时,在所述窗口的显示区域中显示所述消息内容。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述消息包名对应的应用的窗口处于关闭状态或隐藏状态时,在所述第一电子设备当前显示的界面中预设位置显示所述消息内容。
3.根据权利要求1或2所述的方法,其特征在于,所述在所述窗口的显示区域中显示所述消息内容,包括:
在所述消息包名对应的应用的窗口组件中添加第一控件,所述第一控件中包含所述消息内容;
基于所述应用的窗口组件显示所述应用的窗口。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述消息包名对应的应用的窗口显示在第二电子设备中,所述方法还包括:
向所述第二电子设备发送所述应用的窗口组件,所述第二电子设备与所述第一电子设备处于多窗口协同工作的状态。
5.根据权利要求4所述的方法,其特征在于,所述消息包名对应的应用的窗口不同于所述第一电子设备当前显示的界面在所述第二电子设备中的窗口。
6.根据权利要求1或2所述的方法,其特征在于,所述在所述窗口的显示区域中显示所述消息内容,包括:
计算所述消息包名对应的应用的窗口在所述窗口所属的屏幕中的显示区域;
创建第二控件,所述第二控件中包含所述消息内容;
在所述显示区域内基于所述第二控件进行显示。
7.一种横幅通知消息的装置,其特征在于,应用于第一电子设备,包括:
获取模块,用于获取横幅通知消息,所述横幅通知消息中包括消息内容和消息包名;
显示模块,用于所述消息包名对应的应用的窗口处于显示状态时,在所述窗口的显示区域中显示所述消息内容。
8.根据权利要求7所述的装置,其特征在于,所述显示模块还用于:
所述消息包名对应的应用的窗口处于关闭状态或隐藏状态时,在所述电子设备当前显示的界面中预设位置显示所述消息内容。
9.根据权利要求7或8所述的装置,其特征在于,所述显示模块具体用于:
在所述消息包名对应的应用的窗口组件中添加第一控件,所述第一控件中包含所述消息内容;
基于所述应用的窗口组件显示所述应用的窗口。
10.根据权利要求9所述的装置,其特征在于,所述消息包名对应的应用的窗口显示在第二电子设备中,所述显示模块还用于:
向所述第二电子设备发送所述应用的窗口组件,所述第二电子设备与所述第一电子设备处于多窗口协同工作的状态。
11.根据权利要求10所述的装置,其特征在于,所述消息包名对应的应用的窗口不同于所述第一电子设备当前显示的界面在所述第二电子设备中的窗口。
12.根据权利要求7或8所述的装置,其特征在于,所述显示模块具体用于:
计算所述消息包名对应的应用的窗口在所述窗口所属的屏幕中的显示区域;
创建第二控件,所述第二控件中包含所述消息内容;
在所述显示区域内基于所述第二控件进行显示。
13.一种电子设备,其特征在于,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使得所述终端设备执行权利要求1至6中任一项所述的方法。
14.一种计算机可读介质,其特征在于,所述计算机可读介质存储用于计算机执行的程序代码,该程序代码包括用于执行如权利要求1至6中任一项所述的方法的指令。
15.一种计算机程序产品,其特征在于,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得所述计算机实现如权利要求1至6中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211232886.3A CN117880412A (zh) | 2022-10-10 | 2022-10-10 | 横幅通知消息的显示方法与电子设备 |
PCT/CN2023/120891 WO2024078306A1 (zh) | 2022-10-10 | 2023-09-22 | 横幅通知消息的显示方法与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211232886.3A CN117880412A (zh) | 2022-10-10 | 2022-10-10 | 横幅通知消息的显示方法与电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117880412A true CN117880412A (zh) | 2024-04-12 |
Family
ID=90592324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211232886.3A Pending CN117880412A (zh) | 2022-10-10 | 2022-10-10 | 横幅通知消息的显示方法与电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117880412A (zh) |
WO (1) | WO2024078306A1 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3693845B1 (en) * | 2013-06-28 | 2021-11-10 | BlackBerry Limited | Generating message notifications providing direct actions |
CN108345483A (zh) * | 2018-01-10 | 2018-07-31 | 深圳市金立通信设备有限公司 | 一种通知消息的提示方法、终端及计算机可读存储介质 |
CN115599566A (zh) * | 2021-06-25 | 2023-01-13 | 荣耀终端有限公司(Cn) | 通知消息处理方法、设备、系统及计算机可读存储介质 |
-
2022
- 2022-10-10 CN CN202211232886.3A patent/CN117880412A/zh active Pending
-
2023
- 2023-09-22 WO PCT/CN2023/120891 patent/WO2024078306A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024078306A1 (zh) | 2024-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471639B (zh) | 显示方法及相关装置 | |
US20220342850A1 (en) | Data transmission method and related device | |
CN115866121B (zh) | 应用界面交互方法、电子设备和计算机可读存储介质 | |
US12061833B2 (en) | Multi-window display method, electronic device, and system | |
CN115623115B (zh) | 一种跨设备创建应用快捷方式的方法、设备、系统及存储介质 | |
CN116360725B (zh) | 显示交互系统、显示方法及设备 | |
US12032799B2 (en) | Card sharing method, electronic device, and communications system | |
CN115981582B (zh) | 显示方法及电子设备 | |
KR20150025613A (ko) | 애플리케이션의 관련 정보를 표시하는 전자 장치 및 방법 | |
CN114647350B (zh) | 应用共享方法、电子设备和存储介质 | |
CN112420217B (zh) | 消息推送方法、装置、设备及存储介质 | |
US20230418630A1 (en) | Operation sequence adding method, electronic device, and system | |
CN110045958B (zh) | 纹理数据生成方法、装置、存储介质及设备 | |
CN111986454A (zh) | 无线耳机的查找方法、装置、存储介质以及终端 | |
US20230362782A1 (en) | Data Sharing Method, Electronic Device, and System | |
CN112148499A (zh) | 数据上报方法、装置、计算机设备及介质 | |
CN115016697A (zh) | 投屏方法、计算机设备、可读存储介质和程序产品 | |
WO2021042881A1 (zh) | 消息通知方法及电子设备 | |
CN114371895B (zh) | 一种终端设备、邮件标记方法和存储介质 | |
CN115334604A (zh) | 一种终端设备、网络控制方法和存储介质 | |
CN117880412A (zh) | 横幅通知消息的显示方法与电子设备 | |
CN116708647B (zh) | 通知消息回复方法及电子设备 | |
US20240201932A1 (en) | Display method, electronic device, and system | |
CN117149321B (zh) | 基于多设备协同的游戏交互方法、装置以及存储介质 | |
CN116095230B (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 |