CN114915607B - 一种通知消息的处理方法、电子设备及系统 - Google Patents

一种通知消息的处理方法、电子设备及系统 Download PDF

Info

Publication number
CN114915607B
CN114915607B CN202210842181.7A CN202210842181A CN114915607B CN 114915607 B CN114915607 B CN 114915607B CN 202210842181 A CN202210842181 A CN 202210842181A CN 114915607 B CN114915607 B CN 114915607B
Authority
CN
China
Prior art keywords
notification message
attribute
electronic device
notification
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210842181.7A
Other languages
English (en)
Other versions
CN114915607A (zh
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 CN202210842181.7A priority Critical patent/CN114915607B/zh
Publication of CN114915607A publication Critical patent/CN114915607A/zh
Application granted granted Critical
Publication of CN114915607B publication Critical patent/CN114915607B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72484User interfaces specially adapted for cordless or mobile telephones wherein functions are triggered by incoming communication events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Abstract

本申请公开了一种通知消息的处理方法、电子设备及系统,涉及终端领域。当第一电子设备上的应用产生一条通知消息后,第一电子设备显示该通知消息;并且,第一电子设备还将该通知消息流转至同一信任环内的第二电子设备。在流转通知消息时,第一电子设备按照属性分类,依次对通知消息的属性进行编码,生成对应的JSON对象发送给第二电子设备;第二电子设备按照与编码规则对应的解码规则进行解码,重构该通知消息并显示。这样,即使第二电子设备上没有安装该应用,也可以显示应用的通知消息,并且通知消息在第一电子设备和第二电子设备上显示的布局一致。

Description

一种通知消息的处理方法、电子设备及系统
技术领域
本申请涉及终端领域,尤其涉及一种通知消息的处理方法、电子设备及系统。
背景技术
随着终端技术不断发展和终端种类不断丰富,多设备协同广泛使用。比如,登录同一个账号的设备可以互相发现,组成一个多设备信任环。在该信任环内的设备协同管理,资源共享。示例性的,手机一键协同附近的平板、电脑、智慧屏等设备,在已协同设备上继续手机当前任务,如在智慧屏上继续观看视频等,也可在电脑上轻松浏览、编辑手机上的文件。
也就是说,用户可能切换使用多个设备。当用户使用其中一个设备时,如果另一个设备上收到通知消息。用户可能不会及时看到通知消息,会造成通知消息遗漏。
发明内容
本申请实施例提供一种通知消息的处理方法、电子设备及系统,能够实现通知消息跨设备流转,在多个设备上都显示同一通知消息,方便用户在不同设备上查看通知消息。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种通知消息的处理方法,该方法包括:第一电子设备上的应用产生第一通知消息,并显示第一通知消息;第一电子设备获取第一通知消息对应的状态栏通知消息,其中,状态栏通知消息包括第一通知消息的属性;第一电子设备按照属性分类,依次对第一通知消息的属性进行编码,生成第一通知消息对应的JSON对象;第一电子设备向第二电子设备发送JSON对象,其中,第二电子设备根据JSON对象获取第二通知消息,并显示第二通知消息。也就是说,第一电子设备向第二电子设备发送JSON对象,用于在第二电子设备上根据JSON对象获取第二通知消息,并显示第二通知消息。
在该方法中,第一电子设备上产生的通知消息,一方面在本地显示,一方面还流转至同一信任环内的第二电子设备;这样,即使第二电子设备上没有安装该应用,也可以显示应用的通知消息,方便用户在不同设备上查看通知消息,避免遗漏。并且,第一电子设备按照属性分类将状态栏通知消息编码为JSON对象,第二电子设备按照属性分类将JSON对象解码为该状态栏通知消息。由于第一电子设备按照预设规则(根据属性分类)编码,第二电子设备按照与第一电子设备相应的预设规则(根据属性分类)解码,可以保证第二电子设备获取与第一电子设备上完全相同的状态栏通知消息,使得第二电子设备上第二通知消息展示的控件及布局与第一电子设备上第一通知消息展示的控件及布局完全相同,即保证了第一电子设备和第二电子设备上展示的通知消息的一致性。
在一种可能的实施方式中,第一电子设备按照属性分类,依次对第一通知消息的属性进行编码,包括:第一电子设备先对状态栏通知消息中第一类属性进行编码;第一类属性包括通知消息的通用属性;判断第一通知消息是否为标准通知,如果根据第一类属性确定第一通知消息为标准通知,第一电子设备对状态栏通知消息中第二类属性进行编码。其中,标准通知为使用Android 的通知消息通用模板构建的通知;第二类属性包括标准通知的公共属性。在该实施方式中,第二通知消息与第一通知消息相关;也就是说,第二通知消息是第一通知消息流转到第二电子设备上生成的通知消息。在该方法中,无论是标准通知,还是非标准通知,都对第一类属性先进行编码。如果是标准通知,再对第二类属性进行编码。
在一种可能的实施方式中,第一电子设备按照属性分类,依次对第一通知消息的属性进行编码,还包括:如果根据第一类属性确定第一通知消息使用自定义模板(即为非标准通知),第一电子设备生成预定义的通知消息对应的JSON对象。其中,第二通知消息与预定义的通知消息相关;也就是说,第二通知消息是预定义的通知消息流转至第二电子设备上生成的通知消息。
在一种可能的实施方式中,第一电子设备按照属性分类,依次对第一通知消息的属性进行编码,还包括:判断第一通知消息是否使能了类型属性,类型属性用于表示通知消息的类型;如果根据第二类属性确定第一通知消息使能了类型属性,第一电子设备对状态栏通知消息中第三类属性进行编码;其中,第三类属性是与第一通知消息的类型对应的属性,不同类型的通知消息对应的第三类属性不同。
在一种可能的实施方式中,状态栏通知消息包括用于指示图片的第一属性,比如,第一属性的属性名为bigPicture、smallIcon、largeIcon或bigLargeIcon;第一电子设备按照属性分类,依次对第一通知消息的属性进行编码,还包括:第一电子设备将第一属性的属性值由图片格式转化为位图格式,再将第一属性的属性值由位图格式转化为字节数组格式,再将第一属性的属性值由字节数组格式转化为字符串格式;第一电子设备将字符串格式的第一属性编码为JSON对象。
在一种可能的实施方式中,第一电子设备按照属性分类,依次对第一通知消息的属性进行编码,生成第一通知消息对应的JSON对象之前,第一电子设备确定应用属于预设的白名单。也就是说,如果应用属于预设的白名单,才对该应用产生的通知消息进行流转。该白名单可以是预先保存在第一电子设备内的;还可以是根据用户操作生成的。
在一种可能的实施方式中,第二电子设备与第一电子设备登录同一用户账号,且第二电子设备与第一电子设备属于同一局域网或直接连接。
在一种可能的实施方式中,第二电子设备满足预设条件,预设条件包括:第二电子设备是亮屏的。可选的,预设条件还包括:通过身份认证确定第二电子设备与第一电子设备的使用者为同一用户。其中,身份认证包括人脸认证、指纹认证或语音认证。
在一种可能的实施方式中,第二通知消息中显示的通知消息来源为第一电子设备。
第二方面,提供了一种电子设备,该电子设备具有实现上述第一方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,提供了一种电子设备,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该电子设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该电子设备执行如上述第一方面中任一项所述的方法。
第四方面,提供了一种电子设备,包括:处理器;所述处理器用于与存储器耦合,并读取存储器中的指令之后,根据所述指令执行如上述第一方面中任一项所述的方法。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的方法。
第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的方法。
其中,第二方面至第六方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
第七方面,提供了一种通知消息的处理方法,该方法包括:第一电子设备显示应用的第一通知消息;第一电子设备获取第一通知消息对应的状态栏通知消息,状态栏通知消息包括该第一通知消息的属性;第一电子设备按照属性分类,依次对第一通知消息的属性进行编码,生成第一通知消息对应的JSON对象;第一电子设备向第二电子设备发送JSON对象;第二电子设备接收JSON对象,并根据JSON对象获取第二通知消息,并显示第二通知消息。
其中,第二电子设备与第一电子设备登录同一用户账号,且第二电子设备与第一电子设备属于同一局域网或直接连接。可选的,第二电子设备还满足预设条件。比如,第二电子设备是亮屏的。
在该方法中,第一电子设备上产生的通知消息,一方面在本地显示,一方面还流转至同一信任环内的第二电子设备;这样,即使第二电子设备上没有安装该应用,也可以显示应用的通知消息,方便用户在不同设备上查看通知消息,避免遗漏。并且,第一电子设备按照属性分类将状态栏通知消息编码为JSON对象,第二电子设备按照属性分类将JSON对象解码为该状态栏通知消息。由于第一电子设备按照预设规则(根据属性分类)编码,第二电子设备按照与第一电子设备相应的预设规则(根据属性分类)解码,可以保证第二电子设备获取与第一电子设备上完全相同的状态栏通知消息,使得第二电子设备上第二通知消息展示的控件及布局与第一电子设备上第一通知消息展示的控件及布局完全相同,即保证了第一电子设备和第二电子设备上展示的通知消息的一致性。
在一种可能的实施方式中,第二电子设备根据JSON对象获取第二通知消息,还包括:如果根据第一类属性确定第一通知消息不是标准通知,第二电子设备根据JSON对象生成预定义的通知消息,第二通知消息为预定义的通知消息。
在该实施方式中,第一通知消息不是标准消息,第二通知消息是预定义的通知消息。
在一种可能的实施方式中,第二电子设备根据JSON对象获取第二通知消息,包括:第二电子设备对JSON对象进行解码;第二电子设备从JSON对象中获取第一类属性,第一类属性包括通知消息的通用属性;判断JSON对象对应的第一通知消息是否为标准通知,标准通知为使用通用模板构建的通知;如果根据第一类属性确定第一通知消息为标准通知,第二电子设备从JSON对象中获取第二类属性,第二类属性包括标准通知的公共属性;第二电子设备根据第一类属性和第二类属性生成第二通知消息。
在该实施方式中,第一通知消息为标准消息,第二通知消息是根据第一通知消息生成的。
在一种可能的实施方式中,第二电子设备根据第一类属性和第二类属性生成第二通知消息,包括:判断JSON对象对应的第一通知消息是否使能了类型属性,类型属性用于表示通知消息的类型;如果根据第二类属性确定第一通知消息使能了类型属性,第二电子设备从JSON对象中获取第三类属性,第三类属性是与第一通知消息的类型对应的属性,不同类型的通知消息对应的第三类属性不同;第二电子设备将第一类属性、第二类属性和第三类属性生成第二通知消息。
在该实施方式中,第一通知消息包括第三类属性,第二电子设备解码时也对第三类属性进行解码。
附图说明
图1为一种多个电子设备组成信任环的场景示意图;
图2为本申请实施例提供的通知消息的处理方法所适用的一种场景示意图;
图3为本申请实施例提供的通知消息的处理方法所适用的系统架构示意图;
图4为本申请实施例提供的一种系统架构示意图;
图5为本申请实施例提供的一种电子设备的硬件结构示意图;
图6为本申请实施例提供的一种系统的软件架构示意图;
图7为本申请实施例提供的通知消息的处理方法的一种流程图;
图8为本申请实施例提供的通知消息的处理方法所适用的一种通知消息实例示意图;
图9为本申请实施例提供的通知消息的处理方法所适用的一种通知消息实例示意图;
图10为本申请实施例提供的通知消息的处理方法所适用的一种通知消息实例示意图;
图11为本申请实施例提供的通知消息的处理方法所适用的一种通知消息实例示意图;
图12为本申请实施例提供的通知消息的处理方法的一种流程图;
图13为本申请实施例提供的通知消息的处理方法所适用的一种通知消息实例示意图;
图14为本申请实施例提供的通知消息的处理方法的一种流程图;
图15为本申请实施例提供的通知消息的处理方法的一种流程图;
图16为本申请实施例提供的通知消息的处理方法所适用的一种通知消息实例示意图;
图17为本申请实施例提供的一种电子设备结构组成示意图。
具体实施方式
在本申请实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
如果用户在使用一个设备时,另一个设备上接收到通知消息,用户可能不能及时看到通知消息而遗漏通知消息。示例性的,如图1所示,用户切换使用手机10、笔记本电脑20和平板电脑30。当用户使用笔记本电脑20收看视频时,手机10上产生一条通知消息101,在通知栏显示通知消息101。该通知消息101是手机10上“聊天”应用产生的通知消息。笔记本电脑20和平板电脑30上没有运行“聊天”应用,未产生“聊天”应用的通知消息。用户不会及时查看手机10上的通知消息,可能会造成通知消息遗漏。
本申请实施例提供一种通知消息的处理方法,第一电子设备上产生通知消息,则向与第一电子设备处于同一信任环的至少一个第二电子设备流转该通知消息。这样,第一电子设备和第二电子设备都可以显示该通知消息,避免通知消息遗漏。示例性的,如图2所示,手机10、笔记本电脑20和平板电脑30处于同一信任环。手机10上的“聊天”应用产生一条通知消息,手机10的通知栏显示通知消息101。手机10还向笔记本电脑20和平板电脑30分别流转该通知消息。笔记本电脑20的通知栏显示通知消息201,平板电脑30的通知栏显示通知消息301。
本申请实施例提供的通知消息的处理方法,可以应用于多个电子设备组成的信任环。比如,登录同一账户的多个电子设备接入同一个局域网或者直接连接(比如建立Wi-Fi直连,建立蓝牙连接),具备互相通信的能力,即这些电子设备组成了信任环。
上述电子设备可以包括手机、平板电脑、笔记本电脑、智慧屏、智能音箱、个人电脑(personal computer,PC)、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、智能家居设备(比如,智能电视、大屏、智能空调等)、个人数字助理(personal digital assistant,PDA)、可穿戴设备(比如,智能手表、智能手环等)、车载设备、虚拟现实设备等,本申请实施例对此不做任何限制。
示例性的,如图3所示,手机、智慧屏、平板电脑、智能手环和智能音箱登录同一账号,并且接入同一个局域网,组成了一个信任环。
在一些场景下,上述信任环中包括第一电子设备100和第二电子设备200。其中,第一电子设备100可以是上述信任环中任一电子设备。第一电子设备100上第一应用产生通知消息。第一电子设备100在状态栏显示该通知消息。第二电子设备200为满足预设条件的电子设备。该预设条件包括:第二电子设备与第一电子设备属于同一个信任环。该预设条件还包括:电子设备是亮屏的。可选的,预设条件还可以包括:通过身份认证(比如人脸认证)确定第二电子设备与第一电子设备的使用者为同一用户。
如图4所示,第一电子设备100将第一应用的通知消息流转至第二电子设备200。第二电子设备200接收并显示该通知消息。这样,第一电子设备100和第二电子设备200上都显示第一应用产生的通知消息。即使第二电子设备200上没有安装或者没有运行第一应用,也可以及时向用户展示第一应用的通知消息,避免用户遗漏通知消息。
图5示出了电子设备500的一种结构示意图。该电子设备500可以是上述信任环中的任意一个电子设备,比如上述第一电子设备100或第二电子设备200。电子设备500可以包括:处理器510,存储器520,通用串行总线(universal serial bus,USB)接口530,电源管理模块540,天线,通信模块550,显示屏560,音频模块570,摄像头580等。
可以理解的是,本实施例示意的结构并不构成对电子设备500的具体限定。在另一些实施例中,电子设备500可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器510可以包括一个或多个处理单元,例如:处理器510可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以是电子设备500的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器510中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器510中的存储器为高速缓冲存储器。该存储器可以保存处理器510刚用过或循环使用的指令或数据。如果处理器510需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器510的等待时间,因而提高了系统的效率。
在一些实施例中,处理器510可以包括一个或多个接口。接口可以包括集成电路(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)接口530等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
存储器520可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器510通过运行存储在存储器520的指令,从而执行电子设备的各种功能应用以及数据处理。存储器520可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,界面显示功能等)。存储数据区可存储电子设备使用过程中所创建的数据(比如通知消息)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电源管理模块540用于连接电池与处理器510。电源管理模块540接收电池和/或电源输入,为处理器510,存储器520,通信模块550,显示屏560,显示屏560和摄像头580等供电。电源管理模块540还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块540也可以设置于处理器510中。
通信模块550可以提供应用在电子设备500上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信(near field communication,NFC),红外(infrared,IR)等无线通信的解决方案。通信模块550可以是集成至少一个通信处理模块的一个或多个器件。通信模块550经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器510。通信模块550还可以从处理器510接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
在一些实施例中,电子设备500的天线和通信模块550耦合,使得电子设备500可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(generalpacket radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long termevolution,LTE),BT,GNSS,WLAN,NFC ,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system ,GPS),全球导航卫星系统(global navigationsatellite system,GLONASS),北斗卫星导航系统(beidou navigation satellitesystem,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
本申请实施例中,电子设备500可以通过Wi-Fi接入局域网,与其他电子设备组成信任环。或者,电子设备500可以通过蓝牙与其他电子设备建立连接,组成信任环。进一步的,电子设备500可以通过Wi-Fi或蓝牙向其他电子设备转发通知消息。
电子设备500通过GPU,显示屏560,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏560和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器510可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏560用于显示图像,视频等。该显示屏560包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Mini-LED,Micro-OLED,Micro-OLED,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。本申请实施例中,显示屏560可以用于显示通知消息。
电子设备500可以通过ISP,摄像头580,视频编解码器,GPU,显示屏560以及应用处理器等实现拍摄功能。
音频模块570用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块570还可以用于对音频信号编码和解码。在一些实施例中,音频模块570可以设置于处理器510中,或将音频模块570的部分功能模块设置于处理器510中。
摄像头580用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。
在本申请实施例中,上述电子设备500是可以运行操作系统,安装应用程序的电子设备。可选地,电子设备500运行的操作系统可以是Android®系统,Windows®系统,iOS®系统等。在一些实施例中,电子设备500的软件系统可以采用分层架构,事件驱动架构,微核架构或云架构。本申请实施例以分层架构Android®系统为例进行介绍。
可以理解的是,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,Android®系统可以包括应用程序(application,App)层(简称应用层)、应用程序框架(framework,FWK)层(简称框架层)、中间层等。
应用程序层可以包括一系列应用程序包。比如,如图6所示,第一电子设备100的应用程序包可以包括相机,WLAN,蓝牙,“聊天”,全局UI(SystemUI)等应用程序。第二电子设备200的应用程序包可以包括相机,WLAN,蓝牙,全局UI(SystemUI)等应用程序。全局UI(SystemUI)可以用于接收通知消息。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。示例性的,应用程序框架层可以包括窗口管理器(window manager service,WMS),视图系统,资源管理器,通知管理模块,活动管理器(activity manager service,AMS)等。
窗口管理器WMS用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。活动管理器AMS用于负责管理Activity,负责系统中各组件的启动、切换、调度及应用程序的管理和调度等工作。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理模块使应用程序可以在状态栏中显示通知消息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理模块被用于告知下载完成,消息提醒等。通知管理模块还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。本申请实施例中,通知管理模块还可以用于调用通知编码模块进行编码;还可以用于调用通知解码模块对JSON对象进行解码。
示例性的,如图6所示,第一电子设备100的应用程序框架层还包括通知编码模块,用于对通知消息进行编码。第二电子设备200的应用程序框架层还包括通知解码模块,用于对通知消息进行解码。
中间层包括本地框架、接续框架等。本地框架用于本地通知消息的分发、封装,将消息送到显示屏上显示。接续框架用于分发、封装电子设备向外发送的消息,将消息送到传输模块,向其他电子设备发送;还用于从传输模块接收其他电子设备的消息并向上传输该消息。
示例性的,结合图6,图7示出了本申请实施例提供的通知消息的处理方法的一种具体流程示意。如图7所示,该方法包括:
S701、第一电子设备的全局UI接收到第一通知消息。
在一些实施例中,第一电子设备100上的第一应用产生第一通知消息。示例性的,第一应用为“聊天”应用。“聊天”应用产生第一通知消息,第一通知消息通过本地框架分发至第一电子设备100的显示屏进行显示。示例性的,如图2所示,第一电子设备100为手机10,手机10的状态栏显示通知消息101。第一电子设备100的SystemUI接收到该第一通知消息。
S702、第一电子设备的全局UI调用通知监听服务读取第一通知消息对应的状态栏通知消息。
SystemUI调用通知监听服务(notification listener service,NLS)读取第一通知消息对应的状态栏通知消息(StatusBarNotification,SBN)。状态栏通知消息(SBN)包括第一通知消息的全部属性,每个属性用于指示通知消息的一项内容;每个属性包括属性名称和属性值。
S703、第一电子设备的全局UI判断第一通知消息是否允许流转。如果允许流转,执行S704。
SystemUI根据预设的白名单判断第一通知消息是否允许流转。比如,预设的白名单包括至少一个应用名称(或应用标识),表示该应用名称(或应用标识)对应的应用程序产生的通知消息允许跨设备流转。该白名单可以是用户预先保存在第一电子设备内的。或者,该白名单可以是根据用户设置在第一电子设备上生成的。
在一种示例中,SystemUI确定第一应用在预设的白名单内,则确定第一应用生成的第一通知消息允许跨设备流转。
需要说明的是,本申请并不限定S702和S703执行的先后顺序。在另一些实施例中,第一电子设备的全局UI判断第一通知消息是否允许流转,如果允许流转,调用通知监听服务读取第一通知消息对应的状态栏通知消息(SBN),再执行S704。
S704、第一电子设备的全局UI向通知管理模块发送第一通知消息对应的状态栏通知消息(SBN)。
S705、第一电子设备的通知管理模块判断是否存在至少一个第二电子设备。如果确定存在至少一个第二电子设备,执行S706。如果确定不存在第二电子设备,停止流转该第一通知消息。
在一种示例中,预设条件包括:第二电子设备与第一电子设备属于同一个信任环。比如,第一电子设备和第二电子设备登录了同一个用户账号;并且第一电子设备和第二电子设备接入同一个局域网(比如,接入同一个Wi-Fi网络),或通过Wi-Fi直连、蓝牙等方式组成局域网。
在一种示例中,预设条件还包括:第二电子设备的设备状态是预设状态。比如,第二电子设备是亮屏状态。比如,第二电子设备是解锁状态。
可选的,在一种示例中,预设条件还包括:通过身份认证确定第二电子设备与第一电子设备的使用者为同一用户。身份认证可以包括人脸认证、指纹认证或语音认证等。
通知管理模块还保存确定出的第二电子设备200的节点标识(NodeID),节点标识用于在协同工作的系统内唯一标识一个电子设备。
S706、第一电子设备的通知管理模块向通知编码模块发送第一通知消息对应的SBN。
S707、第一电子设备的通知编码模块对第一通知消息对应的SBN进行编码。
通知编码模块接收状态栏通知消息(第一通知消息对应的SBN),对该状态栏通知消息进行编码。在一种实现方式中,通知编码模块将状态栏通知消息编码为JSON对象(jsonObject),向通知管理模块返回JSON对象。
状态栏通知消息(SBN)包括多个属性,每个属性包括属性名称和属性值。根据属性名称,SBN的属性可以划分为第一类属性(标志属性)、第二类属性(公共属性)和第二类属性(模板属性)。
第一类属性是通知消息的通用属性。示例性的,第一类属性可以包括表1所示内容。需要说明的是,表1中所示属性仅为示例,实际应用中,第一类属性可以包括更多或更少的属性,属性名称也可以根据实际情况调整。
表1
Figure 302731DEST_PATH_IMAGE001
其中,remoteView表示通知消息是否使用应用自定义模板;如果通知消息使用应用自定义模板,表示该通知消息为非标准通知;如果通知消息未使用应用自定义模板,即使用通用模板(Android中通知消息的通用模板)构建,表示该通知消息为标准通知。
如果通知消息是标准通知,则该通知消息还包括第二类属性。第二类属性是标准通知的公共属性。示例性的,第二类属性包括表2的内容。需要说明的是,表2中所示属性仅为示例,实际应用中,第二类属性可以包括更多或更少的属性,属性名称也可以根据实际情况调整。
表2
Figure 891975DEST_PATH_IMAGE002
其中,style表示通知消息的类型;通知消息的类型可以包括大文本类型(BigTextStyle),大图片类型(BigPictureStyle),收件箱类型(InboxStyle),自定义类型(DecoratedCustomViewStyle),信息类型(MessagingStyle)等。通知消息可以使能类型属性,也可以不使能类型属性。如果未使能类型属性(比如style为0,或style为空),通知消息不包括第三类属性;如果使能了类型属性,比如,通知消息的类型为BigTextStyle、BigPictureStyle、InboxStyle、DecoratedCustomViewStyle或MessagingStyle,则通知消息包括第三类属性。
第三类属性是不种类型的通知消息特有的属性,通知消息的类型不同,则其包含的第三类属性不同。
比如,通知消息的类型为BigTextStyle,BigTextStyle特有的属性包括bigText(长文本),bigText用于指示通知消息中长文本的内容,数据格式为字符串(String)。示例性的,如图8所示,页面801为通知消息展示页面,页面801中包括长文本802。该通知消息的类型为BigTextStyle,该SBN包括属性bigText,bigText的属性值为长文本802的内容。
比如,通知消息的类型为BigPictureStyle,BigPictureStyle特有的属性包括bigPicture(大图片),largeIcon(大图标),bigLargeIcon(放大图标),action(动作)。bigPicture用于指示通知消息中的大图片(比如图片宽高限制在416*284dp,低内存下是294*208dp) ,数据格式为bitmap的Base64编码;largeIcon指示通知消息中的大图标;bigLargeIcon指示通知消息展开时显示的大图标内容,数据格式为bitmap的Base64编码;action用于指示可操作控件。示例性的,如图9所示,页面901为通知消息展示页面,页面901中包括大图标902和下拉按钮903。下拉按钮903为可操作控件,用户可以点击可操作性控件,与电子设备进行交互;比如,响应于用户对下拉按钮903的点击操作,页面901扩展显示。该通知消息的类型为BigPictureStyle,SBN包括属性largeIcon,largeIcon的属性值为大图标902的内容。该SBN还包括属性action,action用于指示可操作控件(比如下拉按钮)。该SBN还包括属性bigLargeIcon,bigLargeIcon的属性值为页面901扩展显示时显示的图片内容(即图片904)。需要说明的是,当属性的属性值为空,表示不使用该属性。比如,SBN中属性bigPicture的属性值为空,相应的,页面901中不包括大图片。
比如,通知消息的类型为InboxStyle,InboxStyle特有的属性包括texts(文本),texts用于指示通知消息中的文字内容,数据格式为CharSequence(字符序列)。示例性的,如图10所示,页面1001为通知消息展示页面,页面1001中包括文本1002。该通知消息的类型为InboxStyle,SBN包括属性texts,texts的属性值即为文本1002的内容。
比如,通知消息的类型为MessagingStyle,MessagingStyle特有的属性包括conversationTitle(会话标题),messagingUser(信息接收方),messages(信息),historicMessages(历史信息),unreadMessageCount(未读信息数量),action等。conversationTitle用于指示会话(conversation)通知的标题(title),数据格式为String。messagingUser用于指示当前信息接收方,数据结构是Person(用户);Person包括name(名字),icon(图标),isImportant(重要程度标识);name用于指示用户的名字,数据格式为String;icon用于指示用户的头像,数据格式为bitmap的Base64编码;isImportant用于指示该用户是否重要,数据格式为boolean。messages用于指示信息的内容,数据格式为JsonArray;JsonArray包含多条Message,每条Message包含text,timestamp,sender和remoteInputHistory;text用于指示消息内容,数据格式为String;timestamp用于指示信息的发送时间,数据格式为String;sender用于指示该信息的发送方;remoteInputHistory用于指示该信息是否根据历史回复生成,数据格式为boolean。historicMessages用于指示该通知消息中的历史回复信息,数据格式为2条Message组成的JsonArray。unreadMessageCount用于指示未读信息的数量,数据格式为Integer。action用于指示可操作控件的内容示例性的,如图11所示,页面1101为通知消息展示页面,页面1101中包括信息页面1102和信息页面1103。该通知消息的类型为MessagingStyle,SBN中包括属性historicMessages,historicMessages用于指示信息页面1102的内容;该SBN中还包括属性messages,messages用于指示信息页面1103的内容。
本申请实施例提供的通知消息的处理方法,通知编码模块根据状态栏通知消息(SBN)的属性分类进行编码。编码时,先对第一类属性(标志属性)编码。然后判断第一通知消息是否标准通知;如果为非标准通知,则编码为预定义的通知消息对应的JSON对象;如果是标准通知,继续对第二类属性(公共属性)编码。之后,判断第一通知消息对应的SBN是否包括第三类属性;如果包括第三类属性(模板属性),再根据第一通知消息的类型对该类型对应的第三类属性(模板属性)进行编码;生成JSON对象。这样,第二电子设备接收到第一通知消息(JSON对象)后,可以按照同样的规则,先解码第一类属性(标志属性),根据第一类属性判断通知消息是否标准通知。如果确定为非标准通知,则解码为预定义的通知消息对应的SBN。如果确定为标准通知,再解码第二类属性(公共属性)。根据第二类属性确定是否包括第三类属性。如果确定不包括第三类属性,则生成SBN;如果确定包括第三类属性,再按照通知消息的类型解码第三类属性(模板属性),生成SBN。第二电子设备获取到状态栏通知消息(SBN)的每个属性的属性名称和属性值;根据状态栏通知消息(SBN)的属性进行重构,生成第二通知消息并展示。由于第一电子设备按照预设规则(根据属性分类)编码,第二电子设备按照与第一电子设备相应的预设规则(根据属性分类)解码,可以保证第二电子设备获取与第一电子设备上完全相同的SBN,使得第二电子设备上第二通知消息展示的控件及布局与第一电子设备上第一通知消息展示的控件及布局完全相同,即保证了第一电子设备和第二电子设备上展示的通知消息的一致性。
示例性的,图12为本申请实施例提供的一种编码方式的流程示意图。该流程可以为上述S707,第一电子设备的通知编码模块对第一通知消息对应的SBN进行编码的流程。
如图12所示,开始编码时,通知编码模块先对状态栏通知消息(SBN)中第一类属性(标志属性)进行编码。在一种实现方式中,通知编码模块将状态栏通知消息(SBN)中每个标志属性的属性名称和属性值封装到JSON对象。
之后,判断第一通知消息是不是标准通知。标准通知,为符合通用格式的通知消息;非标准通知,为应用自定义格式的通知消息。在一种实现方式中,通知编码模块根据第一通知消息对应的SBN中属性remoteView的属性值进行判断;如果根据remoteView的属性值确定第一通知消息使用应用自定义模板,则确定第一通知消息为非标准通知;如果根据remoteView的属性值确定第一通知消息未使用应用自定义模板,则确定第一通知消息为标准通知。
如果第一通知消息为非标准通知,编码为预定义的通知消息对应的JSON对象。比如,将预定义的通知内容“您接收到一条通知消息,请及时查看”封装到JSON对象。也就是说,预定义的通知消息对应的JSON对象包括标志属性封装成的JSON对象以及预定义的通知内容封装成的JSON对象。
如果第一通知消息是标准通知,通知编码模块对第一通知消息对应的SBN中第二类属性(公共属性)进行编码。在一种实现方式中,通知编码模块将第一通知消息对应的SBN中每个公共属性的属性名称和属性值封装到JSON对象。
进一步的,通知编码模块根据属性style的属性值确定第一通知消息的类型。如果style的属性值为0,确定第一通知消息对应的SBN不包括模板属性,则结束编码过程;即仅对SBN中第一类属性(标志属性)和第二类属性(公共属性)进行编码,生成JSON对象。如果style的属性值为1或2或3或4或5,确定第一通知消息对应的SBN包括模板属性,则根据第一通知消息的类型对该SBN中第三类属性(模板属性)进行编码。在一种实现方式中,通知编码模块根据第一通知消息的类型获取该类型对应的模板属性,将该类型对应的模板属性的属性名称和属性值封装到JSON对象。即对SBN中第一类属性(标志属性)、第二类属性(公共属性)和第三类属性(模板属性)进行编码,生成JSON对象。需要说明的是,如果属性的属性值为空,表示不使用该属性。编码时也对该属性进行编码,对应的值为“null”。第二电子设备解码时就可以获取到该属性,如果确定属性对应的值为“null”,则确定属性的属性值为空。
下面,以图13所示通知消息为例,示例性介绍通知编码模块对通知消息进行编码的方法。如图13所示,“通知”1301是第一通知消息的展示界面,包括小图标1302、“聊天”控件1303、时间1304、通知标题1305、通知正文1306和大图标1307。
通知编码模块获取到“通知”控件1301对应的SBN(即第一通知消息对应的SBN)。先对SBN中的标志属性进行编码。标志属性包括:sbnKey,channelId,appLock,remoteView,smallIcon,when,showWhen,usesChronometer,chronometerCountDown。参考图13,示例性的,sbnKey 的属性值为N1。channelId的属性值为N2,表示第一通知消息的重要程度为在通知栏显示。appLock的属性值为false,表示该应用程序(第一应用)不是应用锁状态。remoteView的属性值为N3,表示不使用自定义模板(即第一通知消息为标准通知)。smallIcon的属性值为小图标1302的内容。when的属性值为N4,为第一通知消息的发送时间。showWhen的属性值为true,表示显示第一通知消息的发送时间。usesChronometer的属性值为false,表示不显示计时。chronometerCountDown的属性值为false。
通知编码模块根据remoteView的属性值确定第一通知消息为标准通知,然后,对SBN中的公共属性进行编码。示例性的,公共属性包括:headerAppname,contentTitle,contentText,subText,contentIntent,deleteIntent,style。参考图13,示例性的,headerAppname的属性值为“聊天”,表示发送该第一通知消息的第一应用的名称为“聊天”。contentTitle的属性值为 “小红”,表示第一通知消息的标题为“小红”。contentText的属性值为 “今天去跑步吗”,表示第一通知消息的内容为“今天去跑步吗”。subText的属性值为false,表示不包括小标题。style的属性值为2,表示第一通知消息的类型为BigPictureStyle。contentIntent的属性值为空,deleteIntent的属性值为空。
通知编码模块根据style的属性值确定第一通知消息的类型为BigPictureStyle,则确定第三类属性包括:bigPicture,largeIcon,bigLargeIcon,action。参考图13,示例性的,bigPicture的属性值为空。largeIcon的属性值为大图标1307的内容。bigLargeIcon的属性值为空。action的属性值为空。通知编码模块对bigPicture,largeIcon,bigLargeIcon和action进行编码。
其中,当属性为bigPicture、smallIcon 、largeIcon、bigLargeIcon等图片类型时,需要将图片转化为String格式,再进行编码。在一种示例中,图14示出了一种对图片类型的属性进行编码的方法。示例性的,如图14所示,在对图片进行编码时,先将图片转换为位图(bitmap)格式。在一种实现方式中,获取图片中的可绘制(drawable)对象。之后,根据图片的类型和尺寸获取bitmap的尺寸。再用drawable对象在bitmap的画布(canvas)上绘制,得到图片对应的bitmap。
然后将bitmap转换为字节(Byte)数组。再将Byte数组转换为String。这样,就可以将String编码为JSON对象。
经过对标志属性、公共属性和模板属性的编码,生成了第一通知消息对应的JSON对象。示例性的,第一通知消息对应的JSON对象如下:
{
“appLock”:false,
“remoteView”:“N3”,
“channelId”:“N2”,
“sbnKey”:“N1”,
“smallIcon”:“XXXXXXXXXXXXX”,
“when”:“N4”,
“showWhen”:true,
“usesChronometer”:false,
“chronometerCountDown”:false,
“headerAppname”:“聊天”,
“contentTitle”:“小红”,
“contentText”:“今天去跑步吗”,
“subText”:false,
“style”:“2”,
“contentIntent”:null,
“deleteIntent”:null,
“bigPicture”:null,
“largeIcon”:“XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”,
“bigLargeIcon”:null,
“action”:null
}
S708、第一电子设备的通知编码模块向通知管理模块发送编码生成的JSON对象。
S709、第一电子设备的通知管理模块向接续框架发送JSON对象以及保存的节点标识(比如节点标识列表)。
S710、第一电子设备的接续框架调用传输模块向节点标识对应的电子设备发送第一消息。第一消息中包括编码生成的JSON对象。
示例性的,第一电子设备通过Wi-Fi或蓝牙方式发送第一消息。
示例性的,节点标识对应的电子设备为第二电子设备。如图15所示,本申请实施例提供的通知消息的处理方法还包括:
S711、第二电子设备的传输模块接收到第一消息。
S712、第二电子设备的传输模块通过接续框架向通知管理模块传递第一消息。
S713、第二电子设备的通知管理模块接收到第一消息,根据第一消息获取JSON对象。
可选的,通知管理模块获取第一消息中的数据,对数据进行数据类型判断,如果确定数据类型是JSON格式,执行S714。
S714、第二电子设备的通知管理模块向通知解码模块发送JSON对象。
S715、第二电子设备的通知解码模块对JSON对象进行解码,生成SBN。
通知解码模块按照与第一电子设备的通知编码模块相应的预设规则(根据属性分类),对JSON对象进行解码。
在一种实现方式中,通知解码模块先解码第一类属性。根据第一类属性中的remoteView的属性值判断通知消息是否标准通知。
如果确定为非标准通知,解码为预定义的通知消息对应的SBN;其中包括标志属性以及预定义的通知内容。
如果确定是标准通知,通知解码模块解码第二类属性。然后,根据第二类属性中style的属性值确定该通知消息的类型。如果style的属性值为0,确定不包括模板属性,则生成SBN;其中包括第一类属性和第二类属性。如果style的属性值不为0(1或2或3或4或5),根据通知消息的类型解码对应的第三类属性,并生成SBN;其中包括第一类属性、第二类属性以及通知消息的类型对应的第三类属性。
仍然以图13所示通知消息为例,通知解码模块接收到JSON对象,按照与第一电子设备编码对应的规则,先对第一类属性进行解码,获取sbnKey,channelId,appLock,remoteView,smallIcon,when,showWhen,usesChronometer,chronometerCountDown的属性值。通知解码模块确定remoteView的属性值为N3,表示不使用自定义模板(即通知消息为标准通知),则对第二类属性进行解码,获取headerAppname,contentTitle,contentText,subText,contentIntent,deleteIntent,style的属性值。进一步的,通知解码模块确定style的属性值为2,表示通知消息的类型为BigPictureStyle,则对第三类属性进行解码,获取BigPictureStyle对应的bigPicture,largeIcon,bigLargeIcon,action的属性值。这样,通知解码模块将JSON对象解码为了SBN。
由于通知解码模块采用与通知编码模块的编码规则对应的规则进行解码,可以成功获取第一通知消息对应的SBN。这样,第二电子设备展示的通知消息可以与第一电子设备展示的第一通知消息保持一致,保证通知消息在不同电子设备上展示的一致性。
S716、第二电子设备的通知解码模块向全局UI发送SBN。
S717、全局UI对SBN进行重构,生成第二通知消息。
在一种实现方式中,全局UI将SBN放入通知消息的Builder中,生成第二通知消息。进一步的,全局UI通过本地框架将第二通知消息分发至第二电子设备的显示屏进行显示。
由于第二通知消息与第一通知消息对应的SBN相同,所以二者包括的控件、控件的布局都是一致的。当第二电子设备上通知消息的Builder与第一电子设备上通知消息的Builder相同时,第二电子设备上显示的第二通知消息与第一电子设备上显示的第一通知消息可以实现完全一致。示例性的,第二电子设备200包括笔记本电脑20和平板电脑30。在一种示例中,第一通知消息为非标准通知,笔记本电脑20和平板电脑30接收到手机10流转的通知消息,显示如图16所示的通知消息1501。通知消息1501包括小图标1502,消息发送时间1503,以及预定义的通知内容1504。在另一种示例中,第一通知消息为标准通知,如图2所示,笔记本电脑20从手机10接收到通知消息101对应的JSON对象,经过处理后在状态栏显示通知消息201;平板电脑30从手机10接收到通知消息101对应的JSON对象,经过处理后在状态栏显示通知消息301。
由图6和图15可知,第二电子设备200上显示的第二通知消息是SystemUI根据第一电子设备100流转的通知消息产生的。在一种示例中,显示的通知消息中包括该通知消息的来源为第一电子设备。如图2所示,笔记本电脑20显示的通知消息201中包括文字“来自XX手机”,其中,“XX”为手机型号,表示该通知消息的来源为手机(第一电子设备)。平板电脑30显示的通知消息301中包括文字“来自XX手机”,其中,“XX”为手机型号,表示该通知消息的来源为手机(第一电子设备)。
本申请实施例提供的通知消息的处理方法,第一电子设备上第一应用产生的通知消息,不仅在第一电子设备的状态栏进行显示,还流转至与第一电子设备同一信任环的至少一个第二电子设备进行显示。这样,即使第二电子设备没有安装第一应用或没有运行第一应用,也会显示该第一应用产生的通知消息;避免用户遗漏消息,方便用户查看。
可以理解的是,本申请实施例提供的电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对上述电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在一种示例中,请参考图17,其示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。该电子设备1600包括:处理单元1610、存储单元1620、显示单元1630和通信单元1640。
其中,处理单元1610,用于对电子设备1600的动作进行控制管理。存储单元1620用于保存电子设备1600的程序代码和数据,处理单元1610调用存储单元1620存储的程序代码,以执行以上方法实施例中的各个步骤。显示单元1630用于显示电子设备1600的用户界面。通信单元1640用于电子设备1600与其他电子设备进行通信。
当然,上述电子设备1600中的单元模块包括但不限于上述处理单元1610、存储单元1620、显示单元1630和通信单元1640。例如,电子设备1600中还可以包括电源单元等。电源单元用于对电子设备1600供电。
其中,处理单元1610可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,CPU),数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。存储单元1620可以是存储器。显示单元1630可以是显示屏等。通信单元1640可以是无线通信单元。
例如,处理单元1610为处理器(如图5所示的处理器510),存储单元1620可以为存储器(如图5所示的存储器520),显示单元1630可以为显示屏(如图5所示的显示屏560)。通信单元1640可以为无线通信模块(如图5所示的通信模块550)。本申请实施例所提供的电子设备1600可以为图5所示的电子设备500。其中,上述处理器、存储器、显示屏、通信模块等可以连接在一起,例如通过总线连接。处理器调用存储器存储的程序代码,以执行以上方法实施例中的各个步骤。
本申请实施例还提供一种芯片系统,该芯片系统包括至少一个处理器和至少一个接口电路。处理器和接口电路可通过线路互联。例如,接口电路可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路可用于向其它装置(例如处理器)发送信号。示例性的,接口电路可读取存储器中存储的指令,并将该指令发送给处理器。当所述指令被处理器执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中手机执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中手机执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (13)

