CN115599566A - 通知消息处理方法、设备、系统及计算机可读存储介质 - Google Patents

通知消息处理方法、设备、系统及计算机可读存储介质 Download PDF

Info

Publication number
CN115599566A
CN115599566A CN202210981652.2A CN202210981652A CN115599566A CN 115599566 A CN115599566 A CN 115599566A CN 202210981652 A CN202210981652 A CN 202210981652A CN 115599566 A CN115599566 A CN 115599566A
Authority
CN
China
Prior art keywords
message
notification
notification message
application
screen
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
Application number
CN202210981652.2A
Other languages
English (en)
Inventor
秦国昊
赵洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210981652.2A priority Critical patent/CN115599566A/zh
Publication of CN115599566A publication Critical patent/CN115599566A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例公开了一种通知消息处理方法、设备、系统及计算机可读存储介质,涉及终端技术领域。该方法包括:第一设备在向第二设备投屏的过程中,对通知栏中新增的通知消息进行监听;若监听到通知栏新增第一通知消息,则从第一通知消息的监听信息中获取第一通知消息的消息内容;将该消息内容发送给第二设备,由第二设备在接收到该消息内容后,根据该消息内容在消息聚合页面中显示与第一通知消息的消息内容相关联第二通知消息。如此,若第二设备将第一设备的投屏窗口切换至后台,用户还能够通过第二设备显示的消息聚合页面及时感知第一设备的通知栏接收到新的通知消息,从而可以在一定程度上避免投屏过程中投屏设备的通知栏消息被用户遗漏。

Description