1.一种通知消息的处理方法,其特征在于,所述方法包括:
第一电子设备显示应用的第一通知消息;
所述第一电子设备获取所述第一通知消息对应的状态栏通知消息,所述状态栏通知消息包括所述第一通知消息的属性;
所述第一电子设备按照属性分类,依次对所述第一通知消息的属性进行编码,生成所述第一通知消息对应的JSON对象;
所述第一电子设备向第二电子设备发送所述JSON对象,其中,所述第二电子设备根据所述JSON对象获取第二通知消息,并显示所述第二通知消息;
所述第一电子设备按照属性分类,依次对所述第一通知消息的属性进行编码,包括:
所述第一电子设备对所述状态栏通知消息中的第一类属性进行编码,所述第一类属性包括通知消息的通用属性;
判断所述第一通知消息是否为标准通知,所述标准通知为使用通用模板构建的通知;
如果根据所述第一类属性确定所述第一通知消息为标准通知,所述第一电子设备对所述状态栏通知消息中第二类属性进行编码,所述第二类属性包括标准通知的公共属性;
其中,所述第二通知消息与所述第一通知消息相关。
2.根据权利要求1所述的方法,其特征在于,所述第一电子设备按照属性分类,依次对所述第一通知消息的属性进行编码,还包括:
如果根据所述第一类属性确定所述第一通知消息不是标准通知,所述第一电子设备生成预定义的通知消息对应的JSON对象;
其中,所述第二通知消息与所述预定义的通知消息相关。
3.根据权利要求1所述的方法,其特征在于,所述第一电子设备按照属性分类,依次对所述第一通知消息的属性进行编码,还包括:
判断所述第一通知消息是否使能了类型属性,所述类型属性用于表示通知消息的类型;
如果根据所述第二类属性确定所述第一通知消息使能了类型属性,所述第一电子设备对所述状态栏通知消息中第三类属性进行编码;
其中,所述第三类属性是与所述第一通知消息的类型对应的属性,不同类型的通知消息对应的第三类属性不同。
4.根据权利要求3所述的方法,其特征在于,所述状态栏通知消息包括用于指示图片的第一属性,
所述第一电子设备按照属性分类,依次对所述第一通知消息的属性进行编码,还包括:
所述第一电子设备将所述第一属性的属性值由图片格式转化为位图格式,再将所述第一属性的属性值由位图格式转化为字节数组格式,再将所述第一属性的属性值由字节数组格式转化为字符串格式;
所述第一电子设备将字符串格式的第一属性编码为JSON对象。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述第一电子设备按照属性分类,依次对所述第一通知消息的属性进行编码,生成所述第一通知消息对应的JSON对象之前,所述方法还包括:
所述第一电子设备确定所述应用属于预设的白名单。
6.根据权利要求1-4任意一项所述的方法,其特征在于,
所述第二电子设备与所述第一电子设备登录同一用户账号,且所述第二电子设备与所述第一电子设备属于同一局域网或直接连接。
7.根据权利要求6所述的方法,其特征在于,所述第二电子设备满足预设条件,所述预设条件包括:
所述第二电子设备是亮屏的。
8.根据权利要求1-4任意一项所述的方法,其特征在于,所述第二通知消息中显示的通知消息来源为所述第一电子设备。
9.一种通知消息的处理方法,其特征在于,所述方法包括:
第一电子设备显示应用的第一通知消息;
所述第一电子设备获取所述第一通知消息对应的状态栏通知消息,所述状态栏通知消息包括所述第一通知消息的属性;
所述第一电子设备按照属性分类,依次对所述第一通知消息的属性进行编码,生成所述第一通知消息对应的JSON对象;
所述第一电子设备向第二电子设备发送所述JSON对象;
所述第二电子设备根据所述JSON对象获取第二通知消息,并显示所述第二通知消息;
所述第二电子设备根据所述JSON对象获取第二通知消息,包括:
所述第二电子设备对所述JSON对象进行解码;
所述第二电子设备从所述JSON对象中获取第一类属性,所述第一类属性包括通知消息的通用属性;
判断所述JSON对象对应的第一通知消息是否为标准通知,所述标准通知为使用通用模板构建的通知;
如果根据所述第一类属性确定所述第一通知消息为标准通知,所述第二电子设备从所述JSON对象中获取第二类属性,所述第二类属性包括标准通知的公共属性;
所述第二电子设备根据所述第一类属性和所述第二类属性生成第二通知消息。
10.根据权利要求9所述的方法,其特征在于,所述第二电子设备根据所述第一类属性和所述第二类属性生成第二通知消息,包括:
判断所述JSON对象对应的第一通知消息是否使能了类型属性,所述类型属性用于表示通知消息的类型;
如果根据所述第二类属性确定所述第一通知消息使能了类型属性,所述第二电子设备从所述JSON对象中获取第三类属性,所述第三类属性是与所述第一通知消息的类型对应的属性,不同类型的通知消息对应的第三类属性不同;
所述第二电子设备将所述第一类属性、所述第二类属性和所述第三类属性生成第二通知消息。
11.根据权利要求9所述的方法,其特征在于,所述第二电子设备根据所述JSON对象获取第二通知消息,包括:
如果根据所述第一类属性确定所述第一通知消息不是标准通知,所述第二电子设备根据所述JSON对象生成预定义的通知消息,所述第二通知消息为所述预定义的通知消息。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
显示屏;
存储器;
其中,所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如权利要求1-8任意一项所述的方法。
13.一种计算机可读存储介质,其特征在于,包括计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-8任意一项所述的方法。
CN202210842181.7A 2022-07-18 2022-07-18 一种通知消息的处理方法、电子设备及系统 Active CN114915607B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210842181.7A CN114915607B (zh) 2022-07-18 2022-07-18 一种通知消息的处理方法、电子设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210842181.7A CN114915607B (zh) 2022-07-18 2022-07-18 一种通知消息的处理方法、电子设备及系统