通知消息处理方法、设备、系统及计算机可读存储介质
本申请是2021年6月25日提交国家知识产权局、申请号为202110715005.2、申请名称为“通知消息处理方法、设备、系统及计算机可读存储介质”的中国专利申请的分案申请。
技术领域
本申请涉及终端技术领域,尤其涉及一种通知消息处理方法、设备、系统及计算机可读存储介质。
背景技术
随着终端技术和互联网技术的发展,多屏协同技术得到了广泛的应用。多屏协同技术是指多个屏幕协同工作,其包括将一个设备的屏幕内容投屏至其他设备上进行显示。比如,将手机的屏幕内容投屏至计算机上进行显示,这样用户就能在计算机上观看手机屏幕所显示的内容,从而实现手机和计算机之间的同屏显示。
目前,在第一设备向第二设备投屏的过程中,第二设备的显示界面可以包括投屏窗口,该投屏窗口显示有第一设备的屏幕内容。但是,在用户使用第二设备的过程中,如果用户将第二设备中的投屏窗口切换至后台显示,譬如将投屏窗口最小化或者将其他窗口切换至前台导致投屏窗口被其他窗口遮挡等,这些情况下,若第一设备的通知栏接收到新的通知消息,由于用户当前观看或使用的第二设备的显示界面中没有投屏窗口,因此用户无法及时获知第一设备的通知栏接收到通知消息,这样可能会导致第一设备的通知栏消息被用户遗漏。因此,目前亟需一种避免投屏过程中投屏设备的通知栏消息被用户遗漏的方法。
发明内容
本申请提供一种通知消息处理方法、设备、系统及计算机可读存储介质,可以解决相关技术中投屏过程中投屏设备的通知栏消息可能会被用户遗漏的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供了一种通知消息处理方法,应用于第一设备,方法包括:
在向第二设备投屏的过程中,对通知栏中新增的通知消息进行监听;若监听到通知栏新增第一通知消息,则从第一通知消息的监听信息中获取第一通知消息的消息内容;将第一通知消息的消息内容发送给第二设备,以使第二设备在接收到该消息内容后,根据该消息内容在消息聚合页面中显示第二通知消息,第二通知消息与第一通知消息的消息内容相关联。
如此,在第一设备向第二设备投屏的过程中,若第二设备将第一设备的投屏窗口切换至后台,用户还能够通过第二设备显示的消息聚合页面及时感知第一设备的通知栏接收到新的通知消息,从而可以在一定程度上避免投屏过程中投屏设备的通知栏消息被用户遗漏。
作为一个示例,本申请实施例所述的投屏可以为镜像投屏。镜像投屏是指将第一设备显示的屏幕内容投屏至第二设备上进行显示,使得第一设备的显示屏幕与第二设备上的投屏窗口显示相同的内容。
在第二设备将投屏窗口切换至后台的情况下,用户无法通过第二设备及时感知第一设备的通知栏接收的新通知消息,进而可能导致用户遗漏第一设备的通知栏消息。本申请实施例中,为了避免在第一设备投屏至第二设备的过程中对第一设备的通知栏消息的遗漏,第一设备可以在向第二设备投屏的过程中,对第一设备的通知栏中新增的通知消息进行监听。
其中,第一通知消息为通知栏新增的通知消息,第一通知消息可以为第一应用向通知栏推送的通知消息,即第一应用为第一消息通知的推送应用。
其中,第一通知消息的监听信息是指对通知栏中新增的第一通知消息进行监听得到的信息。第一通知消息的监听信息可以包括第一通知消息的消息内容、消息主题和第一应用的应用标识,还可以包括第一通知消息的ID和发起时间等信息。
另外,若监听到通知栏新增第一通知消息,还可以从第一通知消息的监听信息中获取第一应用的应用标识,将第一应用的应用标识发送给第二设备。其中,第一应用为向通知栏推送第一消息通知的应用。第一应用的应用标识用于唯一标识第一应用,可以包括第一应用的应用名称、应用包名和应用图标中的一种或多种。
作为一个示例,若监听到通知栏新增第一通知消息,可以从第一通知消息的监听信息中获取第一通知消息的消息结构,该消息结构至少包括消息内容,还可以包括消息主题和第一应用的应用标识等。其中,消息主题可以为第一通知消息的消息内容的关键词或者发送第一通知消息的联系人的标识。联系人的标识可以为联系人的名称或ID等,本申请实施例对此不做限定。
作为一个示例,第一设备包括第一投屏模块和消息监听服务,在第一投屏模块向第二设备投屏的过程中,消息监听服务可以对通知栏中新增的通知消息进行监听。
作为一个示例,第一设备还可以包括监听模块、第一消息转换模块和第一传输模块。消息监听服务若监听到通知栏新增第一通知消息,则根据第一通知消息的监听信息回调所述监听模块,以将第一通知消息的监听信息发送给监听模块。监听模块在被消息监听服务回调后,获取第一通知消息的监听信息,将第一通知消息的监听信息发送给第一消息转换模块。所述第一消息转换模块从第一通知消息的监听信息中获取第一通知消息的消息内容,将第一通知消息的消息内容发送给第一传输模块。第一传输模块将该消息内容发送给第二设备。
作为一个示例,获取第一通知消息的消息结构的操作可以包括:获取第一通知消息的监听信息,按照第一数据结构的解析方式,对第一通知消息的监听信息进行解析,从解析结果中提取第一通知消息的消息结构。
需要说明的是,第一通知消息的监听信息通常为第一数据结构的信息。因此,在获取到第一通知消息的监听信息之后,需要按照第一数据结构的解析方式,对第一通知消息的监听信息进行解析,得到解析结果,解析结果即为第一通知消息的监听信息中的具体信息内容。在得到解析结果之后,即可从解析结果中提取所需的第一通知消息的消息结构。比如,可以从解析结果中提取第一通知消息的消息内容、消息主题以及第一应用的应用标识。
作为一个示例,第一通知消息的监听信息可以通过消息监听服务获取得到。比如,第一通知消息的监听信息是消息监听服务在监听到通知栏中新增了第一通知消息时生成的监听信息。
另外,获取第一通知消息的消息结构之后,为了便于对第一通知消息的消息结构进行传输,还可以先对第一通知消息的消息结构进行封装。比如,可以先将第一通知消息的消息结构封装成第一数据格式的第一封装信息,然后将第一封装信息转换成第二数据格式的第二封装信息。
作为一个示例,第一数据格式和第二数据格式可以分别为JavaScript对象表示法(JSON)格式和字节(Byte)格式。也即是,可以先将第一通知消息的消息结构封装成 JSON格式的第一封装信息,然后JSON格式的第一封装信息转换成Byte格式的第二封装信息。应理解,第一数据格式和第二数据格式也可以为其他数据格式,本申请实施例对此不做限定。
作为一个示例,将该消息内容发送给第二设备之前,第一设备可以建立与第二设备之间的通信连接;然后通过该通信连接,将该消息内容发送给第二设备。
其中,该通信连接可以为socket连接等。另外,该通信连接可以为长连接,也可以为短连接,本申请实施例对此不做限定。
短连接是指在有数据需要发送时建立的通信连接,且在发送数据之后的预设时长内若没有需要发送的数据,则自动中断连接。若建立短连接,每当有数据需要发送时就建立一次连接,任务结束就中断连接,如此可以减小设备的电量消耗。
长连接是指在建立通信连接之后可以保持长时间的连接特性的连接,即建立连接之后不会主动中断。若建立长连接,建立一次连接之后即可一直使用这个连接来传输信息,可以减少频繁建立连接的操作。
作为一个示例,响应于投屏操作,第一设备建立与第二设备之间的长连接作为该通信连接。或者,响应于获取到第一通知消息的消息内容,第一设备建立与第二设备之间的短连接作为该通信连接。
另外,在将该消息内容发送给第二设备之后,第一设备还可以接收第二设备发送的第一应用的应用标识,根据第一应用的应用标识,启动第一应用。其中,第一应用是向通知栏推送第一通知消息的应用,第一应用的应用标识是第二设备在检测到对显示的第二通知消息的触发操作时向第一设备发送的。
也即是,对于第二设备的消息聚合页面显示的第二通知消息,用户可以通过对其执行触发操作,来拉起被切换至后台的投屏窗口,以及向第一设备发送第一应用的应用标识来触发第一设备启动第一应用。
第一设备启动第一应用之后,第一设备的显示屏幕即可显示第一应用的应用界面。相应地,第二设备的投屏窗口也将显示与第一设备的显示屏幕相同的内容,即第二设备也在投屏窗口中显示第一应用的应用界面。如此,可以方便用户通过第二设备的投屏窗口中对第一通知消息进行回复,从而提供了一种通过被投屏设备快速对投屏设备的通知栏消息进行回复的方法。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面任一项的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面任一项的方法。
第五方面,本申请实施例提供一种芯片系统,该芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现如上述第一方面任一项所述的方法。该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
第六方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面任一项所述的方法。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
第七方面,提供了一种通知消息处理方法,应用于第二设备,方法包括:
在被第一设备投屏的过程中,接收第一设备发送的第一通知消息的消息内容,第一通知消息为第一设备的通知栏中新增的通知消息;根据该消息内容在消息聚合页面中显示第二通知消息,第二通知消息与第一通知消息的消息内容相关联。
另外,在根据该消息内容在消息聚合页面中显示第二通知消息之后,第二设备还可以获取对第二通知消息的第一触发操作;响应于第一触发操作,若第一设备的投屏窗口被切换至后台,则将被切换至后台的投屏窗口切换至前台,以及向第一设备第一应用的应用标识。
其中,第一应用为向通知栏推送第一通知消息的应用,第一应用的应用标识用于第一设备在接收到第一应用的应用标识后,根据第一应用的应用标识启动第一应用,投屏窗口用于显示第一设备的投屏内容。
作为一个示例,第二设备还可以接收第一设备发送的第一应用的应用标识等信息。比如,第二设备可以接收第一设备发送的第一通知消息的消息结构,第一通知消息的消息结构包括第一通知消息的消息内容、消息主题和第一应用的应用标识等。
作为一个示例,第二设备可以先接收第一设备发送的第二数据格式的第二封装信息,第二封装信息包括第一消息的消息内容。然后将第二封装信息转换为第一数据格式的第一封装信息;对第一封装信息进行解封装,从解封装结果中提取第一通知消息的消息内容。
也即是,若第二设备接收的第一通知消息的消息内容是通过第二封装信息的形式发送的,则在接收到第二封装信息之后,第一设备可以先将第二封装信息转换为第一数据格式的第一封装信息,再对第一封装信息进行解封装,从解封装结果中提取第一通知消息的消息内容。比如,若第二封装信息为Byte格式,则可以先将Byte格式的第二封装信转换为JSON格式的第一封装信息,再对JSON格式的第一封装信息进行解封装,得到第一通知消息的消息内容。
作为一个示例,第二设备接收到第一通知消息的消息内容之后,可以先将该消息内容添加至消息管理列表中。其中,该消息管理列表用于存储第一设备的通知栏中新增的通知消息的消息内容,该消息聚合页面用于显示该消息管理列表中存储的消息内容对应的通知消息。然后,根据消息管理列表对消息聚合页面进行刷新,以在刷新后的消息聚合页面显示第二通知消息。
其中,消息管理列表用于存储第二数据结构的消息数据。比如,该消息管理列表可以为映射(map)结构,用于存储key-value对映射结构的消息数据。其中,映射(map)可以为哈希映射(hash map)或链接哈希映射(linked hash map)等,本申请实施例映射(map)的类型不做限定。
作为一个示例,以该消息数据为key-value对映射结构的消息数据、消息管理列表为map 为例,可以先将该消息内容封装成key-value对映射结构的消息数据,然后将该消息数据添加至消息管理列表中。
另外,在接收到第一通知消息的消息内容之后,第二设备可以自动根据第一通知消息的消息内容对消息聚合页面进行刷新,显示刷新后的消息聚合页面。也可以先获取用于打开消息聚合页面的第二触发操作,响应于第二触发操作,再根据第一通知消息的消息内容对消息聚合页面进行刷新,显示刷新后的消息聚合页面。
作为一个示例,接收到第一设备发送的第一通知消息的消息内容之后,第二设备还可以进行新消息提醒。其中,新消息提醒用于指示消息聚合页面增加了新的通知消息,进而提醒用户第一设备侧的通知栏接收到新的通知消息,达到及时通知用户的效果。
其中,新消息提醒的形式可以包括多种。比如,新消息提醒的形式可以包括在指定应用的应用图标上显示新消息标识,或者在任务栏中突出显示指定应用的应用图标,或者显示通知弹窗等,当然也可以包括声音提醒等其他提醒形式,本申请实施例对新消息提醒的形式不做限定。
作为一个示例,第二设备包括第二投屏模块、第二传输模块、消息管理模块和显示模块。第二设备可以通过第二投屏模块接受第一设备的投屏。在第二投屏模块接受第一设备的投屏的过程中,第二传输模块可以接收第一设备发送的第一通知消息的消息内容。消息管理模块可以获取第二传输模块接收的第一通知消息的消息内容,将消息内容添加至消息管理列表中。显示模块可以根据消息管理列表对消息聚合页面进行刷新,显示刷新后的消息聚合页面,刷新后的消息聚合页面包括第二通知消息。
另外,第二设备还可以包括第二消息转换模块。第二传输模块可以接收第一设备发送的第二数据格式的第二封装信息,将第二封装信息发送给第二消息转换模块。其中,第二封装信息包括第一消息的消息内容。第二消息转换模块可以将第二封装信息转换为第一数据格式的第一封装信息,对第一封装信息进行解封装,从解封装结果中提取第一通知消息的消息内容。然后,将第一通知消息的消息内容发送给消息管理模块。
第八方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第七方面任一项的方法。
第九方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第七方面任一项的方法。
第十方面,本申请实施例提供一种芯片系统,该芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现如上述第七方面任一项所述的方法。该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
第十一方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第七方面任一项所述的方法。
可以理解的是,上述第八方面至第十一方面的有益效果可以参见上述第七方面中的相关描述,在此不再赘述。
第十二方面,提供了一种消息处理系统,该系统包括第一设备和第二设备,第一设备向第二设备进行投屏。
第一设备,用于在向第二设备投屏的过程中,对通知栏中新增的通知消息进行监听;若监听到通知栏新增第一通知消息,则从第一通知消息的监听信息中获取第一通知消息的消息内容;将消息内容发送给第二设备;
第二设备,用于在被第一设备投屏的过程中,接收第一设备发送的消息内容;根据该消息内容在消息聚合页面中显示第二通知消息,第二通知消息与第一通知消息的消息内容相关联。
第一设备,还用于从第一通知消息的监听信息中获取第一应用的应用标识,将第一应用的应用标识发送给第二设备,第一应用是向通知栏推送第一通知消息的应用;
第二设备,还用于接收第一设备发送的第一应用的应用标识。
第二设备,还用于获取对第二通知消息的第一触发操作;响应于第一触发操作,若第一设备的投屏窗口被切换至后台,则将被切换至后台的投屏窗口切换至前台,以及向所述第一设备发送第一应用的应用标识,投屏窗口用于显示第一设备的投屏内容;
第一设备,还用于接收应用标识,根据应用标识启动第一应用。
第二设备,还用于进行新消息提醒,该新消息提醒用于指示消息聚合页面增加了新的通知消息。
附图说明
图1是本申请实施例提供的多协同系统的示意图;
图2是本申请实施例提供的一种手机向计算机投屏的示意图;
图3是本申请实施例提供的一种下拉通知栏的示意图;
图4是本申请实施例提供的另一种手机向计算机投屏的示意图;
图5是本申请实施例提供的又一种手机向计算机投屏的示意图;
图6是本申请实施例提供的又一种手机向计算机投屏的示意图;
图7是本申请实施例提供的一种第一设备的软件架构框图;
图8是本申请实施例提供的一种第二设备的软件架构框图;
图9是本申请实施例提供的一种通知消息处理系统的软件架构图;
图10是本申请实施例提供的一种建立长连接的示意图;
图11是本申请实施例提供的一种建立短连接的示意图;
图12是本申请实施例提供的一种在map中添加消息数据的流程示意图;
图13是本申请实施例提供的一种消息处理方法的流程图;
图14是本申请实施例提供的一种计算机进行新消息提醒的示意图;
图15是本申请实施例提供的一种通知消息处理过程的逻辑示意图;
图16是本申请实施例提供的一种电子设备的硬件结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
下面示例性介绍本申请实施例可能涉及的相关内容。
(1)多屏协同系统。请参考图1,图1是本申请实施例提供的多协同系统的示意图。如图1所示,多屏协同系统包括第一设备10和第二设备20,第一设备10和第二设备20通过有线网络或无线网络进行连接。
其中,第一设备10可以向第二设备20进行投屏,第二设备20可以显示第一设备10的投屏内容。也即是,第一设备10为投屏设备,第二设备20为被投屏设备。
比如,第一设备10可以先建立与第二设备20之间的通信连接,然后通过该通信连接向第二设备20进行投屏。该通信连接可以为无线保真(wireless fidelity,WIFI)连接或蓝牙连接等,当然也可以为其他通信连接,本申请实施例对此不做限定。
其中,第一设备10或第二设备20可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或个人数字助理(personal digital assistant,PDA)等具有多屏协同功能的电子设备。另外,第一设备10与第二设备20 的设备类型可以相同,也可以不同,本申请实施例对第一设备10和第二设备20的设备类型不做限定。
作为一个示例,在第一设备10向第二设备20投屏的过程中,第二设备20可以在显示界面中显示投屏窗口,该投屏窗口用于显示第一设备10的投屏内容。比如,该投屏窗口用于显示第一设备10的屏幕内容,即该投屏窗口内的显示内容与第一设备10的屏幕所显示的内容相同。
请参考图2,以第一设备10为手机、第二设备20为计算机为例,在手机向计算机投屏的过程中,手机显示用户界面21,计算机显示用户界面22,用户界面22包括投屏窗口221,该投屏窗口221内显示的内容与用户界面21的显示内容相同。如此,用户通过计算机的投屏窗口即可观看手机显示的内容。
作为一个示例,第一设备10安装有多屏协同应用,第二设备20也安装多屏协同应用,第一设备10可以通过安装的多屏协同应用向第二设备20进行投屏,第二设备20可以通过安装的多屏协同应用对第一设备10的投屏内容进行显示。
上述多屏协同系统可以应用在多种多样的场景中。比如,在多人会议中,其中一位成员可以将其手机的屏幕内容投屏至投影仪上,以将其手机上的资料共享给其他成员进行观看。或者,在家庭场景中,用户可以在客厅中将手机的屏幕内容投屏至智能电视上进行观看。本申请实施例对上述多屏协同系统的应用场景不做限定。
需要说明的是,投屏通常包括推送投屏和镜像投屏。上述多屏协同系统主要应用于镜像投屏场景中,当然也可以应用于推送投屏场景中。
其中,推送投屏是指将一个设备的多媒体资源投放至其他设备上进行播放,多媒体资源包括音、视频资源。例如将手机上的视频投放至智能电视上进行播放,在此过程中并不影响用户对手机的使用,用户仍然可以对手机进行操作。镜像投屏是指将一个设备的屏幕内容投放至其他设备上进行显示,即将一个设备的整个屏幕镜像显示在其他设备上。例如将手机的屏幕内容投放至投影仪上进行显示,在此过程中,手机显示什么内容,投影仪也将显示什么内容,相当于两者同屏显示。
另外,在第一设备10向第二设备20投屏的过程中,第二设备20还可以根据第二设备20中的投屏窗口对第一设备10进行反向控制。
(2)通知栏。
目前,为充分利用智能终端的屏幕空间,显示界面多采用多层次界面结构,其中最典型的运用就是通知栏,通知栏也称状态栏等。通知栏用于显示快捷菜单和通知消息。其中,通知消息是指告知类型的消息,可以包括系统通知消息以及第三方应用推送的通知消息等。比如可以包括短信应用推送的联系人发送的短信,即时通讯应用推送的联系人发送的通讯消息,或者新闻类应用推送的一些新闻消息等。
作为一个示例,通知栏中的通知消息可以通过通知卡片来显示。比如,通知栏包括快捷菜单和至少一个通知卡片,通知卡片用于显示对应通知消息。另外,一个通知卡片可以显示一个应用的一个或多个通知消息,即同一个应用的通知消息可以显示在一个通知卡片上。此外,通知消息还可以以通知窗口的形式显示在屏幕上。
通常情况下,通知栏处于隐藏状态,当用户需要查看通知栏时,可以通过下拉操作等来触发智能终端显示通知栏。其中,下拉操作是指自屏幕顶端触摸并向下滑动的操作。应理解,随着终端技术的发展,也可以采用其他方式触发电子设备显示通知栏,本申请实施例对此不做限定。
请参考图3,图3是本申请实施例提供的一种下拉通知栏的示意图。如图3所示,在手机显示用户界面301时,若用户想要查看通知栏,则用户可以在用户界面301上执行自屏幕顶端触摸并向下滑动的下拉操作。用户界面301包括华为视频、运动健康、天气、浏览器和设置等应用。响应于用户的下拉操作,手机切换至用户界面302,用户界面302包括通知栏,通知栏包括包括快捷菜单31和通知卡片32。通知卡片32显示有即时通讯应用推送的通讯消息。
结合上述多屏协同系统,上述多屏协同系统中的第一设备10可以为具有通知栏功能的智能终端。在第一设备10向第二设备20投屏的过程中,若第一设备10的通知栏接收到新的通知消息,则第一设备10可以在显示界面显示通知弹窗,该通知弹窗用于显示通知栏新接收的通知消息。其中,该通知弹窗可以为通知卡片等形式,本申请实施例对此不做限定。此外,第一设备10还可以采用震动或响铃等方式来提醒用户通知栏接收到新的通知消息。
在第一设备10的通知栏接收到新的通知消息,以及在显示界面中显示通知弹窗的情况下,若第二设备20显示有投屏窗口,则该投屏窗口也将显示与第一设备10的显示屏幕相同的内容,也即是,第二设备20的投屏窗口也显示有相同的通知弹窗。如此,用户通过第二设备10中的投屏窗口也就可以及时获知第一设备10的通知栏接收到的新的通知消息。
请参考图4,图4是本申请实施例提供的另一种手机向计算机投屏的示意图。如图4所示,在手机向计算机投屏的过程中,若手机的通知栏接收到即时通讯应用推送的联系人发送的通讯消息,则手机可以显示用户界面401。用户界面401包括顶部的通知弹窗41,通知弹窗41包括即时通讯应用的应用图标和应用名称,发送通讯消息的联系人名称:“秦××”,以及即时通讯应用推送的通讯消息的消息内容:“来会议室开会!”。当然,通知弹窗41还可以包括其他内容,本申请实施例对此不做限定。同时,计算机显示用户界面402。用户界面402 包括投屏窗口42,投屏窗口42显示的内容与用户界面401的内容相同,即投屏窗口42内也包括相同的通知弹窗。如此,用户通过计算机中的投屏窗口42内的通知弹窗即可及时获知手机的通知栏新接收到的通知消息,进而及时查看通知消息。
但是,在上述图1所示的多屏协同系统中,在第一设备10向第二设备20投屏的过程中,如果第二设备20根据用户的操作将投屏窗口切换至后台,比如将投屏窗口最小化或者将其他窗口切换至前台使得投屏窗口被其他窗口遮挡,这种情况下,若第一设备20的通知栏接收到新的通知消息,由于用户在第二设备20上看不到投屏窗口,因此用户在观看或使用第二设备 20时,通过第二设备20将无法及时感知到第一设备10的通知栏接收到新的通知消息,进而可能导致对第一设备10的通知栏消息的遗漏。
请参考图5,图5是本申请实施例提供的又一种手机向计算机投屏的示意图。在手机向计算机投屏的过程中,用户可以使用计算机观看视频,为了避免投屏窗口对视频的遮挡,用户可以将投屏窗口最小化。这种情况下,若手机的通知栏接收到即时通讯应用推送的联系人发送的通讯消息,则手机显示用户界面501,用户界面501包括顶部的通知弹窗51,通知弹窗51包括即时通讯应用推送的通讯消息。同时,计算机显示用户界面502,用户界面502包括视频播放界面以及底部的任务栏,任务栏中包括被投屏窗口的最小化图标52。
由图5可知,在投屏过程中,若被投屏设备中的投屏窗口被切换至后台,则投屏设备的显示界面中将不会显示投屏窗口,因此在用户观看或使用被投屏设备的过程中,若投屏设备的通知栏接收到新的通知消息,用户通过被投屏设备将无法及时获知投屏设备的通知栏消息,这样可能会导致投屏设备的通知栏消息被用户遗漏。
本申请实施例中,为了避免被投屏设备将投屏窗口切换至后台时投屏设备的通知栏消息可能会被用户遗漏的问题,提供了一种消息处理方法。基于该消息处理方法,结合上述图1 所示的多屏协同系统,在第一设备10向第二设备20投屏的过程中,若第一设备10的通知栏接收到第一通知消息,则第一设备10可以触发第二设备20在消息聚合页面中显示与第一通知消息的消息内容相关联的第二通知消息。如此,即使第二设备20将投屏窗口切换至后台,用户也能够基于指定应用的消息聚合页面中显示的第二消息通知及时获知第一设备 10的通知栏消息,从而避免了第一设备10的通知栏消息被用户遗漏。
比如,第一设备10可以触发第二设备20在指定应用的消息聚合页面中显示第二通知消息。该指定应用可以为系统应用或第三方应用,第三方应用可以为多屏协同应用或设备管家应用等,当然也可以为其他类型的应用,本申请实施例对指定应用的应用类型不做限定。
请参考图6,图6是本申请实施例提供的又一种手机向计算机投屏的示意图。在手机向计算机投屏的过程中,用户可以将计算机中的投屏窗口切换至后台。这种情况下,若手机的通知栏接收到即时通讯应用推送的联系人发送的通讯消息,则手机显示用户界面601。用户界面601包括顶部的通知弹窗61,通知弹窗61包括即时通讯应用的推送的通讯消息。同时,计算机可以显示多屏协同应用的消息聚合页面602,消息聚合页面602包括通知弹窗62,通知弹窗62也显示有手机的通知栏接收到的即时通讯应用推送的通讯消息。
如图6所示,多屏协同应用的消息聚合页面602为多屏协同应用的最近消息页面。应理解,消息聚合页面602还可以为多屏协同应用的其他页面,本申请实施例对此不做限定。
另外,为了方便用户回复消息,第二设备20在指定应用的消息聚合页面显示第二通知消息之后,若检测到对第二通知消息的触发操作,第二设备20还可以将被切换至后台的投屏窗口切换至前台,以及向第一设备10发送第一应用的应用标识,以指示第一设备 10根据第一应用的应用标识启动第一应用,在显示界面显示第一应用的应用界面。
其中,第一应用为向第一设备10的通知栏推送第一通知消息的应用。第一应用的应用标识可以为第一应用的应用名称、应用身份标识号(identity document,ID)和应用包名等,本申请实施例对此限定。
这样,第二设备20即可重新在前台显示投屏窗口,且投屏窗口显示有与第一设备10的屏幕相同的内容,即投屏窗口也显示第一应用的应用界面。如此,方便用户在第二设备20的投屏窗口中对第一通知消息进行回复,从而提供了一种通过被投屏设备快速对投屏设备的通知栏消息进行回复的方法。
请参考图6,在手机向计算机投屏的过程中,若手机的通知栏接收到即时通讯应用推送的通讯消息,则计算机可以显示多屏协同应用的消息聚合页面602,消息聚合页面602包括通知弹窗62,通知弹窗62也显示有手机的通知栏接收到的即时通讯应用推送的通讯消息。这种情况下,若用户想要通过计算机对该通讯消息进行回复,用户可以点击通知弹窗62。响应于用户的点击操作,计算机可以向手机发送该即时通讯应用的应用标识。手机接收到该应用标识后,可以根据该即时通讯应用的应用标识启动该即时通讯应用,并显示该即时通讯应用的应用界面603。另外,响应于用户的点击操作,计算机还可以将被切换至后台的投屏窗口重新切换至前台显示,从而在用户界面602上显示重新切换至前台的投屏窗口63。投屏窗口63中也显示有手机的即时通讯应用的应用界面,用户可以在投屏窗口63中快速对该通讯消息进行回复。
接下来,对图1所示的多屏协同系统中的第一设备10和第二设备20的软件系统架构进行介绍。
下面先对第一设备10的软件架构进行介绍。
第一设备10的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明第一设备10的软件结构。请参考图7,图7是本申请实施例提供的一种第一设备10的软件架构框图。
如图7所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。分层架构将Android系统分为四层,从上至下分别为应用程序层,应用程序框架(Framwork)层,安卓运行时(Android runtime)和系统库,以及内核层。其中,应用程序层也称应用层,应用程序框架层也称应用框架层。
应用程序层可以包括一系列应用程序包。如图7所示,应用程序包可以包括第一多屏协同应用,通知栏,即时通讯,短信息,相机,图库,WLAN,蓝牙,音乐,视频等应用程序。
其中,第一多屏协同应用可以包括投屏模块,监听模块,消息转换模块,以及传输模块等。投屏模块用于对第一设备10的屏幕内容进行投屏。监听模块用于监听第一设备10的通知栏接收到的通知消息。消息转换模块用于对监听模块监听到的信息进行转换,比如对监听到的信息进行解析和封装。传输模块用于对消息转换模块转换得到的信息进行传输。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图7所示,应用程序框架层可以包括消息监听服务(notification listenerservice),窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
其中,消息监听服务用于监听通知栏中通知消息的变化,比如监听通知栏中新增通知消息,或者监听通知栏删除通知消息。另外,若消息监听服务监听到通知栏新增了通知消息,消息监听服务还可以对应用层中第一多屏协同应用包括的监听模块进行回调,以将监听信息发送给监听模块。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有通知栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供第一设备10的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在通知栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部通知栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在通知栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面对第二设备20的软件架构进行介绍。
第二设备20的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。接下来,以分层架构的Android系统为例,示例性说明第二设备20的软件结构。请参考图8,图8是本申请实施例提供的一种第二设备20的软件架构框图。
如图8所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。分层架构将Android系统分为四层,从上至下分别为应用程序层,应用程序框架(Framwork)层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图8所示,应用程序包可以包括第二多屏协同应用,通知栏,即时通讯,短信息,相机,图库,WLAN,蓝牙,音乐,视频等应用程序。
其中,第二多屏协同应用可以包括投屏模块,传输模块,消息转换模块,消息管理模块和显示模块等。投屏模块用于接受其他设备的投屏。传输模块用于接受其他设备在向第二设备20投屏的过程中发送的通知栏消息的相关信息。消息转换模块用于对传输模块接收的信息进行转换,比如对接收的通知栏消息的相关信息进行解封装。消息管理模块用于对通知栏消息的相关信息进行管理。显示模块用于根据通知栏消息的相关信息显示对应的通知消息。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图8所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有通知栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供第二设备20的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在通知栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部通知栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在通知栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
接下来,以手机向计算机投屏,手机和计算机均采用分层架构的Android系统为例,对本申请实施例提供的通知消息处理过程进行详细说明。
请参考图9,图9是本申请实施例提供的一种通知消息处理系统的软件架构图,如图9 所示,通知消息处理系统包括手机91和计算机92。其中,手机91的软件系统包括应用程序层和应用程序框架层。计算机92的软件架构也包括应用程序层和应用程序框架层。
手机91的应用程序层包括通知栏和第一多屏协同应用等应用。第一多屏协同应用包括第一投屏模块911,监听模块912,第一消息转换模块913,以及第一传输模块914。手机91的应用程序框架层包括消息监听服务915。
其中,第一投屏模块911用于实现多屏协同功能。本申请实施例中,在多屏协同应用中额外增加了监听模块912、第一消息转换模块913和第一传输模块914,以通过这些模块来实现对通知栏中通知消息的处理。
计算机92的应用程序层包括第二多屏协同等应用,第二多屏协同应用包括第二投屏模块 921,显示模块922,消息管理模块923,第二消息转换模块924以及第二传输模块925。
其中,第二投屏模块921用于实现多屏协同功能。本申请实施例中,在第二多屏协同应用中额外增加了显示模块922、消息管理模块923、第二消息转换模块924和第二传输模块 925,以通过这些模块来实现对手机91侧通知栏中通知消息的提醒。
应理解,本申请实施例仅是以手机91侧的监听模块912、第一消息转换模块913和第一传输模块914集成在手机91的多屏协同应用中为例进行说明,而在其他实施例中,这些模块还可以集中在手机91其他应用中,比如集成在系统应用或者已有应用之外的新开发应用中,本申请实施例对此不做限定。
同理,本申请实施例仅是以计算机92侧的显示模块922、消息管理模块923、第二消息转换模块924和第二传输模块925集成在计算机92侧的多屏协同应用为例进行说明,而在其他实施例中,这些模块还可以集成在计算机92侧的其他应用中,比如集成在系统应用、电脑管家应用或者已有应用之外的新开发应用中,本申请实施例对此也不做限定。
接下来,结合图9所示的通知消息处理系统的软件架构图,以在手机91向计算机92进行投屏的过程中,手机91的通知栏接收到来自第一应用的第一通知消息为例,对通知消息的处理流程进行详细介绍。如图9所示,该消息处理流程包括如下步骤:
步骤1,手机91响应于投屏操作,启动第一投屏模块911,第一投屏模块911在启动后建立与计算机92中的第二投屏模块922之间的投屏连接,通过投屏连接向第二投屏模块922 发送投屏图像。
其中,投屏操作是指触发手机91向计算机92进行投屏的操作。投屏操作可以为点击操作、按压操作、语音操作或手势操作等,本申请实施例对多屏协同触发操作不做限定。
比如,当用户想要将手机91的屏幕内容投屏至计算机92进行显示时,用户可以打开手机的第一多屏协同应用,响应于用户的操作,手机91启动第一多屏协同应用,通过第一多屏协同应用扫描可投屏设备。用户可以从扫描到的可投屏设备中选择计算机92,响应于用户的选择操作,手机91即可启动第一多屏协同应用中的第一投屏模块911。
若检测到用户的投屏操作,则手机91即可触发第一投屏模块911启动。第一投屏模块 911启动之后,第一投屏模块911即可建立与第二投屏模块922之间的投屏连接,通过投屏连接向第二投屏模块922发送投屏图像,由计算机92对接收的投屏图像进行显示,从而实现手机91与计算机92之间的投屏。
作为一个示例,第一投屏模块911包括编码单元和第一传输单元。编码单元用于获取手机91的屏幕所显示的图像,对获取的图像进行编码,得到投屏图像。第一传输单元用于建立与第二投屏模块921中的第二传输单元之间的投屏连接,通过投屏连接将投屏图像发送给第二传输单元。
第二投屏模块921包括第二传输单元和解码单元。第二传输单元用于接收第一传输单元发送的投屏图像。解码单元用于对第二传输单元接收的投屏图像进行解码,触发计算机92在投屏窗口中显示解码后的投屏图像。
作为一个示例,第二投屏模块921还可以包括反控单元。反控单元用于检测用户对投屏窗口的触发事件,将对投屏窗口的触发事件转换为对手机91的显示屏幕的触发事件。第二传输单元还用于将转换后的触发事件发送给第一传输单元,第一传输单元接收到该触发事件后,可以触发手机91对该触发事件进行响应,从而实现计算机92对手机91的反向控制。
步骤2,手机91启动监听模块912,监听模块912在启动后绑定应用程序框架层的消息监听服务915。
监听模块912启动之后,可以与应用程序框架层的消息监听服务915进行绑定,以使监听模块912继承消息监听服务915,进而能够从消息监听服务915获取通知栏的监听信息。
其中,消息监听服务915用于对通知栏中通知消息的变化进行监听。比如,对通知栏中新增的通知消息进行监听,得到新增的通知消息的监听信息。其中,该监听信息可以包括新增的通知消息的消息内容和推送应用的应用标识等应用标识可以包括应用名称、应用包名和应用图标中的一种或多种。
应理解,该监听信息还可以包括其他内容,比如还包括通知消息的消息主题。消息主题可以为消息内容中的关键信息或者发送第一通知消息的联系人的标识等。联系人的标识可以为联系人的名称或ID等,本申请实施例对此不做限定。
另外,消息监听服务915也可以对通知栏被移除的通知消息进行监听,得到被移除的通知消息的监听信息。该监听信息包括被移除的通知消息的消息内容和推送应用的应用标识,还可以包括被移除的通知消息的消息主题等。
作为一个示例,消息监听服务915可以为系统提供的服务,用于监听通知栏中的通知消息。比如,消息监听服务915可以为系统提供的NotificationListenerService类。
在监听模块912绑定消息监听服务915之后,消息监听服务915可以在监听到通知栏新增了通知消息时对监听模块912进行回调,在回调时可以将新增的通知消息的监听信息发送给监听模块912。因此,通过绑定消息监听服务915,监听模块912也就能够获取到通知栏中新增的通知消息的监听信息。
作为一个示例,监听模块912包括绑定接口,可以通过绑定接口绑定应用程序框架层的消息监听服务915。其中,绑定接口可以为start service方法等。
需要说明的是,监听模块912可以在第一投屏模块911启动之后启动,比如在第一投屏模块911启动后,由第一投屏模块911触发监听模块912启动;或者,监听模块912也可以与第一投屏模块911一起启动,比如可以在监测到投屏操作时,同时触发监听模块912和第一投屏模911启动。本申请实施例对第一投屏模块911和监听模块912的启动顺序不做限定。
步骤3,消息监听服务915若监听到通知栏新增第一通知消息,则回调监听模块912,以将第一通知消息的监听信息发送给监听模块912。
其中,第一通知消息的监听信息可以包括第一通知消息的消息内容,第一应用的应用包名、应用名称、应用图标,以及发送第一通知消息的联系人名称等。第一应用向通知栏推送第一通知消息的应用,如即时通讯应用、社交应用或短信息应用等,本申请实施例对第一应用的应用类型不做限定。
应理解,第一通知消息的监听信息还可以包括其他内容,本申请实施例对第一通知消息的监听信息的具体内容不做限定。
需要说明的是,消息监听服务915监听到的第一通知消息的监听信息通常为第一数据结构的信息,如第一通知消息的监听信息为第一通知消息的StatusBarNotification对象。StatusB arNotification对象可以包括第一通知消息的ID、消息内容、发起时间,以及推送应用的应用包名、应用名称和应用图标等。
其中,消息监听服务915回调监听模块912时的回调参数可以包括第一通知消息的监听信息,因此通过回调监听模块912,即能够将第一通知消息的监听信息发送给监听模块912,使得监听模块912获取到第一通知消息的监听信息。
作为一个示例,监听模块912包括新增消息接口和移除消息接口,新增消息接口用于获取通知栏新增的通知消息的监听信息,移除消息接口用于获取通知栏移除的通知消息的监听信息。比如,新增消息接口为onNotificationPosted方法,移除消息接口为onNotificationPosted 方法。
若消息监听服务915监听到通知栏新增第一通知消息,消息监听服务915可以回调监听模块912的新增消息接口,这样监听模块912即可通过新增消息接口获取到第一通知消息的监听信息。
另外,若消息监听服务915监听到通知栏移除第三通知消息,消息监听服务915可以回调监听模块912的移除消息接口,这样监听模块913接口通过移除消息接口获取到第三通知消息的监听信息。比如,若用户点击通知栏中的第三通知消息,或者对通知栏中的第三通知消息执行删除操作,则消息监听服务915即可监听到通知栏移除第三通知消息。
步骤4,监听模块912将第一通知消息的监听信息发送给第一消息转换模块913,由第一消息转换模块913对第一通知消息的监听信息进行解析,从解析结果中提取第一通知消息的消息结构,对第一通知消息的消息结构进行封装,得到封装信息。
其中,第一通知消息的监听信息通常是一种第一数据结构的监听信息。消息转换模块913 可以按照第一数据结构的解析方式对第一通知消息的监听信息进行解析,得到的解析结果为第一数据结构的监听信息中的具体信息内容。然后,从解析结果中可以提取所需的第一通知消息的消息结构。
另外,为了便于对第一通知消息的消息结构进行传输,还可以将第一通知消息的消息结构封装成便于传输的封装信息。比如,先将第一通知消息的消息结构封装成便于传输的JSON (JavaScript Object Notation,JavaScript对象表示法)格式的信息,得到第一封装信息。再将第一封装信息转换为Byte格式的信息,得到第二封装信息。
应理解,在对第一通知消息的消息结构进行封装时,也可以将其封装成其他便于传输的数据格式的信息,本申请实施例对第一通知消息的消息结构的封装形式不做限定。
作为一个示例,请参考图9,第一消息转换模块913包括解析单元和封装单元。解析单元用于对第一通知消息的监听信息进行解析,从解析结果中提取第一通知消息的消息结构,将第一通知消息的消息结构发送给封装单元。封装单元用于对第一通知消息的消息结构进行封装,得到封装信息。
步骤5,第一消息转换模块913将封装信息发送给第一传输模块914。
比如,第一消息转换模块913可以将上述Byte格式的第二封装信息发送给第一传输模块 914。
应理解,本申请实施例仅是以第一消息转换模块913从解析结果中提取第一通知消息的消息结构,将第一通知消息的消息结构发送给第一传输模块914为例进行说明,在其他实施例中,还可以从解析结果中提取其他形式的信息发送给第一传输模块914,比如直接提取第一通知消息的消息内容等。
步骤6,第一传输模块914建立与计算机92中的第二传输模块925之间的通信连接。
其中,该通信连接是在手机91与计算机92之间建立的用于传输手机91侧通知栏中通知消息的相关信息的信息传输通道。该通信连接可以为socket连接,当然也可以为其他形式的通信连接,本申请实施例对此不做限定。
以该通信连接为socket连接为例,在建立socket连接时,可以将第一传输模块914作为服务器端,将第二传输模块925作为客户端,由客户端向服务器端发起连接请求,以建立客户端与服务器端之间的socket连接。
请参考图9,第一传输模块914可以包括服务器端连接接口、服务器端结束连接接口、服务器端发送接口和服务器端接收接口。第二传输模块925包括客户端连接接口、客户端结束连接接口、客户端接收接口和客户端发送接口。第一传输模块914可以通过服务器端连接接口与第二传输模块925中的客户端连接接口建立socket连接。另外,在需要断开连接时,第一传输模块914还可以通过服务器端结束连接接口与第二传输模块925中的客户端结束连接断开已建立的socket连接。
例如,第一传输模块914中的服务器端连接接口、服务器端结束连接接口、服务器端发送接口和服务器端接收接口可以分别为socketServerConnect()、socketServerDisConnect()、soc ketServerSend()、socketServerRecv()。第二传输模块925中的客户端连接接口、客户端结束连接接口、客户端接收接口和客户端发送接口可以分别为socketClientConnect()、socketClientrD isConnect()、socketClientSend()、socketClientRecv()。
需要说明的是,本申请实施例仅是以第一传输模块914在有信息需要传输时触发建立与第二传输模块925之间的通信连接为例进行举例说明,在其他实施例中,第一传输模块还可以在其他时机建立与第二传输模块925之间的通信连接,比如响应于投屏操作时,建立与第二传输模块925之间的通信连接。譬如,在第一投屏模块911启动时或者第一投屏模块911 启动之后,建立与第二传输模块925之间的通信连接。
作为一个示例,本申请实施例中,第一传输模块914可以采用以下两种方式建立与第二传输模块925之间的通信连接:
第一种实现方式:第一传输模块914在有信息需要传输时,建立与第二传输模块925之间的短连接作为该通信连接。短连接是指在有数据需要发送时建立的通信连接,且在发送数据之后的特定时长内若没有需要发送的数据,则自动断开连接。
在建立短连接的情况下,每当有数据需要发送时就建立一次连接,任务结束就断开连接。如此,可以减少保持连接的时间,进而减少连接消耗。
请参考图10,图10是本申请实施例提供的一种建立长连接的示意图。如图10所示,在第一传输模块的服务器端连接接口和第二传输模块的客户端连接接口建立传输控制协议 (transmission control protocol,TCP)/用户数据包协议(user datagram protocol,UDP)连接之后,第一传输模块的服务器端发送接口可以向第二传输模块的客户端接收接口发送数据,然后接收第二传输模块返回的数据确认字符(acknowledgement,ACK),数据ACK用于指示接收端接收到数据。若在接收到数据ACK的特定时长内没有需要发送数据,则断开连接。之后,若有数据需要发送时,需要重新建立连接,再通过建立的连接来发送数据,且在接收到数据ACK后的特定时长内若没有需要发送的数据,将再次断开连接。
第二种实现方式:第一传输模块914响应于投屏操作,建立与第二传输模块925之间的长连接作为该通信连接。长连接是指在建立通信连接之后可以保持长时间的连接特性的连接,即建立连接之后不会主动中断。
作为一个示例,第一传输模块914可以在第一投屏模块911启动时或者在第一投屏模块 911之后进行初始化,在初始化过程中,建立与第二传输模块925之间的长连接。
在建立长连接的情况下,建立一次连接之后即可一直使用这个连接来传输数据,而无需在传输数据后中断连接。如此,可以减少频繁建立连接的操作。
请参考图11,图11是本申请实施例提供的一种建立短连接的示意图。如图10所示,在第一传输模块的服务器端连接接口和第二传输模块的客户端连接接口建立传输控制协议 (transmission control protocol,TCP)/用户数据包协议(user datagram protocol,UDP)连接之后,第一传输模块的服务器端发送接口可以向第二传输模块的客户端接收接口发送数据,然后接收第二传输模块返回的数据ACK,然后保持连接特性。也即是,若在接收到数据ACK 的特定时长内没有需要发送数据,不需要断开连接。之后,若有数据需要发送时,可以再次通过已建立的连接来发送数据。
步骤7,第一传输模块914通过该通信连接,将封装信息发送给第二传输模块925。
请参考图8,以该通信连接为socket连接为例,第一传输模块914可以将封装信息通过服务器端发送接口发送给第二传输模块925中的客户端接收接口,如此,第二传输模块925 即可通过客户端接收接口获取到第一传输模块914发送的封装信息。
比如,第一传输模块914可以通过该通信连接,将上述Byte格式的第二封装信息发送给第二穿模块925。
步骤8,第二传输模块925接收到封装信息后,将封装信息发送给第二消息转换模块924,由第二消息转换模块924对封装信息进行解封装,得到第一通知消息的消息结构,将第一通知消息的消息结构封装成第二数据结构的消息数据。
其中,第二数据结构是指消息管理模块923能够管理的数据结构。比如,第二数据结构可以为key-value对映射结构。其中,key为消息结构中的应用标识,value为消息结构。
由于消息管理模块923用于管理第二数据结构的信息,因此为了便于消息管理模块923 的管理,在对封装信息进行解封装得到第一通知消息的消息结构之后,可以先将第一通知消息的消息结构封装成第二数据结构的消息数据,再将第二数据结构的消息数据发送给消息管理模块923。
作为一个示例,假设封装信息的数据格式为Byte格式,则可以先将Byte格式的封装信息转换为JSON格式的封装信息,再对JSON格式的封装信息进行解封装,得到第一通知消息的消息结构。另外,若第二数据结构为key-value对映射结构,则对封装信息进行解封装得到第一通知消息的消息结构之后,可以提取第一通知消息的消息结构中的应用标识作为key,将第一通知消息的消息结构作为value,将key和value组成的key-value对映射结构确定为第二数据结构的消息数据。
作为一个示例,请参考图9,第二消息转换模块924包括解封装单元和封装单元,解封装单元用于对接收的封装信息进行解封装,得到第一通知消息的消息结构。封装单元用于将第一通知消息的消息结构封装成第二数据结构的消息数据,以便消息管理模块923进行管理。
步骤9,第二消息转换模块924将第二数据结构的消息数据发送给消息管理模块923,由消息管理模块923将该消息数据添加至消息管理列表中。
消息管理模块923用于对第二数据结构的消息数据进行管理,以将消息数据提供给显示模块922进行显示。其中,管理包括消息数据的增加、删除以及合并等。
消息管理模块923维护着一个消息管理列表,对于第二消息转换模块924发送的第二数据结构的消息数据,消息管理模块923可以将其按序添加至消息管理列表中。
其中,消息管理列表用于存储第二数据结构的消息数据。比如,该消息管理列表可以为映射(map)结构,用于存储key-value对映射结构的消息数据。其中,映射(map)可以为哈希映射(hash map)或链接哈希映射(linked hash map)等,本申请实施例映射(map)的类型不做限定。
以消息数据为key-value对映射结构的消息数据、消息管理列表为map为例,在接收到第二第二消息转换模块924发送的key-value对映射结构的消息数据之后,消息管理模块923 可以以消息数据中的应用标识作为key,将消息数据添加至map中。
请参考图12,图12是本申请实施例提供的一种将添加消息数据的流程示意图。如图12 所示,在将消息数据添加至map的过程中,第二消息管理模块923还可以先获取该消息数据的key作为目标应用标识,然后检测消息管理列表中是否存在key为目标应用标识的消息数据。若消息管理列表中已存在key为目标应用标识的消息数据,则根据该消息数据对key为目标应用标识的消息数据进行更新。若消息管理列表中不存在key为目标应用标识的消息数据,则在map中添加key为目标应用标识的该消息数据。
作为一个示例,消息管理模块923包括增加消息(add notification)接口和删除消息(delete notification)接口,增加消息接口用于在消息管理列表中增加消息数据,删除消息接口用于从消息管理列表中删除消息数据。在接收到第二消息转换模块924发送的消息数据后,第二消息转换模块924可以通过增加消息接口将消息数据添加至消息管理列表中。
步骤10,消息管理模块923触发显示模块922刷新消息聚合页面,以在消息聚合页面中显示该消息数据指示的第二通知消息。
其中,第二通知消息与第一通知消息的消息内容相关联,可以包括第一通知消息的消息内容或者对第一通知消息的消息内容进行处理后的其他信息。另外,还可以包括第一通知消息的消息主题,以及第一应用的应用名称、应用包名和应用图标中的一种或多种。
第二通知消息可以通过对该消息数据中的数据内容进行聚合得到。比如,将该消息数据中的消息内容、消息主题,以及第一应用的应用名称、应用包名和应用图标,按照预设规则聚合成通知消息作为第二通知消息。
其中,该消息聚合页面与消息管理列表对应,该消息聚合页面用于显示消息管理列表中存储的消息数据对应的通知消息。在消息管理列表新增第一通知消息的消息数据之后,消息管理模块923即可触发显示模块922对消息聚合页面进行刷新,使得显示模块922在刷新后的消息聚合页面中显示第一通知消息的消息数据指示的第二通知消息。
作为一个示例,显示模块922包括显示单元,显示模块922可以通过显示单元对消息聚合页面进行刷新,以在刷新后的消息聚合页面中显示第二通知消息。
步骤11,显示模块922在刷新消息聚合页面之后,触发新消息提醒。
其中,新消息提醒用于提醒该消息聚合页面增加了新的通知消息,进而提醒用户手机侧的通知栏有新的通知消息,达到及时通知用户的效果。
新消息提醒的形式可以包括多种。比如,新消息提醒的形式可以包括在第二多屏协同应用的应用图标上显示新消息标识,或者在任务栏中突出显示多屏应用的应用图标,或者显示通知弹窗等,当然也可以包括声音提醒等其他提醒形式,本申请实施例对新消息提醒的形式不做限定。
其中,新消息标识用于指示第二多屏协同应用的消息聚合页面增加了新的通知消息,可以为突出显示的圆点或新通知消息的数目等。突出显示图标的形式可以包括闪烁显示或高亮显示等,本申请实施例对此也不做限定。该通知弹窗可以包括第二通知消息或者其他提醒信息,比如可以在显示屏幕的顶部显示包括第二通知消息的通知弹窗。
作为一个示例,显示模块922包括提醒单元,显示模块922可以通过提醒单元进行新消息提醒。
步骤12,显示模块922若检测到对第二通知消息的触发操作,则将投屏窗口切换至前台,以及触发消息管理模块923将第一通知消息的消息数据从消息管理列表中删除。
显示模块922在消息聚合页面中显示第二通知消息之后,还可以检测用户对第二通知消息的触发操作。对第二通知消息的触发操作表示用于已查看第二通知消息。该触发操作可以为点击操作、按压操作、语音操作或手势操作等,本申请实施例对此不做限定。
由于消息管理模块923维护的消息管理列表与显示模块922显示的消息聚合页面对应,因此在用户触发消息聚合页面中的第二通知消息之后,表示用于已查看第二通知消息,这种情况下,消息管理模块923即可将第一通知消息的消息数据从消息管理列表中删除。
另外,在消息管理模块923即可将第一通知消息的消息数据从消息管理列表中删除之后,消息管理模块923还可以触发显示模块922刷新消息聚合页面,以将第二通知消息从消息聚合页面中删除。
其中,将投屏窗口切换至前台显示可以包括:对被最小化的投屏窗口进行还原,或者将被其他窗口遮挡的投屏窗口显示在其他窗口的上层。
作为一个示例,请参考图7,消息管理模块923包括删除消息接口,可以通过删除消息接口将第一通知消息的消息数据从消息管理列表中删除。
步骤13,消息管理模块923将第一应用的应用包名发送给第二传输模块925,第一应用为第一通知消息的推送应用。
作为一个示例,第一通知消息的消息数据的key值为第一应用的应用包名。消息管理模块923在将第一通知消息的消息数据从消息管理列表中删除之前,可以预先获取待删除的第一通知消息的消息数据的key值,得到第一应用的应用包名,然后将第一应用的应用包名发送给第二传输模块925。
步骤14,第二传输模块925通过该通信连接将第一应用的应用包名发送给手机91的第一传输模块914。
以通信连接为socket连接为例,第二传输模块925可以将第一应用的应用包名通过客户端端发送接口发送给第一传输模块914中的服务器端接收接口,如此,第一传输模块914即可通过服务器端接收接口获取到第二传输模块925发送的第一应用的应用包名。
步骤15,第一传输模块914接收第一应用的应用包名,触发手机91根据第一应用的应用包名启动第一应用。
在手机91启动第一应用之后,手机91的屏幕即可显示第一应用的应用界面。相应地,计算机92的投屏窗口也将显示与手机91的屏幕相同的内容,即计算机92也在投屏窗口中显示第一应用的应用界面。如此,可以方便用户在投屏窗口中对第一通知消息进行回复,从而提供了一种通过被投屏设备快速对投屏设备的通知栏消息进行回复的技术方案。
其中,第一应用的应用界面可以为第一应用的主界面,也可以为包含第一通知消息的消息界面或者第一通知消息的消息回复界面等,本申请实施例对此不做限定。
应理解,本申请实施例仅是以第二传输模块925向第一传输模块914发送第一应用的应用包名,以指示手机91启动第一应用为例进行说明,而在其他实施例中,第二传输模块925 向第一传输模块914发送第一应用的其他应用标识,比如发送第一应用的名称或ID等,本申请实施例对此不做限定。
接下来,以手机在向计算机投屏的过程中,手机的通知栏接收到新的通知消息为例,结合附图对本申请实施例提供的消息处理方法进行详细介绍。
请参考图13,图13是本申请实施例提供的一种消息处理方法的流程图,如图13所示,该方法包括如下步骤:
步骤1301:手机向计算机进行投屏。
用户可以在手机上执行投屏操作,以将手机投屏至计算机。手机可以检测用户的投屏操作,响应于该投屏操作,向计算机进行投屏。
其中,投屏操作可以为点击操作、按压操作、语音操作或手势操作等,本申请实施例对此不做限定。比如,用户可以通过手机安装的多屏协同应用执行投屏操作。
作为一个示例,当用户想要将手机的屏幕内容投屏至计算机上进行显示时,用户可以先打开手机的多屏协同应用。响应于用户的打开操作,手机启动多屏协同应用,通过多屏协同应用扫描可投屏设备。用户从扫描到的可投屏设备中选择想要进行投屏的计算机,响应于用户的选择操作,手机即可向计算机进行投屏。
作为一个示例,本申请实施例所述的投屏可以为镜像投屏。镜像投屏是指将手机显示的屏幕内容投屏至计算机上进行显示,使得手机与计算机的投屏窗口显示相同的内容。
作为一个示例,请参考图9,手机响应于用户的投屏操作,可以启动第一投屏模块911。第一投屏模块911在启动后建立与计算机92中的第二投屏模块922之间的投屏连接,通过投屏连接向第二投屏模块922发送投屏图像。计算机92通过第二投屏模块922接收投屏图像,对投屏图像进行显示。其具体实现过程可以参考上述图9实施例中步骤1中的相关描述,本申请实施例在此不再赘述。
步骤1302:计算机在显示界面中显示投屏窗口,该投屏窗口用于显示手机的投屏内容。
计算机接受手机的投屏之后,可以在计算机的显示界面上创建投屏窗口,该投屏窗口用于显示手机的投屏内容,比如显示手机的屏幕所显示的内容。
步骤1303:计算机响应于将投屏窗口切换至后台的切换操作,将投屏窗口切换至后台。
用户在观看或使用计算机的过程中,若想要将投屏窗口切换至后台,则可以执行相应的切换操作。响应于用户的切换操作,计算机即可将投屏窗口切换至后台,从而使得计算机的显示界面不再显示投屏窗口。
其中,切换操作可以包括将投屏窗口最小化的操作,或者将其他窗口切换至前台的操作等。相应地,将投屏窗口切换至后台可以包括:将投屏窗口最小化显示,或者将其他窗口切换至前台等。
步骤1304:手机在向计算机投屏的过程中,对通知栏中新增的通知消息进行监听。
在计算机将投屏窗口切换至后台的情况下,用户无法通过计算机及时感知手机的通知栏接收的新通知消息,进而可能导致用户遗漏手机的通知栏消息。本申请实施例中,为了避免在手机投屏至计算机的过程中对手机的通知栏消息的遗漏,手机可以在向计算机投屏的过程中,对通知栏中新增的通知消息进行监听。
作为一个示例,请参考图9,手机的应用框架层包括消息监听服务915,手机可以通过消息监听服务915对通知栏中新增的通知消息进行监听。其具体实现过程可以参考上述步骤2 中的相关描述,本申请实施例在此不做赘述。
手机若监听到通知栏新增第一通知消息,可以从第一通知消息的监听信息中获取第一通知消息的消息内容,以将第一通知消息的消息内容发送给计算机设备。当然,也可以从第一通知消息的监听信息中获取其他内容,如第一通知消息的消息主题和推送应用的应用标识等。本申请实施例将以从第一通知消息的监听信息中获取第一通知消息的消息结构,该消息结构包括消息内容、消息主题和推送应用的应用标识为例进行说明。
步骤1305:手机若监听到通知栏新增第一通知消息,则从第一通知消息的监听信息中获取第一通知消息的消息结构,该消息结构包括消息内容、消息主题和第一应用的应用标识。
其中,第一通知消息为通知栏新增的通知消息,第一通知消息可以为第一应用向通知栏推送的通知消息,即第一应用为第一消息通知的推送应用。
其中,第一应用的应用标识用于唯一标识第一应用,可以包括第一应用的应用名称、应用包名和应用图标中的一种或多种。消息主题可以为第一通知消息的消息内容的关键词或者发送第一通知消息的联系人的标识。联系人的标识可以为联系人的名称或ID等,本申请实施例对此不做限定。
应理解,本申请实施例仅是以第一通知消息的消息结构包括消息内容、消息主题和第一应用的应用标识为例进行说明,在其他实施例中,第一通知消息的消息结构至少包括消息内容。也即是,第一通知消息除包括消息内容之后,还可以不包括消息主题或第一应用的应用标识,或者还可以包括第一通知消息的其他相关信息,本申请实施例对此不做限定。
其中,第一通知消息的监听信息是指对通知栏中新增的第一通知消息进行监听得到的信息。第一通知消息的监听信息可以包括第一通知消息的消息内容、消息主题和第一应用的应用标识,还可以包括第一通知消息的ID和发起时间等信息。
作为一个示例,获取第一通知消息的消息结构的操作可以包括:获取第一通知消息的监听信息,按照第一数据结构的解析方式,对第一通知消息的监听信息进行解析,从解析结果中提取第一通知消息的消息结构。
需要说明的是,第一通知消息的监听信息通常为第一数据结构的信息。因此,在获取到第一通知消息的监听信息之后,需要按照第一数据结构的解析方式,对第一通知消息的监听信息进行解析,得到解析结果,解析结果即为第一通知消息的监听信息中的具体信息内容。在得到解析结果之后,即可从解析结果中提取所需的第一通知消息的消息结构。比如,可以从解析结果中提取第一通知消息的消息内容、消息主题以及第一应用的应用标识。
作为一个示例,第一通知消息的监听信息可以通过消息监听服务获取得到。比如,第一通知消息的监听信息是消息监听服务在监听到通知栏中新增了第一通知消息时生成的监听信息。
作为一个示例,请参考图9,手机的应用程序框架层包括消息监听服务915,手机的应用程序层包括监听模块913。手机可以在发起与计算机之间的投屏时,启动监听模块913,监听模块913启动后绑定消息监听服务915。消息监听服务915对通知栏中新增的通知消息进行监听,若监听到通知栏新增第一通知消息,可以对监听模块913进行回调,以向监听模块913发送第一通知消息的监听信息。其具体过程可以参考上述图9实施例中的步骤2-步骤3中的相关描述,本申请实施例在此不再赘述。
另外,获取第一通知消息的消息结构之后,为了便于对第一通知消息的消息结构进行传输,还可以先对第一通知消息的消息结构进行封装。比如,可以先将第一通知消息的消息结构封装成第一数据格式的第一封装信息,然后将第一封装信息转换成第二数据格式的第二封装信息。
作为一个示例,第一数据格式和第二数据格式可以分别为JavaScript对象表示法(JSON)格式和字节(Byte)格式。也即是,可以先将第一通知消息的消息结构封装成 JSON格式的第一封装信息,然后JSON格式的第一封装信息转换成Byte格式的第二封装信息。
应理解,第一数据格式和第二数据格式也可以为其他数据格式,本申请实施例对此不做限定。
请参考图9,手机的应用程序层包括第一消息转换模块913,可以通过第一消息转换模块913对第一通知消息的消息结构进行封装。其具体过程可以参考上述图9实施例中的步骤4中的相关描述,本申请实施例在此不再赘述。
步骤1306:手机建立与计算机之间的通信连接。
在获取到第一通知消息的消息结构之后,可以将第一通知消息的消息结构作为待发送数据。本申请实施例中,手机可以在有数据需要发送时,建立与计算机之间的通信连接,以通过建立的通信连接向计算机发送数据。
其中,通信连接可以为socket连接。另外,通信连接可以为长连接,也可以为短连接,本申请实施例对此不做限定。
短连接是指在有数据需要发送时建立的通信连接,且在发送数据之后的预设时长内若没有需要发送的数据,则自动中断连接。若建立短连接,每当有数据需要发送时就建立一次连接,任务结束就中断连接,如此可以减小设备的电量消耗。
长连接是指在建立通信连接之后可以保持长时间的连接特性的连接,即建立连接之后不会主动中断。若建立长连接,建立一次连接之后即可一直使用这个连接来传输信息,可以减少频繁建立连接的操作。
需要说明的是,本申请实施例仅是以当有数据需要发送时建立与计算机之间的通信连接为例进行说明,当然,也可以在其他时机建立通信连接,比如在获取到投屏操作之后,响应于投屏操作,建立通信连接。本申请实施例对建立通信连接的时机不做限定。
作为一个示例,请参考图9,手机的应用层包括第一传输模块914,计算机的应用层包括第二传输模块925,第一传输模块914可以建立与第二传输模块925之间的通信连接。其具体实现过程可以参考上述步骤6的相关描述,本申请实施例在此不再赘述。
步骤1309:手机通过该通信连接向计算机发送第一通知消息的消息结构。
作为一个示例,若在发送第一通知消息的消息结构之前,对第一通知消息的消息结构进行了封装,这种情况下,可以通过通信连接向计算机发送封装后的消息结构。比如,通过通信连接向计算机发送第二封装消息。
作为一个示例,请参考图9,手机的应用层包括第一传输模块914,计算机的应用层包括第二传输模块925,第一传输模块914可以向第二传输模块925发送第一通知消息的消息结构。其具体实现过程可以参考上述步骤9的相关描述,本申请实施例在此不再赘述。
计算机设备接收到手机发送的第一通知消息的消息内容后,可以根据该消息内容在消息聚合页面中显示与第一通知消息的消息内容相关联的第二通知通知消息。
其中,该消息聚合页面可以用于显示与手机的通知栏接收到通知消息相关联的通知消息。比如,该消息聚合页面可以为指定应用的消息聚合页面,指定应用可以为系统应用或第三方应用等。本申请实施例将以该消息聚合页面为多屏协同应用的消息聚合页面为例进行说明。
步骤1308:计算机通过该通信连接接收第一通知消息的消息结构,根据第一通知消息的消息结构对多屏协同应用的消息聚合页面进行刷新,刷新后的消息聚合页面包括第二通知消息,第二通知消息与第一通知消息的消息内容相关联。
其中,第二通知消息是与第一通知消息的消息内容相关联的通知消息,可以指示第一通知消息。比如,第二通知消息可以包括第一通知消息的消息内容或对第一通知消息的消息内容进行处理后得到的其他信息,如对第一通知消息的消息内容进行关键字提取得到的关键信息等。第二通知消息还可以包括第一通知消息的消息主题以及第一应用的应用标识等。
比如,第二通知消息可以是对第一通知消息的消息结构进行聚合得到的通知消息,也即是,计算机可以将该消息结构聚合为通知消息,得到第二通知消息,然后将第二通知消息显示在指定应用的消息聚合页面中。
应理解,第一通知消息与第二通知消息的显示形式可以相同,也可以存在一定的区别,本申请实施例对此不做限定。
其中,多屏协同应用提供有消息聚合页面,本申请实施例中可以在消息聚合页面中显示手机侧的通知栏中新接收到的通知消息,以便用户通过多屏协同应用的消息聚合页面及时获知手机侧的通知栏消息,避免对手机侧通知栏消息的遗漏。
需要说明的是,多屏协同应用也可以在已有页面的基础上扩展显示通知栏中新接收到的通知消息的功能,将功能扩展后的页面作为消息聚合页面。或者,多屏协同应用可以新增一个专门用于显示手机侧的通知栏中新接收到的通知消息的页面,将这个新增的页面作为消息聚合页面。也即是,该消息聚合页面可以为多屏协同应用的已有页面,也可以为多屏协同应用新扩展的页面,本申请实施例对此不做限定。
比如,多屏协同应用提供有最近消息页面,最近消息页面用于显示多屏协同应用的最近状态。本申请实施例中,可以对这个页面进行功能扩展,使得这个页面还可以显示手机侧的通知栏中新接收到的通知消息。
本申请实施例中,可以根据第一通知消息的消息结构在消息聚合页面中显示第二通知消息,根据第一通知消息的消息结构在消息聚合页面中显示第二通知消息的动作可以由用户触发,也可以由计算机自动触发,本申请实施例对此不做限定。
在一种可能的实现方式中,计算机在接收到第一通知消息的消息结构之后,响应于接收到第一通知消息的消息结构,可以直接根据第一消息的消息结构在多屏协同应用的消息聚合页面中显示第二通知消息。也即是,在消息聚合页面中显示第二通知消息的操作可以在接收到第一通知消息的消息结构后自动触发,而无需用户触发。
比如,计算机在接收到第一通知消息的消息结构之后,可以触发多屏协同应用显示消息聚合页面,该消息聚合页面包括第二通知消息。
在另一种可能的实现方式中,计算机也可以在接收到第一通知消息的消息结构之后,当检测到对消息聚合页面的触发操作时,再根据第一消息的消息结构在消息聚合页面中显示第二通知消息。也即是,在消息聚合页面中显示第二通知消息的操作可以由用户触发。
比如,计算机在接收到第一通知消息的消息结构之后,可以获取用户对该消息聚合页面的打开操作,响应于该打开操作,显示消息聚合页面,该消息聚合页面包括第二通知消息。
另外,计算机在接收到第一通知消息的消息结构之后,还可以先将第一通知消息的消息结构添加至消息管理列表中。其中,消息管理列表用于存储手机的通知栏中新增的通知消息的消息结构。消息聚合页面与消息管理列表对应,用于显示消息管理列表中存储的消息结构对应的通知消息。在消息管理列表添加第一通知消息的消息结构之后,可以触发消息聚合页面进行刷新,以在刷新后的消息聚合页面中显示第一通知消息的消息结构对应的第二通知消息。
作为一个示例,请参考图9,计算机的多屏协同应用包括消息管理模块923和显示模块922,消息管理模块923维护有消息管理列表,可以将第一通知消息的消息结构添加在消息管理列表中。在将第一通知消息的消息结构添加在消息管理列表之后,消息管理模块923可以触发显示模块922对消息聚合页面进行刷新,以在刷新后的消息聚合页面中显示第一通知消息的消息结构对应的第二通知消息。其具体实现过程可以参考上述步骤9和步骤13的相关描述,本申请实施例在此不再赘述。
另外,若计算机接收的第一通知消息的消息结构是通过第二封装信息的形式发送的,则在接收到第二封装信息之后,计算机可以先将第二封装信息转换为第一数据格式的第一封装信息,再对第一封装信息进行解封装,从而得到第一通知消息的消息结构。比如,若第二封装信息为Byte格式,则可以先将Byte格式的第二封装信转换为JSON格式的第一封装信息,再对JSON格式的第一封装信息进行解封装,得到第一通知消息的消息结构。
作为一个示例,请参考图9,计算机的多屏协同应用包括第二消息转换模块924,计算机可以通过第二消息转换模块924对第二封装信息进行转换,得到第一通知消息的消息结构。其具体实现过程可以参考上述步骤8的相关描述,本申请实施例对此不做限定。
步骤1309:计算机进行新消息提醒,该新消息提醒用于提醒该消息聚合页面增加了新的通知消息。
其中,新消息提醒用于提醒用户指定应用的消息聚合页面增加了新的通知消息,进而提醒用户手机侧的通知栏接收到新的通知消息,达到及时通知用户的效果。
在感知到计算机的新消息提醒之后,用户可以及时打开指定应用的消息聚合页面,来查看消息聚合页面中的通知消息。响应于用户的打开操作,计算机设备即可显示指定应用的消息聚合页面,消息聚合页面包括第二通知消息。
新消息提醒的形式可以包括多种。比如,新消息提醒的形式可以包括在多屏协同应用的应用图标上显示新消息标识,或者在任务栏中突出显示多屏应用的应用图标,或者显示通知弹窗等,当然也可以包括声音提醒等其他提醒形式,本申请实施例对新消息提醒的形式不做限定。
其中,新消息标识用于指示多屏协同应用的消息聚合页面增加了新的通知消息,可以为突出显示的圆点或新通知消息的数目等。突出显示图标的形式可以包括闪烁显示或高亮显示等,本申请实施例对此也不做限定。该通知弹窗可以包括第二通知消息或者其他提醒信息,比如可以在显示屏幕的顶部显示包括第二通知消息的通知弹窗。
请参考图14,图14是本申请实施例提供的一种计算机进行新消息提醒的示意图。如图 14所示,若手机的通知栏接收到即时通讯应用推送的通讯消息,则手机显示用户界面1401,用户界面1401包括顶部的通知弹窗141,通知弹窗141包括即时通讯应用推送的通讯消息。同时,计算机可以显示用户界面1402,用户界面1402也包括视频显示界面和任务栏,任务栏中包括多屏协同应用的应用图标142以及被切换至后台的投屏窗口的窗口图标。多屏协同应用的应用图标142上显示有新消息标识,该新消息标识为消息聚合页面增加的新的通知消息的数目“1”。
步骤1310:计算机响应于对第二通知消息的触发操作,将被切换至后台的投屏窗口切换至前台,以及通过该通信连接向手机发送第一应用的应用包名。
本申请实施例中,对于多屏协同应用的消息聚合页面显示的第二通知消息,用户可以通过对其执行触发操作,来拉起被切换至后台的投屏窗口,以及向手机发送第一应用的应用标识触发手机启动第一应用。
其中,该触发操作可以为点击操作、按压操作、语音操作或手势操作等,本申请实施例对此不做限定。比如,该触发操作可以为对第二通知消息的点击操作。
其中,第一应用的应用包名用于指示手机根据第一应用的应用包名启动第一应用。应理解,本申请实施例仅是向计算机发送第一应用的应用包名来以指示手机启动第一应用为例进行说明,而在其他实施例中,还可以向手机发送第一应用的其他应用标识,比如发送第一应用的名称或ID等,本申请实施例对此不做限定。
其中,将被切换至后台的投屏窗口切换至前台包括:若投屏窗口被最小化,则可以对最小化的投屏窗口进行还原;若投屏窗口被其他窗口遮挡,则可以将投屏窗口显示在其他窗口的上方。
作为一个示例,响应于该触发操作,计算机还可以将第一通知消息的消息结构从消息管理列表中删除。
比如,请参考图9,计算机包括显示模块922、消息管理模块923和第二传输模块925,若显示模块922检测到对第二通知消息的触发操作,即可触发消息管理模块923将第一通知消息的消息数据从消息管理列表中删除,以及触发显示模块922将投屏窗口切换至前台,以及触发第二传输模块925将第一应用的应用包名发送给第一传输模块914。其具体实现过程可以参考上述步骤12-步骤14中的相关描述,本申请实施例对此不做限定。
步骤1311:手机通过通信连接接收该应用标识,根据该应用标识启动第一应用。
手机启动第一应用之后,手机的显示屏幕即可显示第一应用的应用界面。相应地,计算机的投屏窗口也将显示与手机的屏幕相同的内容,即计算机也在投屏窗口中显示第一应用的应用界面。如此,可以方便用户在投屏窗口中对第一通知消息进行回复,从而提供了一种通过被投屏设备快速对投屏设备的通知栏消息进行回复的方法。
其中,手机的显示屏幕所显示的第一应用的应用界面可以为第一应用的主界面,也可以为包含第一通知消息的消息界面、或者第一通知消息的消息回复界面,本申请实施例对此不做限定。
另外,计算机设备在投屏窗口中显示第一应用的应用界面之后,计算机设备还可以获取用户对投屏窗口的触发事件,响应于对投屏窗口的触发事件,计算机设备还可以将该触发事件发送给手机,以便手机对该触发事件进行响应,从而实现通过计算机设备对手机进行反向控制,方便用户通过计算机的投屏窗口对手机侧接收的通知消息进行回复。
其中,对投屏窗口的触发事件可以是对投屏窗口中第一应用的应用界面的触发事件。比如,该触发事件可以是打开第一通知消息的消息回复界面的事件,或者对第一通知消息进行回复的事件等。
请参考图15,图15是本申请实施例提供的一种通知消息处理过程的逻辑示意图。如图15所示,在手机向计算机投屏的过程中,手机可以在后台启动消息监听服务。若手机的通知栏接收到微信应用推送的通知消息,则手机可以通过消息监听服务获取到通知栏新增的该通知消息,然后对该通知消息进行解析,以获取推送应用即微信应用的应用包名、应用名称、应用图标、以及该通知消息的消息内容和消息主题。之后,将解析到的信息封装成JSON对象,再将JSON对象转换为Byte格式的封装信息。然后,建立与计算机之间的socket连接,将封装信息通过socket连接发送给计算机。
计算机接收到该封装信息之后,先将Byte格式的封装信息转换为JSON对象,再对JSON对象进行解封装得到通知消息的消息结构。然后,将通知消息的消息结构聚合为通知消息,在多屏协同应用的消息聚合页面显示聚合后的通知消息以及进行新消息提醒。之后,计算机设备若检测到对消息聚合页面显示的通知消息的点击操作,则将被切换至后台的投屏窗口切换至前台,以及向手机发送微信应用的应用包名。手机接收到该应用包名后,可以根据该包名启动微信应用,从而使得手机和计算机的投屏窗口均显示微信应用的应用界面,便于用户根据计算机的投屏窗口对微信应用推送的通知消息进行回复。
本申请实施例中,在手机向计算机投屏的过程中,手机可以对通知栏中新增的通知消息进行监听。手机若监听到通知栏新增第一通知消息,可以获取第一通知消息的消息结构,该消息结构包括第一通知消息的消息内容。然后,将第一通知消息的消息结构发送给计算机,由计算机根据该消息结构在指定应用的消息聚合页面中显示第二通知消息,第二通知消息包括第一通知消息的消息内容。如此,在计算机将投屏窗口切换至后台的情况下,用户能够通过计算机显示的消息聚合页面及时感知手机的通知栏接收到新的通知消息,从而可以在一定程度上避免投屏过程中投屏设备的通知栏消息被用户遗漏。
接下来,对本申请涉及的电子设备的硬件结构进行说明。
图16是本申请实施例提供的一种电子设备100的硬件结构图,电子设备100可以为图1 所示的第一设备10或第二设备20。该电子设备可以为但不限于手机、平板电脑、计算机、智慧大屏(也可称为智能电视)或者可穿戴式设备等。
如图16所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器 180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110 中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(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)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface, DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100 的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S 接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块 141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation, FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR) 等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(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)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(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)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体 (complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组 (moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备 100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110 中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备 100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm 的开放移动终端设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备 100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C 测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D 检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备100的姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器 180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J 检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备 100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142 的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到第一设备或第二设备等任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (33)

1.一种通知消息处理方法,其特征在于,应用于第二设备中,所述第二设备与第一设备通信连接,所述方法包括:
显示所述第一设备的投屏窗口;
接收到将所述第一设备的投屏窗口切换至后台的切换操作;
响应于所述切换操作,将所述第一设备的投屏窗口切换至后台运行;
接收所述第一设备发送的第一通知消息的消息内容;
在第二应用的消息聚合页面中显示第二通知消息,所述第二通知消息与所述第一通知消息的消息内容相关联。
2.根据权利要求1所述的方法,其特征在于,所述在第二应用的消息聚合页面中显示第二通知消息之后,还包括:
获取对所述第二通知消息的第一触发操作;
响应于所述第一触发操作,将被切换至后台运行的投屏窗口切换至前台运行;
显示所述投屏窗口,所述投屏窗口用于显示所述第一设备的显示界面。
3.根据权利要求2所述的方法,其特征在于,所述第一通知消息为第一应用的通知消息,所述获取对所述第二通知消息的第一触发操作之后,还包括:
向所述第一设备发送所述第一应用的应用标识,所述第一应用的应用标识用于所述第一设备在接收到所述第一应用的应用标识后,启动所述第一应用。
4.根据权利要求3所述的方法,其特征在于,所述向所述第一设备发送所述第一应用的应用标识之前,还包括:
接收所述第一设备发送的所述第一应用的应用标识。
5.根据权利要求1-4任一所述的方法,其特征在于,所述第二应用为多屏协同应用或设备管家应用。
6.根据权利要求1-5任一所述的方法,其特征在于,所述接收所述第一设备发送的第一通知消息的消息内容,包括:
接收所述第一设备发送的第二数据格式的第二封装信息,所述第二封装信息包括所述第一通知消息的消息内容;
将所述第二封装信息转换为第一数据格式的第一封装信息;
对所述第一封装信息进行解封装,从解封装结果中提取所述第一通知消息的消息内容。
7.根据权利要求1-6任一所述的方法,其特征在于,所述在第二应用的消息聚合页面中显示第二通知消息,包括:
将所述消息内容添加至消息管理列表中,所述消息管理列表用于存储所述第一设备的通知栏中新增的通知消息的消息内容,所述消息聚合页面用于显示所述消息管理列表中存储的消息内容对应的通知消息;
根据所述消息管理列表对所述消息聚合页面进行刷新;
显示刷新后的消息聚合页面,所述刷新后的消息聚合页面包括所述第二通知消息。
8.根据权利要求7所述的方法,其特征在于,所述将所述消息内容添加至消息管理列表中,包括:
将所述消息内容封装成key-value对映射结构的消息数据;
将所述消息数据添加至所述消息管理列表中。
9.根据权利要求7所述的方法,其特征在于,所述显示刷新后的消息聚合页面,包括:
获取第二触发操作,所述第二触发操作用于打开所述消息聚合页面;
响应于所述第二触发操作,显示所述刷新后的消息聚合页面。
10.根据权利要求1-9任一所述的方法,其特征在于,所述接收所述第一设备发送的第一通知消息的消息内容之后,还包括:
进行新消息提醒,所述新消息提醒用于指示所述消息聚合页面增加了新的通知消息。
11.根据权利要求1-10任一所述的方法,其特征在于,所述第二设备包括第二投屏模块、第二传输模块、消息管理模块和显示模块;
所述接收所述第一设备发送的第一通知消息的消息内容,包括:
在所述第二投屏模块与所述第一设备进行通信连接的过程中,所述第二传输模块接收所述第一设备发送的所述第一通知消息的消息内容;
所述在第二应用的消息聚合页面中显示第二通知消息,包括:
所述消息管理模块获取所述第二传输模块接收的所述第一通知消息的消息内容,将所述消息内容添加至消息管理列表中,所述消息管理列表用于存储所述第一设备的通知栏中新增的通知消息的消息内容,所述消息聚合页面用于显示所述消息管理列表中存储的消息内容对应的通知消息;
所述显示模块根据所述消息管理列表对所述消息聚合页面进行刷新,显示刷新后的消息聚合页面,所述刷新后的消息聚合页面包括所述第二通知消息。
12.根据权利要求11所述的方法,其特征在于,所述第二设备还包括第二消息转换模块;
所述第二传输模块接收所述第一设备发送的所述第一通知消息的消息内容,包括:
所述第二传输模块接收所述第一设备发送的第二数据格式的第二封装信息,所述第二封装信息包括所述第一通知消息的消息内容;
所述第二传输模块接收所述第一设备发送的所述第一通知消息的消息内容之后,还包括:
所述第二传输模块将所述第二封装信息发送给所述第二消息转换模块;
所述第二消息转换模块将所述第二封装信息转换为第一数据格式的第一封装信息;对所述第一封装信息进行解封装,从解封装结果中提取所述第一通知消息的消息内容,将所述第一通知消息的消息内容发送给所述消息管理模块。
13.一种通知消息处理方法,其特征在于,应用于第一设备中,所述第一设备向第二设备进行投屏,所述第一设备的投屏窗口被切换至所述第二设备的后台运行,所述方法包括:
在通知栏新增第一通知消息的情况下,向所述第二设备发送所述第一通知消息的消息内容,所述消息内容用于所述第二设备在接收到所述消息内容后,在第二应用的消息聚合页面中显示第二通知消息,所述第二通知消息与所述第一通知消息的消息内容相关联。
14.根据权利要求13所述的方法,其特征在于,所述第一通知消息为第一应用的通知消息,所述向所述第二设备发送所述第一通知消息的消息内容之后,还包括:
接收所述第二设备发送的所述第一应用的应用标识,所述第一应用的应用标识是所述第二设备在检测到对显示的所述第二通知消息的触发操作后向所述第一设备发送的;
根据所述第一应用的应用标识,启动所述第一应用。
15.根据权利要求13或14所述的方法,其特征在于,所述向所述第二设备发送所述第一通知消息的消息内容之前,还包括:
对所述通知栏中新增的通知消息进行监听;
若监听到所述通知栏新增所述第一通知消息,则从所述第一通知消息的监听信息中获取所述第一通知消息的消息内容。
16.根据权利要求15所述的方法,其特征在于,所述第一通知消息为第一应用的通知消息,所述方法还包括:
从所述第一通知消息的监听信息中获取第一应用的应用标识;
将所述第一应用的应用标识发送给所述第二设备。
17.根据权利要求15或16所述的方法,其特征在于,所述第一通知消息的监听信息为第一数据结构的信息;
所述从所述第一通知消息的监听信息中获取所述第一通知消息的消息内容,包括:
按照所述第一数据结构的解析方式,对所述第一通知消息的监听信息进行解析;
从解析结果中提取所述第一通知消息的消息内容。
18.根据权利要求13-17任一所述的方法,其特征在于,所述向所述第二设备发送所述第一通知消息的消息内容之前,还包括:
将所述第一通知消息的消息内容封装成第一数据格式的第一封装信息;
将所述第一封装信息转换成第二数据格式的第二封装信息;
所述向所述第二设备发送所述第一通知消息的消息内容,包括:
向所述第二设备发送所述第二封装信息。
19.根据权利要求18所述的方法,其特征在于,所述第一数据格式为JavaScript对象表示法JSON数据格式,所述第二数据格式为字节数据格式。
20.根据权利要求13-19任一所述的方法,其特征在于,所述向所述第二设备发送所述第一通知消息的消息内容之前,还包括:
建立与所述第二设备之间的通信连接;
所述向所述第二设备发送所述第一通知消息的消息内容,包括:
通过所述通信连接,向所述第二设备发送所述第一通知消息的消息内容。
21.根据权利要求20所述的方法,其特征在于,所述建立与所述第二设备之间的通信连接,包括:
响应于投屏操作,建立与所述第二设备之间的长连接作为所述通信连接;
或者,
响应于获取到所述第一通知消息的消息内容,建立与所述第二设备之间的短连接作为所述通信连接。
22.根据权利要求15或16所述的方法,其特征在于,所述第一设备包括第一投屏模块和消息监听服务;
所述对所述通知栏中新增的通知消息进行监听,包括:
在所述第一投屏模块向所述第二设备投屏的过程中,所述消息监听服务对所述通知栏中新增的通知消息进行监听。
23.根据权利要求22所述的方法,其特征在于,所述第一设备还包括监听模块、第一消息转换模块和第一传输模块;
所述若监听到所述通知栏新增所述第一通知消息,则从所述第一通知消息的监听信息中获取所述第一通知消息的消息内容,包括:
所述消息监听服务若监听到所述通知栏新增所述第一通知消息,则根据所述第一通知消息的监听信息回调所述监听模块,以将所述第一通知消息的监听信息发送给所述监听模块;
所述监听模块在被所述消息监听服务回调后,获取所述第一通知消息的监听信息,将所述第一通知消息的监听信息发送给所述第一消息转换模块;
所述第一消息转换模块从所述第一通知消息的监听信息中获取所述第一通知消息的消息内容,将所述第一通知消息的消息内容发送给所述第一传输模块;
所述向所述第二设备发送所述第一通知消息的消息内容,包括:
所述第一传输模块向所述第二设备发送所述第一通知消息的消息内容。
24.一种电子设备,其特征在于,所述电子设备包括存储器和处理器;
所述存储器用于存储支持所述电子设备执行权利要求1-12中任一项所述的方法的程序,以及存储用于实现权利要求1-12任一项所述的方法所涉及的数据;所述处理器被配置为用于执行所述存储器中存储的程序。
25.一种电子设备,其特征在于,所述电子设备包括存储器和处理器;
所述存储器用于存储支持所述电子设备执行权利要求13-23中任一项所述的方法的程序,以及存储用于实现权利要求13-23中任一项所述的方法所涉及的数据;所述处理器被配置为用于执行所述存储器中存储的程序。
26.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-12中任一项所述的方法。
27.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求13-23中任一项所述的方法。
28.一种消息处理系统,其特征在于,所述系统包括第一设备和第二设备,所述第一设备向所述第二设备进行投屏;
所述第二设备,用于显示所述第一设备的投屏窗口;
所述第二设备,还用于接收到将所述第一设备的投屏窗口切换至后台的切换操作,响应于所述切换操作,将所述第一设备的投屏窗口切换至后台运行;
所述第一设备,用于在通知栏新增第一通知消息的情况下,向所述第二设备发送所述第一通知消息的消息内容;
所述第二设备,还用于接收所述第一设备发送的第一通知消息的消息内容,在第二应用的消息聚合页面中显示第二通知消息,所述第二通知消息与所述第一通知消息的消息内容相关联。
29.根据权利要求28所述的系统,其特征在于,
所述第一设备,还用于获取第一应用的应用标识,所述第一通知消息为所述第一应用的通知消息;
所述第一设备,还用于将所述第一应用的应用标识发送给所述第二设备;
所述第二设备,还用于接收所述第一设备发送的所述第一应用的应用标识。
30.根据权利要求28或29所述的系统,其特征在于,
所述第二设备,还用于获取对所述第二通知消息的第一触发操作,响应于所述第一触发操作,将被切换至后台运行的投屏窗口切换至前台运行;
所述第二设备,还用于显示所述投屏窗口,所述投屏窗口用于显示所述第一设备的显示界面。
31.根据权利要求30所述的系统,其特征在于,
所述第二设备,还用于向所述第一设备发送第一应用的应用标识,所述第一通知消息为所述第一应用的通知消息;
所述第一设备,还用于接收所述第一应用的应用标识,启动所述第一应用。
32.根据权利要求28-31任一所述的系统,其特征在于,
所述第二设备,还用于进行新消息提醒,所述新消息提醒用于指示所述消息聚合页面增加了新的通知消息。
33.根据权利要求28-32任一所述的系统,其特征在于,
所述第一设备,还用于对所述通知栏中新增的通知消息进行监听;
所述第一设备,还用于若监听到所述通知栏新增所述第一通知消息,则从所述第一通知消息的监听信息中获取所述第一通知消息的消息内容。
CN202210981652.2A 2021-06-25 2021-06-25 通知消息处理方法、设备、系统及计算机可读存储介质 Pending CN115599566A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210981652.2A CN115599566A (zh) 2021-06-25 2021-06-25 通知消息处理方法、设备、系统及计算机可读存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210981652.2A CN115599566A (zh) 2021-06-25 2021-06-25 通知消息处理方法、设备、系统及计算机可读存储介质
CN202110715005.2A CN113885759B (zh) 2021-06-25 2021-06-25 通知消息处理方法、设备、系统及计算机可读存储介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202110715005.2A Division CN113885759B (zh) 2021-06-25 2021-06-25 通知消息处理方法、设备、系统及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115599566A true CN115599566A (zh) 2023-01-13

Family

ID=79010587

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210981652.2A Pending CN115599566A (zh) 2021-06-25 2021-06-25 通知消息处理方法、设备、系统及计算机可读存储介质
CN202110715005.2A Active CN113885759B (zh) 2021-06-25 2021-06-25 通知消息处理方法、设备、系统及计算机可读存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110715005.2A Active CN113885759B (zh) 2021-06-25 2021-06-25 通知消息处理方法、设备、系统及计算机可读存储介质

Country Status (1)

Country Link
CN (2) CN115599566A (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116886813A (zh) * 2022-01-05 2023-10-13 荣耀终端有限公司 消息协同方法和装置
CN114422965B (zh) * 2022-01-14 2023-08-15 Tcl通讯科技(成都)有限公司 信息交互方法、装置、存储介质及电子设备
CN114489550A (zh) * 2022-01-30 2022-05-13 深圳创维-Rgb电子有限公司 投屏控制方法、投屏器及存储介质
CN116048828B (zh) * 2022-05-26 2023-10-20 荣耀终端有限公司 绘制消息处理方法、电子设备及存储介质
CN114840297B (zh) * 2022-05-30 2023-08-08 网易(杭州)网络有限公司 消息的展示方法及装置、电子设备、存储介质
CN117349871A (zh) * 2022-06-27 2024-01-05 华为技术有限公司 消息管理方法、电子设备及系统
CN114844984B (zh) * 2022-07-04 2022-10-04 荣耀终端有限公司 通知消息的提醒方法及电子设备
CN117435309A (zh) * 2022-07-13 2024-01-23 华为技术有限公司 任务迁移的方法、电子设备和系统
CN114915607B (zh) * 2022-07-18 2022-10-11 荣耀终端有限公司 一种通知消息的处理方法、电子设备及系统
CN116095224B (zh) * 2022-08-31 2023-10-31 荣耀终端有限公司 通知显示方法和终端设备
CN116708334A (zh) * 2022-09-23 2023-09-05 荣耀终端有限公司 一种通知消息的显示方法及电子设备
CN115291995B (zh) * 2022-10-08 2023-03-31 荣耀终端有限公司 一种消息显示方法及相关电子设备、可读存储介质
CN117880412A (zh) * 2022-10-10 2024-04-12 华为终端有限公司 横幅通知消息的显示方法与电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160148522A1 (en) * 2014-11-26 2016-05-26 Classwork Co. Electronic education system for enabling an interactive learning session
CN105828139A (zh) * 2016-04-06 2016-08-03 乐视控股(北京)有限公司 一种视频投屏方法及装置
CN111404802A (zh) * 2020-02-19 2020-07-10 华为技术有限公司 通知处理系统、方法以及电子设备
CN111327769B (zh) * 2020-02-25 2022-04-08 北京小米移动软件有限公司 多屏互动方法及装置、存储介质
CN111736785B (zh) * 2020-05-29 2023-12-22 阿波罗智联(北京)科技有限公司 投屏播放的控制方法、装置、设备和计算机存储介质

Also Published As

Publication number Publication date
CN113885759B (zh) 2022-08-26
CN113885759A (zh) 2022-01-04

Similar Documents

Publication Publication Date Title
CN113885759B (zh) 通知消息处理方法、设备、系统及计算机可读存储介质
CN114467297B (zh) 一种应用于电子设备的视频通话的显示方法及相关装置
WO2020259452A1 (zh) 一种移动终端的全屏显示方法及设备
WO2022257977A1 (zh) 电子设备的投屏方法和电子设备
CN112399390B (zh) 一种蓝牙回连的方法及相关装置
CN114173204B (zh) 一种提示消息的方法、电子设备和系统
CN113497909B (zh) 一种设备交互的方法和电子设备
CN113961157B (zh) 显示交互系统、显示方法及设备
CN114173000B (zh) 一种回复消息的方法、电子设备和系统、存储介质
CN112492193B (zh) 一种回调流的处理方法及设备
CN113254409A (zh) 文件共享方法、系统及相关设备
CN113747374B (zh) 一种消息推送方法及装置
CN113923230A (zh) 数据同步方法、电子设备和计算机可读存储介质
CN115756270B (zh) 一种内容分享的方法、装置及系统
CN112532508B (zh) 一种视频通信方法及视频通信装置
EP4293997A1 (en) Display method, electronic device, and system
CN114915747B (zh) 视频通话的方法、电子设备及可读存储介质
CN110737916A (zh) 通信终端及处理方法
CN112840680A (zh) 位置信息处理方法及相关装置
CN116389884B (zh) 缩略图显示方法及终端设备
CN115495716B (zh) 一种本地鉴权方法和电子设备
EP4290375A1 (en) Display method, electronic device and system
CN114615423B (zh) 一种回调流的处理方法及设备
CN113973152A (zh) 一种未读消息快速回复方法及电子设备
CN117440081A (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