Publications (2)

Publication Number Publication Date
CN114915607A CN114915607A (zh) 2022-08-16
CN114915607B true CN114915607B (zh) 2022-10-11

Family

ID=82772573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210842181.7A Active CN114915607B (zh) 2022-07-18 2022-07-18 一种通知消息的处理方法、电子设备及系统

Country Status (1)

Country Link
CN (1) CN114915607B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116095219A (zh) * 2022-08-31 2023-05-09 荣耀终端有限公司 通知显示方法和终端设备
CN116095224B (zh) * 2022-08-31 2023-10-31 荣耀终端有限公司 通知显示方法和终端设备
CN116719649A (zh) * 2022-09-01 2023-09-08 荣耀终端有限公司 会话通知的提示方法、电子设备及可读存储介质
CN116708334A (zh) * 2022-09-23 2023-09-05 荣耀终端有限公司 一种通知消息的显示方法及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012092679A1 (en) * 2011-01-06 2012-07-12 Research In Motion Limited Delivery and management of status notifications for multiple message formats
CN103581287A (zh) * 2012-07-31 2014-02-12 京瓷办公信息系统株式会社 推送通知系统以及推送通知方法
CN103995707A (zh) * 2014-06-11 2014-08-20 腾讯科技(深圳)有限公司 一种应用通知消息处理方法、装置及终端设备
CN104796458A (zh) * 2015-03-20 2015-07-22 四川长虹电器股份有限公司 安卓系统消息融合方法
CN105472168A (zh) * 2016-01-13 2016-04-06 陈包容 通讯信息的合并方法及装置
CN111147746A (zh) * 2019-12-30 2020-05-12 深圳市金龙锋科技有限公司 一种智能早教设备终端管理方法
CN113747374A (zh) * 2021-07-30 2021-12-03 荣耀终端有限公司 一种消息推送方法及装置
CN113885759A (zh) * 2021-06-25 2022-01-04 荣耀终端有限公司 通知消息处理方法、设备、系统及计算机可读存储介质
CN114173000A (zh) * 2020-08-20 2022-03-11 华为技术有限公司 一种回复消息的方法、电子设备和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666119B (zh) * 2019-03-06 2023-11-21 华为终端有限公司 Ui组件显示的方法及电子设备
CN109831456B (zh) * 2019-03-14 2021-11-23 腾讯科技(深圳)有限公司 消息推送方法、装置、设备及存储介质
US10489789B1 (en) * 2019-05-02 2019-11-26 Capital One Services, Llc Systems and methods for providing notifications to devices
CN114173204B (zh) * 2020-08-20 2023-09-22 华为技术有限公司 一种提示消息的方法、电子设备和系统
CN111404802A (zh) * 2020-02-19 2020-07-10 华为技术有限公司 通知处理系统、方法以及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012092679A1 (en) * 2011-01-06 2012-07-12 Research In Motion Limited Delivery and management of status notifications for multiple message formats
CN103581287A (zh) * 2012-07-31 2014-02-12 京瓷办公信息系统株式会社 推送通知系统以及推送通知方法
CN103995707A (zh) * 2014-06-11 2014-08-20 腾讯科技(深圳)有限公司 一种应用通知消息处理方法、装置及终端设备
CN104796458A (zh) * 2015-03-20 2015-07-22 四川长虹电器股份有限公司 安卓系统消息融合方法
CN105472168A (zh) * 2016-01-13 2016-04-06 陈包容 通讯信息的合并方法及装置
CN111147746A (zh) * 2019-12-30 2020-05-12 深圳市金龙锋科技有限公司 一种智能早教设备终端管理方法
CN114173000A (zh) * 2020-08-20 2022-03-11 华为技术有限公司 一种回复消息的方法、电子设备和系统
CN113885759A (zh) * 2021-06-25 2022-01-04 荣耀终端有限公司 通知消息处理方法、设备、系统及计算机可读存储介质
CN113747374A (zh) * 2021-07-30 2021-12-03 荣耀终端有限公司 一种消息推送方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Servlet异步处理技术在消息推送中的应用";张难生;《厦门城市职业学院学报》;20170331;全文 *
"Tracking events in mobile device management system";Bui Ngoc Duong;《2015 6th International Conference on Information, Intelligence, Systems and Applications (IISA)》;20160121;全文 *
信息推送在移动OA中的研究与应用;陈盼盼等;《软件》;20141215(第12期);全文 *

Also Published As

Publication number Publication date
CN114915607A (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
CN114915607B (zh) 一种通知消息的处理方法、电子设备及系统
US20230094272A1 (en) Notification Processing System, Method, and Electronic Device
WO2021051986A1 (zh) 设备之间建立连接的方法及电子设备
US20220304094A1 (en) Bluetooth Reconnection Method and Related Apparatus
WO2021121052A1 (zh) 一种多屏协同方法、系统及电子设备
CN113885759A (zh) 通知消息处理方法、设备、系统及计算机可读存储介质
US20220360942A1 (en) Bluetooth-based object searching method and electronic device
WO2021017894A1 (zh) 一种使用远程sim模块的方法及电子设备
WO2021143314A1 (zh) 一种降低移动终端功耗的方法及移动终端
CN111371849A (zh) 数据处理的方法和电子设备
US20240073978A1 (en) Method for monitoring link and terminal device
WO2022048371A1 (zh) 跨设备音频播放方法、移动终端、电子设备及存储介质
EP4310663A1 (en) Method for adjusting screen projection display parameters
US20230230196A1 (en) Casting Control Method and Apparatus
CN113645608B (zh) 数据传输方法和数据传输装置
CN113170279A (zh) 基于低功耗蓝牙的通信方法及相关装置
CN115119048B (zh) 一种视频流处理方法及电子设备
CN112422514A (zh) 多媒体数据传输方法、装置、智能家居设备及存储介质
CN116033158B (zh) 投屏方法和电子设备
CN116056050A (zh) 播放音频的方法、电子设备及系统
CN114338922B (zh) 视频播放方法和视频播放装置
WO2024001812A1 (zh) 消息管理方法、电子设备及系统
CN114449492B (zh) 数据传输方法及终端设备
WO2023142993A1 (zh) 一种探测方法、相关电子设备及系统
CN114900583B (zh) 控制视频彩振播放的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant