一种消息推送方法及装置

文档序号:1925761 发布日期:2021-12-03 浏览:14次 >En<

阅读说明:本技术 一种消息推送方法及装置 (Message pushing method and device ) 是由 赵钊 王文鹏 唐能福 何彦召 于 2021-07-30 设计创作,主要内容包括:本申请公开一种消息推送方法及装置,所述方法包括:在第一终端与第二终端成功建立通信连接的情况下,所述第一终端接收第一通知消息,并将所述第一通知消息推送到所述第二终端;在所述第一终端与所述第二终端断开通信连接的情况下,所述第一终端接收第二通知消息,并将所述第二通知消息存储到存储区中;在所述第一终端与所述第二终端由所述断开通信连接恢复到所述成功建立通信连接的情况下,所述第一终端将所述存储区中的通知消息推送到所述第二终端。从而及时向用户推送通知消息,提高终端人机交互性能,有效避免用户遗漏通知消息的问题。(The application discloses a message pushing method and a device, wherein the method comprises the following steps: under the condition that a first terminal and a second terminal successfully establish communication connection, the first terminal receives a first notification message and pushes the first notification message to the second terminal; under the condition that the first terminal is disconnected from the second terminal in communication, the first terminal receives a second notification message and stores the second notification message into a storage area; and under the condition that the first terminal and the second terminal are recovered to the successful establishment of the communication connection from the disconnection of the communication connection, the first terminal pushes the notification message in the storage area to the second terminal. Therefore, the notification message is pushed to the user in time, the man-machine interaction performance of the terminal is improved, and the problem that the user omits the notification message is effectively avoided.)

一种消息推送方法及装置

技术领域

本申请涉及计算机存储领域,尤其涉及一种消息推送方法及装置。

背景技术

蓝牙手环作为目前备受用户关注的科技产品,其拥有的强大功能正悄无声息地渗透和改变人们的生活。例如,蓝牙手环在与终端建立蓝牙连接后,蓝牙手环侧可以同步显示终端侧的通知消息,给用户带来极大的便利。

但是,由于蓝牙连接的通信范围有限,当用户佩戴蓝牙手环远离终端一段距离,会导致终端与蓝牙手环的蓝牙连接断开,蓝牙手环接收不到断开连接期间的未读通知消息,人机交互性能差,从而导致用户遗漏一些重要的通知信息。

发明内容

本申请提供一种消息推送方法,用于及时向用户推送通知消息,提高终端人机交互性能,有效避免用户遗漏通知消息的问题。

第一方面,本申请提供一种消息推送方法,所述方法包括:在第一终端与第二终端成功建立通信连接的情况下,所述第一终端接收第一通知消息,并将所述第一通知消息推送到所述第二终端;在所述第一终端与所述第二终端断开通信连接的情况下,所述第一终端接收第二通知消息,并将所述第二通知消息存储到存储区中;在所述第一终端与所述第二终端由所述断开通信连接恢复到所述成功建立通信连接的情况下,所述第一终端将所述存储区中的通知消息推送到所述第二终端。

在本申请实施例中,第一终端和第二终端可以是任意具备通信连接功能的电子设备,例如具备蓝牙通信、通用串行总线(Universal Serial Bus,USB)通信、WiFi通信或(近距离无线通信(near field communication,NFC))的电子设备。示例性的,该第一终端包括移动终端、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑以及超级移动个人计算机(ultra-mobile personal computer,UMPC)等具备通信连接功能的电子设备。示例性的,该第二终端包括可穿戴蓝牙设备(例如蓝牙手环、蓝牙手表)以及蓝牙车载设备等具备通信连接功能的电子设备。

一般地,当第一终端与第二终端断开通信连接的情况下,第一终端无法向第二终端推送通知消息。且当第一终端与第二终端恢复通信连接后,第一终端也不会再次向第二终端推送断开通信连接期间的未读通知消息,从而使得用户始终接收不到第一连接状态期间的未读通知消息,人机交互性能差,导致用户遗漏重要的通知消息。

然而,采用本申请实施例提供的消息推送方法方法,在第一终端与第二终端处于断开通信连接的情况下,将第一终端的通知消息存储到存储区中。从而在第一终端与第二终端恢复通信连接的情况下,基于通信连接将通知消息推送到第二终端。由此,及时向用户推送通知消息,提高第一终端以及第二终端的人机交互性能,有效避免用户遗漏重要通知消息的问题。

在一种可能的实施方式中,所述第一终端与第二终端成功建立通信连接具体包括:所述第一终端与所述第二终端成功建立通信连接,且所述第一终端与所述第二终端建立有进行数据交互的射频资源;所述第一终端与所述第二终端断开通信连接,具体包括:所述第一终端与所述第二终端成功建立通信连接,且所述第一终端与所述第二终端未建立有进行数据交互的射频资源;所述第一终端与所述第二终端恢复通信连接,具体包括:所述第一终端与所述第二终端由所述未建立有进行数据交互的射频资源恢复到所述建立有进行数据交互的射频资源,且所述第一终端与所述第二终端成功建立通信连接。

示例性的,当第一终端与第二终端进行数据交互的射频资源由于某种原因断开了(例如,受射频资源干扰信号,或者射频资源屏蔽仪器等的影响),从而使得第一终端与第二终端未建立有进行数据交互的射频资源。第一终端不能向第二终端发送第一终端接收到的通知消息。从而需要创建上述存储区,存储第一终端与第二终端建立了通信连接但未建立上述射频资源期间,第一终端接收到的通知消息。当在第一终端与第二终端恢复建立该射频资源以及第一终端与第二终端建立有通信连接时,及时向用户推送存储区中存储的通知消息。由此,一方面,填补第一终端与第二终端建立了通信连接,但第一终端由于一些外界因素等影响不能向第二终端推送通知消息的代码程序漏洞;另外一方面,及时向用户推送存储区中存储的通知消息,提高第一终端以及第二终端的人机交互性能,有效避免用户遗漏重要通知消息的问题。

在一种可能的实施方式中,所述第一终端与所述第二终端建立有进行数据交互的射频资源,具体包括:所述第二终端的工作模式为第一工作模式,且所述第一终端与所述第二终端未建立有进行数据交互的射频资源,所述第一工作模式包括非勿扰模式或非驾驶模式;所述第一终端与所述第二终端未建立有进行数据交互的射频资源,具体包括:所述第二终端的工作模式为第二工作模式,且所述第一终端与所述第二终端建立有进行数据交互的射频资源,所述第二工作模式包括勿扰模式或驾驶模式。

示例性的,第一终端为移动终端、第二终端为可穿戴设备。当移动终端与可穿戴设备建立了通信连接(例如通过蓝牙建立连接),但可穿戴设备处于勿扰模式的情况下,移动终端与可穿戴设备未建立有进行数据交互的射频资源,移动终端无法向可穿戴设备发送通知消息,则在移动终端侧创建上述存储区执行本申请实施例提供的方法。又例如,第一终端为移动终端、第二终端为车载设备。当移动终端与车载设备建立了通信连接(例如蓝牙连接、USB连接),但车载设备处于驾驶模式的情况下,移动终端与车载设备未建立有进行数据交互的射频资源,移动终端无法向车载设备发送通知消息,则在移动终端侧创建上述存储区执行本申请实施例提供的方法。

可理解的,第二终端处于勿扰模式或驾驶模式,则表明用户当前不希望被电子产品打扰。从而将第二终端处于勿扰模式或驾驶模式期间,第一终端接收到的通知消息存储到存储区中,可以避免在不适当的时间打扰用户的同时,当第二终端切换到非勿扰模式或非驾驶模式后,可以及时向用户推送存储区中存储的通知消息,有效避免用户遗漏重要通知消息的问题。

在一种可能的实施方式中,所述在第一终端与第二终端成功建立通信连接的情况下,所述第一终端接收第一通知消息,并将所述第一通知消息推送到所述第二终端,具体包括:在所述第一终端与所述第二终端成功建立通信连接,所述第一终端与所述第二终端建立有进行数据交互的射频资源,且所述第一终端运行第一配置的情况下,所述第一终端接收第一应用生成的第二通知消息,并将所述第二通知消息发送至所述第二终端;所述第一配置用于表示所述第一终端允许将所述第一应用的通知消息发送给所述第二终端;所述在所述第一终端与所述第二终端断开通信连接的情况下,所述第一终端接收第二通知消息,并将所述第二通知消息存储到存储区中,具体包括:在所述第一终端与所述第二终端成功建立通信连接,所述第一终端与所述第二终端建立有进行数据交互的射频资源,且所述第一终端运行第二配置的情况下,所述第一终端接收所述第一应用生成的第二通知消息,并将所述第二通知消息存储到存储区中;所述第二配置用于表示所述第一终端不允许将第一应用的通知消息发送给所述第二终端;所述第一终端与所述第二终端恢复通信连接,具体包括:所述第一终端由运行所述第二配置恢复为运行所述第一配置,所述第一终端与所述第二终端成功建立通信连接,且所述第一终端与所述第二终端建立有进行数据交互的射频资源。

示例性的,上述第一配置和第二配置可以是默认配置。例如,默认的,当第一终端确认当前时间为白天(例如上午九点到晚点八点)的情况下,第一终端运行第一配置,使得第一终端可以向第二终端推送第一应用(该第一应用可以包括一些不重要的应用程序,例如浏览器、网易云等应用程序)的通知消息。当第一终端确认当前时间为黑夜(例如晚上八点到早上九点)的情况下,第一终端运行第二配置,使得第一终端不可以向第二终端推送该第一应用的通知消息。

示例性的,上述第一配置和第二配置也可以是用户自定义的配置。例如,第一终端侧向用户提供了可以设置在黑夜或白天时第一终端是否可以向第二终端推送哪些应用的通知消息的功能。比如,用户设置了在黑夜或白天时第一终端可以向第二终端推送第一应用的通知消息,则第一终端在黑夜或白天时都运行第一配置。或者,当用户设置了在白天时第一终端可以向第二终端推送第一应用的通知消息,在黑夜时第一终端不可以向第二终端推送第一应用的通知消息,则第一终端在白天时运行第一配置,在黑夜时运行第二配置。

可理解的,无论该第一配置和第二配置为默认配置或是用户自定义的配置,都可以在一次设定后,多次反复使用。可以不用像开启勿扰模式等只能设定一次,使用一次。示例性的,用户一般会在夜间打开第二终端的勿扰模式,而在白天关闭第二终端的勿扰模式,从而用户需要每天执行开启关闭勿扰模式的动作。而采用上述第一终端白天默认运行第一配置、黑夜默认运行第二配置的方式,则用户只用允许该第一终端白天默认运行第一配置、黑夜默认运行第二配置的功能即可一次设定,多次反复使用该第一配置和第二配置的功能,不需要每天重复执行开启和关闭动作。由此,减少第一终端由于重复接收并响应用户开启或关闭动作带来的性能损耗,同时,也简化用户了操作步骤,给用户带来极大的便利。

另外,在本申请实施例中,当第一终端运行第二配置,第一终端不可以将第一应用的通知消息推送到第二终端时,将第一应用的通知消息存储到存储区。等到当第一终端恢复到运行第一配置,第一终端可以将第一应用的通知消息推送到第二终端时,再将存储区中存储的第一应用的通知消息推送到第二终端。从而及时向用户推送通知消息,提高第一终端以及第二终端的人机交互性能,有效避免用户遗漏重要通知消息的问题。

在一种可能的实施方式中,所述第一终端运行第一配置,具体包括:所述第一终端在确定所述第二终端的工作模式为第一工作模式的情况下,所述第一终端运行所述第一配置;所述第一工作模式包括非勿扰模式或非驾驶模式;所述第一终端运行第二配置,具体包括:所述第一终端在确定所述第二终端的工作模式为第二工作模式的情况下,所述第一终端运行所述第二配置;所述第二工作模式包括勿扰模式或驾驶模式。

也就是说,上述第一配置和第二配置可以是默认配置。例如,默认的,当第一终端确认第二终端处于第一工作模式(非勿扰模式或非驾驶模式)的情况下,第一终端运行第一配置,使得第一终端可以向第二终端推送第一应用(该第一应用可以包括一些不重要的应用程序,例如浏览器、网易云等应用程序)的通知消息。当第一终端确认第二终端处于第二工作模式(勿扰模式或驾驶模式)的情况下,第一终端运行第二配置,使得第一终端不可以向第二终端推送该第一应用的通知消息。

例如,当用户小做休息时,不希望被电子设备打扰,但是又不想错过重要的通知消息,则开启了第二终端的勿扰模式。勿扰模式期间允许第一终端推送重要应用的通知消息,但是不允许第一终端推送不重要的应用的通知消息。则将该不重要的通知消息存储到存储区中,等到第二终端关闭了勿扰模式后,再将存储区中的通知消息推送到第二终端。由此,将是否将通知消息存储到存储区中与勿扰模式建立关联关系,及时向用户推送通知消息,避免用户遗漏通知消息的同时,随时响应用户需求。

在一种可能的实施方式中,在第一终端确定所述第二终端处于所述第二工作模式,且接收到用户指示允许将所述第一应用的通知消息发送到所述第二终端的操作指令后,运行所述第一配置;或者,在第一终端确定所述第二终端处于所述第二工作模式,且接收到用户指示不允许将所述第一应用的通知消息发送到所述第二终端的操作指令后,运行所述第二配置。

也就是说,上述第一配置和第二配置也可以是用户自定义的配置。例如,用户设置了一个当第一终端处于勿扰模式或驾驶模式的情况下,第一终端不可以向第二终端发送通知消息的应用列表。当第一应用包含于该应用列表的情况下,第一终端运行第二配置。而当用户将第一应用移出该应用列表的情况下,第一终端运行第一配置。从而更进一步地响应用户需求。

在一种可能的实施方式中,所述存储区中存储有第三通知消息的发送时间,所述第三通知消息为所述存储区中的任意一条通知消息,所述方法还包括:在所述第三通知消息的发送时间和当前时间的时间差大于第一预设时长的情况下,将所述第三通知消息从所述存储区中删除。

可理解的,上述发送时间是指生成上述第三通知消息的应用将该第三通知消息发送给该第一终端的发送时间。示例性的,该第一预设时长为5分钟,也即第一终端只将当前时间五分钟内(包含五分钟)接收到的通知消息存储到存储区中。或者,若存储区中存储的通知消息中,存在有发送时间大于当前时间加上该第一预设时长的第三通知消息,则将该第三通知消息从存储区中删除。

在本申请实施例中,存储区用于存储距离当前时间第一预设时长内的通知消息,可以有效节省存储空间,也可以减少基于通信连接推送到第二终端的通知消息的数据量大小,缓解数据传输压力。

为便于描述,下文将第一终端与第二终端断开通信连接;或,第一终端与第二终端建立了通信连接,但是第一终端与第二终端未建立有进行数据交互的射频资源;或,第一终端与第二终端建立了通信连接,第一终端与第二终端建立有进行数据交互的射频资源,但所述第一终端运行上述第二配置的情况,统称为第一终端与第二终端断开连接。将第一终端与第二终端成功建立通信连接;或,第一终端与第二终端建立了通信连接,且第一终端与第二终端建立有进行数据交互的射频资源;或,第一终端与第二终端建立了通信连接,第一终端与第二终端建立有进行数据交互的射频资源,且所述第一终端运行上述第一配置的情况,统称为第一终端与第二终端恢复连接。

在一种可能的实施方式中,所述第二通知消息携带发送所述第二通知消息的应用的应用标识,所述将所述第二通知消息存储到存储区中,具体包括:在所述应用标识包含于目标应用的应用标识的情况下,将所述第二通知消息存储到所述存储区中,所述目标应用包括默认将通知消息存储到所述存储区中的应用程序,或者,所述目标应用包括用户自定义设置的允许将通知消息存储到所述存储区中的应用程序。

示例性的,第一终端与第二终端断开连接期间,可以将第一终端侧的全部应用程序(目标应用)的通知消息存储到存储区中。也可以将一些比较重要的目标应用(例如电话、短信或微信等应用程序)的通知消息存储到存储区中,对于一些不那么重要的目标应用(例如浏览器、微博等应用程序)的通知消息可以不存储到存储区中。

可理解的,该目标应用可以是默认的可以将通知消息存储到存储区中的应用,也可以是由用户设置的。示例性的,默认的,该目标应用为第一终端侧的全部应用程序。或者,默认的,该目标应用为第一终端侧的部分较重要的社交应用程序。或者,该目标应用为用户自定义设置的第一终端与第二终端断开连接期间可以将通知消息存储到存储区中的应用。

在本申请实施例中,可以将一些比较重要的目标应用的通知消息存储到存储区中,对于一些不那么重要的目标应用的通知消息可以不存储到存储区中。从而当第一终端与第二终端恢复连接后,将重要的通知消息推送给用户,而不重要的通知消息则可以不推送。由此,达到及时向用户推送通知消息,避免用户遗漏重要的通知消息的目的同时,有效节省存储空间,也可以减少基于通信连接推送到第二终端的通知消息的数据量大小,缓解数据传输压力。

在一种可能的实施方式中,所述第二通知消息携带发送所述第二通知消息的第二应用的应用标识,所述存储区中包括与所述第二应用的应用标识对应的消息条数,在所述第一终端接收第二通知消息之后,所述方法还包括:将所述消息条数的值加1。

在一种可能的实施方式中,所述第二通知消息携带发送所述第二通知消息的第二应用的应用标识,所述第一终端将所述存储区中的通知消息推送到所述第二终端具体包括:计算所述存储区的通知消息的应用标识中与所述第二应用的应用标识对应的通知消息的数目,得到所述第二应用的消息条数;将所述第二应用的消息条数和所述存储区中的所述通知消息推送到所述第二终端。

在本申请实施例中,第一终端还可以向第二终端推送第二应用和与第二应用对应的通知消息的消息条数的信息,从而简单明了地告知用户第二应用有多少条通知消息。

示例性的,可以有以下两种获取第二应用和与第二应用对应的通知消息的消息条数的信息:

1,在存储区中记录该第二应用和与第二应用对应的通知消息的消息条数的关联关系。例如,在将第二通知消息存储到存储区中时,查找存储区中是否已经存储有该第二应用和与第二应用对应的通知消息的消息条数的关联关系。若是,则将该第二应用的消息条数的值加1。若否,则创建该第二应用和与第二应用对应的通知消息的消息条数(初始值为0)的关联关系,并将该第二应用的消息条数加1。

可理解的,将第二应用和与第二应用对应的消息条数存储到存储区中,当需要向第二终端发送该消息条数时,可以直接获取存储区中存储的现有消息条数数据,可以不用再执行统计动作。由此,加快程序反应时间,更快速地将存储区中的数据推送到第二终端。

2,在将存储区中的通知消息推送到所述第二终端时,统计存储区中存储的通知消息中与第二应用对应的通知消息的通知条数。

可理解的,在将存储区中的通知消息推送到所述第二终端时,再统计该消息条数。一方面,可以免去对消息条数频繁地执行加减操作。例如,在第二通知消息的发送时间与当前时间的时间差超过上述第一预设时长时,从存储区中删除该第二通知消息,不用考虑将第二应用的消息条数减1。另外一方面,若存储区中存储该消息条数,特别是当存储区中的应用的类别很多的情况下,应用和与应用对应的消息条数的关联关系会占用一定量的存储空间。由此,不在存储区中存储该消息条数,可以有效节省存储空间。

在一种可能的实施方式中,所述第二通知消息包括以下数据中的一项或多项:第二通知消息的标识、第二通知消息的通知标题、第二通知消息的消息内容、第二通知消息的发送时间、发送所述第二通知消息的应用的应用标识以及应用图标;所述将所述第二通知消息存储到存储区中,具体包括:将所述第二通知消息中的至少一项数据存储到所述存储区中。

在本申请实施例中,存储到存储区中的第二通知消息可以包括第二通知消息的部分或全部具体数据。

可理解的,一方面,第二终端(例如手环)一般屏幕比较小,可显示的内容有限,往往第一终端将通知消息的全部详细内容发送给第二终端,第二终端却没办法显示通知消息的全部详细内容。另外一方面,目标通知消息若包括太多详述数据内容且目标通知消息的消息条数很多的情况下,会占用较大的存储空间,由此目标通知消息包括通知消息的部分具体数据而不是全部具体数据,可以减少基于通信连接推送到第二终端的目标通知消息的数据量大小,缓解数据传输压力。也可以有效节省存储空间,避免造成资源浪费等问题。

可理解的,若目标通知消息包括通知消息的全部具体数据,可以使得用户在第二终端侧(例如车载设备)就可以查看通知消息的全部具体数据,而不用在接收到通知消息后还要到第一终端侧查看通知消息,从而给用户带来极大的便利。

在一种可能的实施方式中,在所述将所述存储区中的通知消息推送到所述第二终端之前,所述方法还包括:在确定所述存储区中的第三通知消息已被查看的情况下,删除所述存储区中的所述第三通知消息,所述第三通知消息为所述存储区中的任意一条通知消息。

示例性的,若确认存储区中存储的上述第三通知消息在第一终端侧被点击或下拉查看,则将该第三通知消息从所述存储区中删除。也就是说,第一终端与第二终端断开连接期间,可以将未读的通知消息存储到存储区中,而对于已查看的通知消息则可以不存储到存储区中。由此,将未读通知消息及时推送到第二终端的同时,减轻存储区的存储压力,节省存储空间。

在一种可能的实施方式中,所述存储区包含于所述第一终端侧的随机存取存储区。

在本申请实施例中,可以将第一终端与第二终端断开连接期间的通知消息存储到随机存取存储区(Random Access Memory,RAM)中。

可理解的,RAM分区也可以理解为主存,是与CPU直接交换数据的内部存储器,读写速度快。由此,采用RAM存储通知消息,可以提高读写通知消息的速度,加快程序反应时间,节省磁盘空间,减少性能损耗,提高用户体验高。

在一种可能的实施方式中,所述存储区包含于所述第一终端侧的磁盘。

在本申请实施例中,也可以将第一终端与第二终端断开连接期间的通知消息存储到一个固定的磁盘位置中。

可理解的,RAM具备易失性,将通知消息存储到RAM存储区中,当第一终端掉电(例如关机)时,会造成存储区中的通知消息被清除。由此,可以将通知消息存储到磁盘中,避免第一终端掉电造成通知消息数据丢失的问题。

在一种可能的实施方式中,在所述第一终端接收所述第二通知消息之前,所述方法还包括:在所述第一终端侧创建所述存储区;或者,在所述第一终端接收所述第二通知消息之后,所述并将所述第二通知消息存储到存储区中之前,所述方法还包括:在所述第一终端侧创建所述存储区。

可选的,可以在第一终端与第二终端断开连接后立即创建上述存储区。也可以理解为在第一终端任务事件较少的时候(比如第一终端还未接收到通知消息,不需要处理通知消息的时候),创建该存储区以待使用,从而可以减少多任务同时处理,加快程序反应时间。

可选的,也可以在第一终端与第二终端断开连接,且第一终端接收到可以存储到存储区中的通知消息后,再创建上述存储区。由此,避免第一终端与第二终端断开连接期间,第一终端未接收到通知消息,也创建上述存储区,造成的浪费存储资源、增加存储等性能负担的问题。

在一种可能的实施方式中,在所述第一终端将所述存储区中的通知消息推送到所述第二终端之后,所述方法还包括:删除所述存储区中的通知消息;或者,销毁所述存储区。

可理解的,当第一终端和第二终端恢复连接,第一终端将存储区中的通知消息推送给第二终端之后,删除存储区中的通知消息或销毁该存储区,从而回收该存储区的存储空间,避免存储区空闲不用造成的资源浪费的问题。

在一种可能的实施方式中,在所述第一终端将所述存储区中的通知消息推送到所述第二终端之后,所述方法还包括:不将所述存储区中的通知消息删除;在确定所述发送时间和当前时间的时间差大于第二预设时长,且所述第二通知消息未被查看的情况下,将所述存储区中的所述第二通知消息再次显示到所述第一终端,或再次推送到所述第二终端,或再次显示到所述第一终端和推送到所述第二终端。

可理解的,可以在第一终端向第二终端推送上述存储区中的通知消息之后不删除上述存储区中的数据。当存储区中的数据超过一定时间仍未被查看之后,再次将通知消息推送到该第一终端或第二终端。示例性的,第一终端侧上述存储区中的通知消息超过24小时仍未被查看,则将该存储区中的通知消息再次推送到该第一终端和/或第二终端。直到通知消息在第一终端侧或第二终端侧被点击或下拉查看后才删除上述存储区中的数据。从而及时提示用户存在未读通知消息,避免用户遗漏重要通知消息。

在一种可能的实施方式中,所述第一终端与第二终端成功建立通信连接,具体包括:所述第一终端与所述第二终端成功建立蓝牙连接;或者,所述第一终端与所述第二终端通过通用串行总线USB建立通信连接;或者,所述第一终端与所述第二终端通过无线通信技术WIFI建立通信连接;或者,所述第一终端与所述第二终端通过近距离无线通讯NFC建立通信连接。

第二方面,本申请提供一种消息推送装置,包括:

收发单元,用于在第一终端与第二终端成功建立通信连接的情况下,所述第一终端接收第一通知消息,并将所述第一通知消息推送到所述第二终端;

存储单元,用于在所述第一终端与所述第二终端断开通信连接的情况下,所述第一终端接收第二通知消息,并将所述第二通知消息存储到存储区中;

发送单元,用于在所述第一终端与所述第二终端由所述断开通信连接恢复到所述成功建立通信连接的情况下,所述第一终端将所述存储区中的通知消息推送到所述第二终端。

第三方面,本申请实施例提供一种电子设备,所述电子设备包括:一个或多个处理器和存储器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行第一方面或第一方面的任意可能的实现方式中的方法。

第四方面,本申请实施例提供一种芯片系统,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行所述第一方面或第一方面的任意可能的实现方式所示的方法。

第五方面,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行所述第一方面或第一方面的任意可能的实现方式所示的方法。

第六方面,本申请实施例提供一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行所述第一方面或第一方面的任意可能的实现方式所示的方法。

附图说明

图1A为本申请实施例提供的第一终端的用户界面示意图;

图1B为本申请实施例提供的第二终端的用户界面示意图;

图1C为本申请实施例提供的第一终端与第二终端消息互联的示意图;

图1D为本申请实施例提供的一种第一终端与第二终端断开通信连接期间存储区存储的数据的示意图;

图1E为本申请实施例提供的一种第一终端与第二终端重新建立通信连接后,第一终端向第二终端发送存储区中的数据的示意图;

图1F-图1G为本申请实施例提供的一种将目标应用的通知消息存储到存储区中的示意图;

图1H-图1J为本申请实施例提供的通知消息被下拉查看或点击查看后存储区中的数据内容的变化情况示意图;

图2A为本申请实施例提供的一种消息推送方法的流程示意图;

图2B-图2C为本申请实施例提供的设置目标应用的界面示意图;

图2D为本申请实施例提供的通知消息包括的全部具体数据的示意图;

图2E-图2F为本申请实施例提供的目标通知消息包括通知消息的部分或全部具体数据的示意图;

图2G为本申请实施例提供的存储区中存储的数据的示意图;

图3为本申请实施例提供的又一种消息推送方法的流程示意图;

图4为本申请实施例提供的又一种消息推送方法的流程示意图;

图5为本申请实施例提供的电子设备100的结构示意图;

图6是本申请实施例的电子设备100的软件结构框图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地描述。

本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。

在本文中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。

在一些消息推送实现方式中,在第一终端与第二终端建立蓝牙连接的情况下,第一终端可以基于蓝牙连接将通知消息同步推送到第二终端。

但是,在第一终端与第二终端断开蓝牙连接的情况下;或者,在第二终端开启了勿扰模式,从而使得第一终端与第二终端消息断连的情况下,第一终端无法向第二终端推送蓝牙断开期间或勿扰模式期间的通知消息。且当第一终端与第二终端重新建立了蓝牙连接;或者,第二终端关闭了勿扰模式,从而使得第一终端与第二终端重新建立消息连接之后,第一终端也不会再次向第二终端推送蓝牙连接期间或勿扰模式期间的通知消息。由此,第一终端与第二终端人机交互性能差,存在导致用户未能及时接收到通知消息,出现遗漏通知消息的问题。

而采用本申请实施例提供的方法,第一终端与第二终端断开蓝牙连接后、或在第二终端的开启了勿扰模式的情况下,可以将第一终端的未读通知消息存储到存储区中。当第一终端与第二终端重新建立蓝牙连接或第二终端关闭勿扰模式后,可以将存储区中的数据再次推送到该第二终端。从而及时向用户通知蓝牙断开连接期间或勿扰模式期间的未读通知消息,提高第一终端、第二终端的人机交互性能,有效避免用户遗漏通知消息。

下面介绍本申请实施例提供的用户界面。

在本申请实施例中,第一终端和第二终端可以为任意具备蓝牙功能的电子设备。示例性的,该第一终端包括移动终端、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑以及超级移动个人计算机(ultra-mobile personal computer,UMPC)等具备蓝牙功能的电子设备。示例性的,该第二终端包括可穿戴蓝牙设备(例如蓝牙手环、蓝牙手表)以及蓝牙车载设备等。可理解的,为便于描述,本文将以第一终端为移动终端、第二终端为蓝牙手环为例做详细说明。

首先,介绍消息推送方法所涉及的用户界面。请参阅图1A-图1G。

如图1A所示,第一终端主屏幕上显示有界面10。如图1A所示,主屏幕界面10包括状态栏101。该状态栏101中可以包括运营商的名称(例如中国移动)、时间、WI-FI图标、信号强度和当前剩余电量。该状态栏101还可以包括蓝牙开启图标1011,当第一终端打开蓝牙功能时,会在该状态栏101显示蓝牙开启图标1011。可理解的,除了通过该蓝牙开启图标1011指示第一终端已开启蓝牙之外,也可以通过其他指示方法提示蓝牙已开启,本申请实施例对此不做限定。

如图1B所示,第二终端主屏幕上显示有界面20。如图1B所示,主屏幕界面20可以用于显示当前时间、当前剩余电量。该主屏幕界面20还可以包括蓝牙开启图标201;可理解的,当第二终端开启了蓝牙功能的情况下,该主屏幕界面20会显示蓝牙开启图标201。在另外一些场景中,该主屏幕界面20还可以包括勿扰模式开启图标202;当第二终端开启了勿扰模式的情况下,该主屏幕界面20会显示勿扰模式开启图标202。

示例性的,如图1C所示,当第一终端与第二终端通过蓝牙建立通信连接、且第二终端处于非勿扰模式的工作模式的情况下,第一终端可以基于蓝牙连接向第二终端同步推送未读通知消息。示例性的,第一终端侧有3条微信通知消息和2条短信通知消息,则可以基于蓝牙连接向第二终端同步推送该第一终端侧的该3条微信通知消息和2条短信通知消息。

一般地,由于蓝牙通信距离有限,当第一终端与第二终端的距离超出蓝牙通信范围的情况下,第一终端会与第二终端的蓝牙连接会断开;或者,当用户断开了第一终端或第二终端的蓝牙功能的情况下,第一终端与第二终端的蓝牙连接会断开;又或者,当第二终端开启了勿扰模式的情况下,第一终端与第二终端消息断连。

在本申请实施例中,如图1D所示,在第一终端与第二终端断开蓝牙通信连接、或者第二终端开启了勿扰模式的情况下,在第一终端侧创建存储区,并将蓝牙断开期间或勿扰模式期间的未读通知消息存储到存储区中。从而,如图1E所示,当第一终端与第二终端再次建立蓝牙通信连接,或第二终端关闭了勿扰模式且第二终端与第二终端建立了蓝牙通信连接的情况下,可以再次将蓝牙断连期间或勿扰模式期间的通知消息推送到第二终端,提高第一终端与第二终端的人机交互性能,及时向用户推送该知消息,有效避免用户出现遗漏重要消息的问题。

在另外一些实施例中,本申请实施例存储到上述存储区中的目标通知消息为一些比较重要的目标应用的通知消息。例如,目标应用包括电话、短信和微信应用程序。如图1F所示,当第一终端侧接收到两条的来自浏览器应用程序的通知消息时,则此时该通知消息不会进入存储区中,存储区中的数据内容为空。如图1G所示,当第一终端侧接收到三条来自微信应用程序的通知消息和两条电话应用程序的通知消息时,微信和电话应用程序属于目标应用,则将该三条微信通知消息和两条电话通知消息存储到存储区中。从而有效节省存储空间,避免造成资源浪费等问题。也可以减少基于通信连接推送到第二终端的目标通知消息的数据量大小,缓解数据传输压力。

在另外一些实施例中,本申请实施例存储到上述存储区中的目标通知消息均为未读通知消息。该未读通知消息是指用户未下拉查看或未点击查看过的通知消息。

示例性的,如图1H所示,第一终端接收到一条微信的通知消息301,若用户点击了该通知消息301,则表明该通知消息为已读通知消息。则不将该通知消息存储到上述存储区中,存储区中的数据不发生变化。或者,若该通知消息已存储到存储区中,则删除上述存储区中的该通知消息。

示例性的,在一些实施例中,如图1I,第一终端侧监听到下拉通知栏的动作401,从而显示的用户界面30,则确定全部未读通知消息更新为已读,删除上述存储区中存储的全部通知消息,或者,直接销毁该存储区。

在另外一些实施例中,第一终端在监听到下拉动作后,未立即删除存储区中的数据。而是当用户点击了下拉栏中的第一应用的通知消息后,再将存储区中的第一应用的通知消息删除。示例性的,如图1J所示,用户在下拉通知栏后,点击下拉通知栏中微信通知消息,则删除该存储区中的微信通知消息。

可理解的,本申请实施例提供的方法除了适用于上述第一终端(移动终端)与第二终端(蓝牙手环)断开连接的场景之外,还适用于其他场景,本申请实施例对于消息推送方法的使用场景不做限定。例如,也适用于移动终端与车载设备连接,而车载设备处于驾驶模式的场景。一般的,当用户正在驾驶车辆,为了用户的安全着想,车辆达到一定速度后触发驾驶模式,驾驶模式下车载设备不接收或静默接收移动终端的通知消息,以免打扰用户驾驶。然而不接收或静默接收通知消息的方式可以避免打扰用户的同时,在车载设备从驾驶模式转换为非驾驶模式后,用户也很难发现或注意到有通知消息,从而导致用户未能及时接收查看通知消息。由此,也可以采用本申请实施例的方法,在车载设备处于驾驶模式的情况下,在第一终端侧创建用于存储通知消息的存储区;在车载设备由驾驶模式转换为非驾驶模式后,移动终端再次向车载设备推送该存储区中的通知消息。

请参阅图2A,图2A为本申请实施例提供的一种消息推送的方法。如图2A所示,该消息推送方法包括:

201,在确定第一终端与第二终端处于第一连接状态的情况下,在第一终端侧创建存储区。

在本申请实施例中,第一终端和第二终端可以是任意具备通信连接功能(例如例如蓝牙通信连接、WiFi通信连接、USB通信连接或NFC通信连接技术)的电子设备。示例性的,该第一终端包括移动终端、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑以及超级移动个人计算机(ultra-mobile personal computer,UMPC)等具备通信连接功能的电子设备。示例性的,该第二终端包括可穿戴蓝牙设备(例如蓝牙手环、蓝牙手表)以及蓝牙车载设备等。可理解的,为便于描述,本文将以第一终端为移动终端、第二终端为蓝牙手环、以及第一终端与第二终端通过蓝牙建立通信连接为例做详细说明。

在本申请实施例中,第一终端与第二终端可以通过蓝牙建立通信连接。并在第一终端与第二终端建立了蓝牙连接、且第一终端与第二终端可以互相发送和接收通信消息的情况下,该第一终端的全部应用程序的未读通知消息均可以基于蓝牙连接,同步推送到该第二终端。

示例性的,第一终端可以通过蓝牙配对的方式与第二终端建立蓝牙连接,也可以通过下载专用的应用程序与第二终端建立蓝牙连接,还可以通过扫描第二终端的设备二维码与第二终端建立蓝牙连接。可理解的,第一终端与第二终端还可以通过其他方式建立蓝牙连接,本申请实施例对此不做限定。

在本申请实施例中,当第一终端与第二终端处于上述第一连接状态的情况下,该第一终端的部分或全部应用程序的未读通知消息不可推送到该第二终端。从而需要创建上述存储区,用于存储该第一连接状态下第一终端的未读通知消息。以便于在第一终端与第二终端恢复正常通信连接状态后,向该第二终端推送该存储区中的未读通知消息。

示例性的,第一连接状态可以为以下情况:

1、第一连接状态包括第一终端与第二终端断开了蓝牙连接。可理解的,第一终端与第二终端建立过蓝牙连接,当第一终端与第二终端断开了蓝牙连接的情况下,则在第一终端侧创建上述存储区,该存储区用于存储第一终端与第二终端断开蓝牙连接期间,该第一终端接收到的未读通知消息。

示例性的,第一终端和第二终端的蓝牙功能都开启的情况下,可以在第一终端侧创建蓝牙连接的实例化对象,并向第二终端发送蓝牙连接请求。在第二终端接收到蓝牙连接请求后,向第一终端侧发送同意接收蓝牙连接请求或拒绝蓝牙连接请求的回应。若第一终端侧接收到第二终端发送的同意建立蓝牙请求的回应,则第一终端与第二终端建立蓝牙连接。例如,第一终端在开启蓝牙功能后,调用createconnection()方法,创建蓝牙连接的实例化对象。当检测到蓝牙可连接范围内出现蓝牙设备(第二终端)的情况下,再通过调用connectionrequest()方法,向第二终端发送蓝牙连接请求(例如LMP_host_connection_req PDU)。第二终端在接收到蓝牙连接请求后,向第一终端发送同意蓝牙连接请求(例如LMP accedpted PDU)或拒绝蓝牙连接请求(例如LMP_not_accepted PDU)的消息。在第二终端接收到第一终端发送的同意蓝牙连接的消息后,通过调用setupcomplete()方法确认与第一终端建立蓝牙连接。

可理解的,第一终端侧可以通过注册监听机制的方式监听与第二终端的连接状态。示例性的,若监听到蓝牙连接处于连接状态(例如BluetoothDevice.ACTION_ACL_CONNECTED),则确定第一终端和第二终端已通过蓝牙建立连接。若监听到蓝牙连接处于非连接状态(例如BluetoothDevice.ACTION_ACL_DISCONNECTED)则确定第一终端与第二终端已断开蓝牙连接,则在第二终端侧创建存储区。

可理解的,也可以由第二终端创建蓝牙连接的实例化对象,并向第二终端发送蓝牙连接请求,本申请实施例对此不做限定。

2、第一连接状态包括:第一终端与第二终端通过蓝牙建立通信连接,且第二终端由于某种原因关闭了部分用于与第一终端进行消息连接的射频资源,也就是说,第一终端与第二终端消息断连。

示例性的,第二终端包括勿扰模式功能。当第二终端与第一终端处于蓝牙连接状态时,第二终端在开启勿扰模式的功能后,该第二终端向第一终端发送预设断开消息连接的命令(例如该预设断开消息连接的命令为AT+CFUN=0的命令),使得该第一终端与第二终端断开消息连接。

可理解的,在第二终端与第一终端消息断连的情况下,该第一终端不能向该第二终端推送未读通知消息,则需要在第一终端侧创建上述存储区,用于存储该第一终端与第二终端消息断连期间的未读通知消息。

3、第一连接状态包括:第一终端与第二终端通过蓝牙建立连接,第一终端与第二终端的消息连接未断开(也可以理解为第二终端未关闭用于与第二终端进行消息连接的射频资源),且所述第一终端不允许将第一应用的通知消息推送到所述第二终端。

示例性的,当第二终端开启了勿扰模式的情况下,第一终端与第二终端的消息连接未断开。且默认的,当第二终端开启了勿扰模式时,不将第一终端的第一应用的通知消息推送到第二终端。例如,默认的,当第二终端开启了勿扰模式时,第一终端不将浏览器、微博等应用(也可以理解为一些不是很重要的应用)的通知消息,推送到第二终端。例如,如图2B所示,默认的,当第二终端开启了勿扰模式时,不将第一终端的QQ、微信、短信、浏览器以及微博等应用程序的通知消息推送到第二终端。

示例性的,当第二终端开启了勿扰模式的情况下,第一终端与第二终端的消息连接未断开。但是用户设置了在第二终端处于勿扰模式的情况下,不允许第一终端将第一应用的通知消息推送到第二终端。则在第二终端处于勿扰模式下,第一终端需要创建上述存储区,用于存储勿扰模式下,该第一应用的未读通知消息。例如,如图2B所示,用户可以设置当第二终端开启了勿扰模式时,不允许将第一终端的哪些应用程序的通知消息推送到第二终端。

可理解的,可以在第一终端侧向用户提供设置勿扰模式下允许哪些应用的通知消息推送到第二终端的功能(或者,也可以理解为勿扰模式下不允许哪些应用的通知消息推送到第二终端的功能)。示例性的,开发专用于向用户提供设置当第二终端处于勿扰模式下允许第一终端中的哪些应用的通知消息推送到第二终端的应用程序,用户可以在第一终端侧下载该应用程序,从而在该第一终端侧通过该应用程序设置勿扰模式下允许哪些应用的通知消息推送到第二终端。

可理解的,上述第一连接状态的说明仅为举例,该第一连接状态还可以为其他情况,例如,第一终端与第二终端通过蓝牙建立连接,第二终端处于勿扰模式的情况下,且第二终端可以静默接收第一终端推送的通知消息。然而,静默接收通知消息的方式可以避免打扰用户的同时,在第二终端从勿扰模式切换为非勿扰模式后,用户仍然很较发现或注意到勿扰模式期间存在通知消息。例如用户未查看或手动操作第二终端,而是通过语音识别的方式将第二终端从勿扰模式切换为非勿扰模式,从而未察觉存在通知消息。由此,可以采用本申请实施例的方法,在第二终端处于勿扰模式的情况下,在第一终端侧或第二终端侧创建用于存储勿扰模式期间的通知消息。当第二终端从勿扰模式切换为非勿扰模式的情况下,再次将存储区中的通知消息推送到第二终端。本申请实施例对于第一连接状态的具体场景或形式不做限定。

在本申请实施例中,上述创建存储区包括:向第一终端的内存中的随机存取存储器(Random Access Memory,RAM)请求目标容量大小的动态分区(该动态分区也可以理解为存储区)。示例性的,向第一终端的内存中的RAM请求容量大小为64M的动态分区。

示例性的,第一终端的RAM可以通过首次适应算法(First Fit)、最佳适应算法(Best Fit)或最坏适应算法(Worst Fit)等动态分区分配方法,响应上述目标容量大小的动态分区的请求,从RAM中分配合适的空闲分区作为上述存储区。

可理解的,上述动态分区的容量大小也可以为其他容量大小,例如该动态分区的容量大小可以大于64M或小于64M,本申请实施例对此不做限定。

可理解的,RAM分区也可以理解为主存,是与CPU直接交换数据的内部存储器,读写速度快。由此,采用RAM中的动态分区(存储区)存储通知消息,可以提高读写通知消息的速度,加快程序反应时间,节省磁盘空间,减少性能损耗,提高用户体验高。

202,将第一终端侧关于目标应用的目标通知消息存储到上述存储区中。

示例性的,目标应用可以为以下应用程序:

1、在上述第一连接状态为第一终端与第二终端的断开了蓝牙连接,或者,在上述第一连接状态为第一终端与第二终端通过蓝牙建立连接,且第二终端由于某种原因关闭了部分用于与第二终端进行消息连接的射频资源(也可以理解为第一终端与第二终端消息断连)的情况下,目标应用包括该第一终端侧的部分或全部应用程序。具体的,该目标应用包括的应用程序可以为以下情况:

1)默认情况下,目标应用包括第一终端侧的全部应用程序。示例性的,第一终端侧包括10个应用程序,则该目标应用包括该10个应用程序。

2)默认情况下,目标应用为第一终端中较重要的社交应用程序。示例性的,该目标应用包括电话、短信以及微信应用程序。可理解的,该目标应用也可以包括比电话、短信以及微信应用程序更多或更少的其他重要社交应用程序,本申请实施例对此不做限定。

3)目标应用包括用户可自定义设置的应用程序。

示例性的,可以在第一终端侧向用户提供第一设置功能,用户可以通过该第一设置功能设置第一终端与第二终端断开了蓝牙连接期间或第一终端与第二终端的消息断连期间,允许哪些应用程序的未读通知消息存储到该存储区中。例如,第一设置功能向用户提供如图2C所示的用户界面,用户可以通过操作功能开关2021设置该目标应用可以包括的应用程序。例如,用户设置了在第一终端与第二终端蓝牙断开期间,或者,第一终端与第二终端消息断连期间,电话、短信以及微信应用程序的未读通知消息可以存储到该存储区中,则目标应用包括电话、短信以及微信应用程序。

可理解的,向用户提供上述第一设置功能,从而满足用户多元需求,提高人机交互性能。

2、在上述第一连接状态为第一终端与第二终端通过蓝牙建立连接,第一终端与第二终端的消息连接未断开,且所述第一终端不允许将第一应用的通知消息推送到所述第二终端的情况下,目标应用包括该第一应用。

示例性的,第二终端包括勿扰模式,复用图2B,默认情况下,当第二终端处于勿扰模式的情况下,第一终端不允许将第一终端的QQ、微信、短信、浏览器以及微博等应用程序的通知消息推送到第二终端。则该目标应用包括QQ、微信、短信、浏览器以及微博应用程序。

示例性的,第二终端包括勿扰模式,复用图2B,用户设置了不允许第一终端在第二终端处于勿扰模式的情况下,将该第一终端的QQ、微信、短信、浏览器以及微博的未读通知消息推送到该第二终端,则目标应用包括的QQ、微信、短信、浏览器以及微博。

可理解的,上述对于目标应用包括的应用程序仅为示例,该目标应用还可以包括比上述应用程序更少或更多的其他应用程序,本申请实施例对此不做限定。

在本申请实施例中,在上述将第一终端侧关于目标应用的目标通知消息存储到上述存储区中之前,所述方法还包括:第一终端接收目标应用的通知消息。

在本申请实施例中,上述目标通知消息可以包括目标应用的通知消息中的部分或全部具体数据。

示例性的,如图2D所示,目标应用的通知消息中的全部具体数据包括:该通知消息的标识(id)、发送该第二通知消息的应用的应用标识(也可以理解为应用名称)、发送该通知消息的应用的应用图标、该通知消息的通知标题、该通知消息的消息内容、以及该通知消息的通知时间(该通知消息的通知时间,也可以理解为本申请其他实施例所描述的通知消息的发送时间)。则存储到上述存储区中的目标通知消息包括的数据内容,可以有以下形式:

1、如图2E所示,目标通知消息包括:目标通知消息的标识,发送该目标通知消息的目标应用的应用标识、以及与所述目标通知消息的通知时间。

2、目标通知消息包括:发送该目标通知消息的目标应用的应用标识或目标应用的应用图标中的一项或两项,目标通知消息的标识、目标通知消息的通知标题、目标通知消息的消息内容、以及目标通知消息的通知时间中的一项或多项。

示例性的,如图2F所示,目标应用的目标通知消息包括:目标应用的应用图标、目标通知消息的通知标题和目标通知消息的通知时间。

示例性的,目标应用包括微信,第一终端侧包括两条微信未读通知消息,分别为第一通知消息和第二通知消息,且该第二通知消息为最新的通知消息,也可以理解为该第二通知消息的通知时间比该第一通知消息的通知时间更接近当前时间。则上述目标通知消息可以包括:微信图标、第一通知消息的通知时间、第一通知消息的通知标题、第二通知消息的通知时间、以及第二通知消息的通知标题。或者,上述目标通知消息也只可以包括:微信图标、第二通知消息的通知时间、以及第二通知消息的通知标题。

在另外一些实施例中,上述消息推送方法还包括:将目标应用的应用标识和与目标应用对应的通知消息的消息条数的关联关系存储到上述存储区中。示例性的,第一终端在接收到目标应用的目标通知消息的情况下,查找存储区中是否已存储有与目标应用的应用标识对应的消息条数。若是,则将该消息条数加1。若否,则在存储区中添加该目标应用的应用标识与消息条数的关联关系,该消息条数的初始值为0。在添加了该目标应用的应用标识与消息条数的关联关系后,将该消息条数加1。

可理解的,一方面,第二终端(例如手环)一般屏幕比较小,可显示的内容有限,往往第一终端将通知消息的全部详细内容发送给第二终端,第二终端却没办法显示通知消息的全部详细内容。另外一方面,目标通知消息若包括太多详述数据内容且目标通知消息的消息条数很多的情况下,会占用较大的存储空间,由此目标通知消息包括通知消息的部分具体数据而不是全部具体数据(例如应用图标和通知时间),可以减少基于通信连接推送到第二终端的目标通知消息的数据量大小,缓解数据传输压力。也可以有效节省存储空间,避免造成资源浪费等问题。

可理解的,若目标通知消息包括通知消息的全部具体数据,可以使得用户在第二终端侧(例如车载设备)就可以查看通知消息的全部具体数据,而不用在接收到通知消息后还要到第一终端侧查看通知消息,从而给用户带来极大的便利。

在另外一些实施例中,也可以根据上述存储区的剩余空间大小和目标应用的通知消息的数据大小确定上述目标通知消息是包括通知消息的部分还是全部具体数据。示例性的,若上述存储区剩余空间大小大于或等于30M,且目标应用的全部未读通知消息的数据内容的数据量大小小于5M的情况下,则确定该目标通知消息包括该目标应用的未读通知消息的全部具体数据。若该存储区的剩余空间大小小于或等于20M,且目标应用的全部未读通知消息的数据内容的数据量大于5M的情况下,则确定该目标通知消息包括该目标应用的未读通知消息的部分具体数据,例如该目标通知消息包括该目标应用的应用标识和通知消息的通知时间。

在本申请实施例中,获取上述目标应用的目标通知消息,可以有以下形式:

1、通过调用预设接口访问(获取)第一终端存储的所有应用的未读通知消息(为便于描述,下文将该所有应用的未读通知消息称为第一数据),再通过目标程序筛选该第一数据中包括的上述目标应用的通知消息。

示例性的,通过安卓提供的获取通知消息详情的接口(例如,NotificationListenerService接口),以及预设的获取方法(例如,getActiveNotifications()方法),将第一终端侧的存储的通知消息读取到通知消息数组类(例如StatusBarNotification[]数组类)中。从而通过调用StatusBarNotification[]获取通知消息的具体数据。可理解的,该StatusBarNotification[]数组类中的每一个元素(例如StatusBarNotification[0]或StatusBarNotification[1])即为该第一终端侧的一条通知消息。也即该StatusBarNotification[]数组类中包括了第一终端侧的所有应用的通知消息(第一数据)。例如,第一终端侧有10条未读通知消息,则该StatusBarNotification[]数组类的数组长度为10,也即该StatusBarNotification[]数组类包括该10条未读通知消息的全部具体数据。

可理解的,如图2G所示,StatusBarNotification类的属性包括:通知消息类(例如notification类)、通知消息的id、上述与通知消息对应的应用的应用标识、以及通知消息的通知时间。而notification类的属性又包括上述与通知消息对应的应用的应用图标、通知消息的通知标题、以及通知消息的消息内容。由此,可以通过StatusBarNotification[i].getxx()方法获取通知消息数组类中第i个通知消息的具体数据(其中i为小于该消息通知数组类的数组长度的整数)。例如,通过的.getId()方法,获取第i个通知消息的id;通过.getPackageNage()方法获取第i个通知消息的应用标识;通过.getPostTime()方法获取第i个通知消息的通知发起时间;通过.getNotification()方法获取第i个通知消息的notification类对象,再通过该notification类对象获取上述目标应用的应用图标、通知消息的通知标题、以及通知消息的消息内容。本文其他地方所描述的StatusBarNotification类均与此处相同。

在本申请实施例中,可以通过上述.getPackageNage()方法获取通知消息的所属应用标识,然后判断该通知消息的所属应用是否属于上述目标应用,从而统计(获取)与该目标应用对应的通知消息的消息条数。

可理解的,可以在上述将目标通知消息存储到上述存储区中(也即步骤202)中,统计上述与目标应用对应的通知消息的消息条数。或者,也可以在第一终端向第二终端推送上述存储区中的目标通知消息(也即步骤203)之前,统计该消息条数。示例性的,在另外一些实施例中,所述目标通知消息不包括上述消息条数。若想将该消息条数发送到该第二终端,则可以在向第二终端推送该目标通知消息之前,统计该消息条数。

在本申请实施例中,上述目标程序用于获取上述第一数据中与目标应用对应的目标通知消息(本文其他地方关于目标程序的描述均与此一致)。

示例性的,在目标程序中,通过上述.getPackageNage()方法,判断StatusBarNotification[]数组类中所包含的通知消息的应用标识是否包含于目标应用的应用标识。若是,则通过上述获取.getId()方法、.getPostTime()方法、以及.getNotification()方法中的一项或多项,获取该通知消息的具体数据,从而得到该目标应用的目标通知消息。

例如,设上述目标通知消息包括目标应用的应用标识和通知消息的通知时间。StatusBarNotification[]数组类中包括2条微信的通知消息和1条百度浏览器的通知消息。上述目标应用包括微信且不包括百度浏览器。则可以通过StatusBarNotification[i].getPackageNage()获取第i(i小于或等于2)个通知消息的应用标识,判断该应用标识是否为微信。若是,则通过.getPostTime()方法获取该第i个通知消息的通知时间,从而获取到微信(目标应用)的目标通知消息。

可理解的,第一终端存储的上述第一数据是实时更新的,而通过调用NotificationListenerService接口获取到的第一数据是某一时刻的第一数据。由此,需要设置刷新规则将最新的第一数据中的上述目标应用的目标通知消息存储到存储区中。

示例性的,可以每隔一段时间调用一次NotificationListenerService接口,重新获取一次该第一数据,并通过上述目标程序筛选出该第一数据中包括的目标应用的目标通知消息,也即每隔一段时间更新一次存储到上述存储区中的目标通知消息。例如,每隔一分钟重新获取一次该第一数据中包括的目标应用的通知消息。

示例性的,也可以只在确定第一终端与第二终端处于第二连接状态的情况下,调用一次上述NotificationListenerService接口获取上述第一数据,并通过目标程序筛选出该第一数据中包括的目标通知消息。可理解的,关于该第二连接状态的描述可以参照本申请实施例步骤203的相关详细描述,在此不再详述。

可理解的,上述每隔一段时间更新一次存储区中的目标通知消息,或者只在确定第一终端与第二终端处于第二连接状态的情况下,调用一次上述NotificationListenerService接口获取该目标应用的通知消息的方法仅为示例,还可以采用其他方法更新该存储区中的目标通知消息,本申请实施例对此不做限定。

在本申请实施例中,通过上述预设接口获取第一终端的所有应用程序的通知消息,再筛选与目标应用对应的目标通知消息,可以免去监听通知消息的动作,简化程序流程,有效缓解运行内存压力,降低性能损耗(例如节省电量)。

2、继承通知消息父类创建自定义通知消息子类,通过子类继承和重写父类的监听方法的方式获取目标应用的通知消息。

可理解的,通知消息父类(例如,获取通知消息详情的NotificationListenerService接口类),包括监听通知消息的方法(例如,onNotificationPosted()方法)。在第一终端接收到通知消息(StatusBarNotification)的情况下,就会调用该onNotificationPosted()方法,并将该通知消息以参数的形式传入该onNotificationPosted()方法中。例如该第一应用的通知消息记为sdn,则通过onNotificationPosted(sdn)的方式将该通知消息sdn以参数的形式传入onNotificationPosted()方法中。

由此,可以继承该通知消息父类NotificationListenerService,创建自定义通知消息子类。通过该子类监听获取第一终端的通知消息(StatusBarNotification类),且可以在该子类中重写onNotificationPosted()方法,实现与上述目标程序一致的功能,以获取该第一终端的通知消息中与目标应用对应的目标通知消息。关于该StatusBarNotification类和目标程序的描述可以参照本文其他处的相关详细描述,在此不再详述。

在本申请实施例中,通过创建子类监听通知消息的方法获取到的目标通知消息,最终会进入上述存储区中。示例性的,每接收到一个通知消息(StatusBarNotification),就将该通知消息以参数的形式传入上述onNotificationPosted()方法,获取该通知消息的目标通知消息,再用一个通知消息数组类StatusBarNotification[],接收该目标通知消息。然后将该通知消息数组类存储到存储区中。由此,将目标应用的目标通知消息存储到该存储区中。

可理解的,关于通知消息的全部具体数据包括:发送该通知消息的应用的应用标识、发送该通知消息的应用的应用图标、该通知消息的id、该通知消息的通知标题、该通知消息的消息内容、该通知消息的通知时间的说明仅为示例,通知消息的全部具体数据还可以包括这更多或更少的数据内容,本申请实施例对此不做限定。

在本申请实施例中,存储区中存储的目标应用的目标通知消息均为未读通知消息。

示例性的,未读通知消息可以表示为第一终端侧未接收到用户对该目标通知消息执行点击操作的通知消息(也可以理解为用户未点击查看的通知消息)。例如,可以通过调用通知消息被点击自动删除的方法(例如setAutoCancel()方法)删除已点击的通知消息。或者,也可以创建用于管理通知消息的NotificationManager类,管理上述存储区中的通知消息数组类。例如,复用图1H和图1J,当NotificationManager类监听到通知消息被点击后,获取该通知消息的id,并将该id以参数的形式传入删除指定与指定id对应的通知消息的方法中(例如NotificationManager.cancel(int id)方法),从而将该通知消息从存储区中删除。或者,当NotificationManager类监听到通知消息被点击后,获取该通知消息的id;通过该通知消息的id获取与该id对应的通知消息的目标应用的应用标识;再根据该应用标识获取与该应用标识对应的全部通知消息的id,并将该全部通知消息的id逐个传入NotificationManager.cancel(int id)方法中,从而将与该应用标识对应的全部通知消息从存储区中删除。

示例性的,在另外一些实施例中,未读通知消息也可以表示为,未接收到用户对第一终端的显示屏执行下拉动作操作的通知消息,也可以理解为用户未点击查看的通知消息。例如,可以通过监听用户下拉动作的方法(如onPullDownRefresh()方法)监听下拉动作。复用图1I,在监听到下拉动作后,调用清除所有通知消息的方法(如通过管理通知消息的NotificationManager类调用清除全部通知消息的方法cancelALL()方法)从而删除该存储区中的通知消息数组类。

可理解的,第一终端存储的目标通知消息是实时更新的,包括,在接收到新的通知消息后会将该新的通知消息加入通知消息数组类StatusBarNotification[]中,以及在通知消息被点击查看后会调用通知消息被点击自动删除的方法(例如setAutoCancel()方法)删除该目标通知消息。且本申请实施例会通过设置刷新规则将最新的目标通知消息存储到存储区中。由此,若通过上述getActiveNotifications()方法获取第一终端侧的通知消息StatusBarNotification[]数组类,由于StatusBarNotification[]数组类中会自动删除已被点击查看的通知消息,从而进入存储区中的目标通知消息也会随之更新,则可以不用设置程序检测存储区中的通知消息是否被执行点击操作。

在另外一些本申请实施例中,目标通知消息的通知时间包含于第一预设时间范围。示例性的,该第一预设时间范围为当前时间5分钟内,则上述目标通知消息的通知时间均大于或等于当前时间减5分钟。可理解的,该第一预设时间范围也可以理解为本申请其他实施例所描述的第一预设时长。

示例性的,在上述目标程序中设置用于判断通知消息的通知时间是否包含于第一预设时间范围的判断功能模块,筛选通知消息的通知时间包含于第一预设时间范围的目标应用的目标通知消息存储到存储区。

203,在确定第一终端与第二终端处于第二连接状态的情况下,第一终端向第二终端推送上述存储区中的目标通知消息。

在本申请实施例中,当第一终端与第二终端处于上述第二连接状态的情况下,第一终端与第二终端恢复正常通信连接状态,第一终端可以向第二终端发送消息。由此,向该第二终端推送第一终端与第二终端处于第二连接状态下的未读通知消息,以免用户遗漏未读通知消息。

示例性的,第二连接状态可以为以下情况:

1、第二连接状态包括:第一终端与第二终端的蓝牙连接状态从断开蓝牙连接转变为成功建立蓝牙连接。可理解的,第一终端与第二终端建立过蓝牙连接,而当第一终端与第二终端断开蓝牙连接后,蓝牙连接断开期间,将第一终端的未读通知消息存储到上述存储区中。当第一终端与第二终端再次建立蓝牙连接后,则可以基于蓝牙连接将存储区中的数据推送到第二终端。

2、第二连接状态包括:第一终端与第二终端通过蓝牙建立连接,且第一终端与第二终端的消息连接状态从消息断连转变为成功建立消息连接。可理解的,第一终端与第二终端消息断连期间,第二终端关闭了部分用于与第二终端进行消息连接的射频资源。在第二终端将该射频资源重新开启后,第一终端可以与第二终端重新建立消息连接。

示例性的,第二终端处于勿扰模式下,使得第一终端与第二终端消息断连。当第二终端关闭了勿扰模式后,该第二终端向第一终端发送预设建立消息连接的命令(例如该预设建立消息连接的命令为AT+CFUN=1的命令,从而使得第一终端与第二终端重新建立消息连接。

3、第二连接状态包括:第一终端与第二终端通过蓝牙建立连接,第一终端与第二终端的消息连接未断开,且第一终端由不允许将第一应用的通知消息推送到第二终端的转换为允许将第一应用的通知消息推送到第二终端。

示例性的,第二终端包括勿扰模式功能,当第二终端处于勿扰模式的情况下,第一终端与第二终端未断开消息连接。但是默认的,当第一终端确定第二终端处于勿扰模式时,第一终端不允许将第一应用的通知消息推送到第二终端。则第二连接状态为第二终端由开启勿扰模式转变为关闭勿扰模式,第一终端允许将第一应用的通知消息推送到第二终端,第一终端与第二终端通过蓝牙建立连接,且第一终端与第二终端的消息连接未断开。

或者,用户将第二终端处于勿扰模式时第一终端不允许将第一应用的通知消息的设置,手动修改为,第二终端处于勿扰模式时第一终端允许将第一应用的通知消息推送到第二终端的设置。则第二连接状态为第二终端处于勿扰模式,接收到用户将第二终端处于勿扰模式时第一终端不允许将第一应用的通知消息的设置,修改为,第二终端处于勿扰模式时第一终端允许将第一应用的通知消息推送到第二终端的设置的操作指令,第一终端与第二终端通过蓝牙连接,且第一终端与第二终端未断开消息连接。例如,如图2B所示,用户将短信应用程序的开启按钮修改为关闭,则此时若存储区中存储了与短信有关的通知消息,则将存储区中存储的该短信的通知消息推送到该第二终端。

在另外一些实施例中,上述目标应用的目标通知消息包括通知消息的部分具体数据。例如目标通知消息包括发送该目标通知消息的目标应用的应用图标、该目标通知消息的id和该目标通知消息消息标题。可以在第一终端向该第二终端推送上述目标通知消息,第二终端接收到该目标通知消息后,判断第二终端侧是否检测到用户点击了目标通知消息。若是,则基于通信连接第二终端向第一终端请求获取与该目标通知消息的id对应的通知消息的全部具体数据;第一终端接收到请求后,查找与该目标通知消息的id对应通知消息的全部具体数据,并向该第二终端发送该全部具体数据。

在另外一些实施例中,上述步骤203还包括:将所述存储区中存储的目标应用的应用标识和与目标应用对应的通知消息的消息条数的关联关系,推送到第二终端。

在本申请实施例中,第一终端不仅可以通过蓝牙技术与第二终端建立通信连接,也可以通过通用串行总线(Universal Serial Bus,USB)技术、WiFi技术或(近距离无线通信技术(near field communication,NFC)技术与第二终端建立通信连接。

可理解的,若第一终端通过WiFi技术或NFC技术与第二终端建立通信连接,则上述第一连接状态相应的可以为以下情况:第一终端与第二终端断开了USB、WiFi或NFC连接。或者,第一终端与第二终端通过USB、WiFi或NFC建立连接,且第二终端由于某种原因关闭了部分用于与第一终端进行消息连接的射频资源,也即第一终端与第二终端消息断连。或者,第一终端与第二终端通过USB、WiFi或NFC建立连接,第一终端与第二终端的消息连接未断连,第一终端不允许将第一应用的通知消息推送到第二终端。上述第二连接状态相应的可以为以下情况,第一终端与第二终端的USB、WiFi或NFC连接状态从断开USB、WiFi或NFC连接转变为成功建立USB、WiFi或NFC连接。或者,第一终端与第二终端通过USB、WiFi或NFC建立连接,且第一终端与第二终端的消息连接状态从消息断连转变为成功建立消息连接。或者,第一终端与第二终端通过USB、WiFi或NFC建立连接,第一终端与第二终端的消息连接未断开,且第一终端允许将第一应用的通知消息推送到第二终端。关于第一终端与第二终端通过WiFi技术或NFC技术建立通信连接的情况下,目标应用和目标通知消息的相关描述,与第一终端与第二终端可以通过蓝牙建立通信连接的情况下,目标应用和目标通知消息的相关描述一致,在此不再详述。

可理解的,第一终端还可以通过其他技术与第二终端建立通信连接,本申请实施例对于第一终端与第二终端可以通过何种方式建立通信连接不做限定。

204,在将存储区的数据推送到第二终端后,删除该存储区中的数据。

可理解的,删除存储区中的数据可以包括删除存储区中的数据内容但不销毁该存储区,或者,删除存储区中的数据也可以包括销毁该存储区(也可以理解为清空存储区),可理解的,销毁该存储区的同时,该存储区中的数据也会被删除。

示例性的,可以通过调用释放指定内存的方法(例如ontrimmemory()方法),销毁上述第一终端的RAM中目标容量大小的动态分区(也即上述存储区)。可理解的,也可以通过其他方法删除存储区中的数据,本申请实施例对此不做限定。

在另外一些实施例中,若获取上述目标应用的目标通知消息所采用的方法为,在确定第一终端与第二终端处于第二连接状态的情况下,调用一次NotificationListenerService接口获取目标应用的目标通知消息的情况下,也可以不创建上述存储区,不将该目标通知消息存储到存储区中。而是在获取到该目标通知消息后,直接向该第二终端推送该目标通知消息,从而无需创建上述存储区。由此,在第一终端将该目标通知消息推送到第二终端后,由于不存在存储区或者存储区的数据为空,则可以不用执行步骤204以删除该存储区中的数据。

一般地,当第一终端与第二终端处于第一连接状态(第一终端与第二终端断开通信连接,或者第一终端与第二终端断开部分或全部消息连接)的情况下,第一终端无法向第二终端推送通知消息。且当第一终端与第二终端的连接状态恢复到第二连接状态(第一终端与第二终端建立通信连接和消息连接)的情况下,第一终端也不会再次向第二终端推送第一连接状态期间的未读通知消息,人机交互性能差。从而使得用户始终接收不到第一连接状态期间的未读通知消息,导致用户遗漏重要的通知消息。

然而,采用本申请实施例提供的消息推送方法方法,在第一终端与第二终端处于第一连接状态的情况下,将第一终端的目标应用的目标通知消息存储到存储区中(例如图1D所示)。从而在第一终端与第二终端处于第二连接状态(第一终端与第二终端建立通信连接和消息连接)的情况下,基于通信连接将该目标通知消息推送到第二终端(例如图1E所示)。由此,避免用户遗漏一些重要的通知消息,提高第一终端以及第二终端的人机交互性能。

可理解的,可以由第一终端执行本申请实施例的消息推送方法,也可以由该第一终端中的消息推送模块执行本申请实施例的消息推送方法。其中,该消息推送模块可以为该第一终端中的硬件部件。例如,该消息推送模块可以为该第一终端中用于执行本申请提供的消息推送方法的芯片。或者,该消息推送模块也可以为该第一终端中已有的硬件部件提供的可以执行本申请提供的消息推送方法的软件功能模块。示例性的,该消息推送模块为一个应用程序。本申请实施例对于该消息推送模块的具体形态不作限定。

可理解的,上面实施例中,在第一终端与第二终端处于上述第一连接状态的情况下,创建上述存储区。在实际应用中,第一终端还可以在其他一些情况下,创建上述存储区以执行本申请实施例提供的方法,具体的,请参照图3。

图3为本申请实施例提供的另外一种消息推送方法。如图3所示,该消息推送方法包括:

301,在满足第一触发条件的情况下,在第一终端侧创建存储区。

可选的,第一触发条件可以包括第一终端与第二终端的通信连接状态为第一连接状态。

关于第一终端、第二终端以及第一连接状态的描述可以参照本申请其他实施例的相关详细描述(例如图2A步骤201),在此不再赘述。

可选的,第一触发条件也可以为第一终端侧接收到通知消息。也就是说,只要第一终端侧接收到未读通知消息,就创建用于存储该未读通知消息的存储区。可理解的,该存储区中存储的通知消息,可以用于在第一终端在接收到通知消息后,用户好长时间都未查看(例如通知消息24小时未查看),则可以再向该第一终端再推送一次该存储区中存储的未读通知消息。

可选的,第一触发条件还可以为当第一终端与第二终端处于第一连接状态,且第一终端侧接收到通知消息。可理解的,在当第一终端与第二终端处于第一连接状态且第一终端侧接收到通知消息的情况下,再创建存储区,可以避免在第一连接状态期间不会接收到通知消息,从而造成浪费存储资源、增加存储负担的问题。

可理解的,上述第一触发条件除了可以为第一终端与第二终端处于第一连接状态、或第一终端侧接收到通知消息之外,还可以为其他触发条件(例如第一终端提供了用户手动触发创建存储区的功能控件,则该第一触发条件也可以为用户点击该功能控件)。本申请实施例对该第一触发条件的具体形式不做限定。

可选的,上述创建存储区可以为向第一终端的内存中的RAM请求目标容量大小的动态分区。关于向第一终端的内存中的RAM请求目标容量大小的动态分区的详细描述可以参照本申请其他实施例的相关描述(例如图2A步骤201所示与创建存储区相关的详细描述),在此不再详述。

可理解的,RAM分区也可以理解为主存,是与CPU直接交换数据的内部存储器,读写速度快。由此,采用RAM中的动态分区(存储区)存储目标应用的目标通知消息,可以提高读写目标通知消息的速度,加快程序反应时间,节省磁盘空间,减少性能损耗,提高用户体验高。

可选的,上述创建存储区还可以为向第一终端的磁盘申请目标容量大小的存储空间。

在本申请实施例中,可以在第一终端的内存或磁盘中创建上述存储区,也可以在第一终端的其他存储区创建上述存储区,本申请实施例对此不做限定。

302,将目标应用的目标通知消息存储到上述存储区中。

关于目标应用、目标通知消息的描述可以参照本申请其他实施例的相关描述(例如图2A所示的步骤202),在此不再详述。

可选的,存储区中的目标应用的目标通知消息均为第一终端侧的未读通知消息。关于未读通知消息的描述可以参照本申请其他实施例的相关描述(例如图2A步骤202的相关描述),在此不再详述。

可选的,存储区中的目标应用的目标通知消息通知时间包含于第一预设时间范围。关于第一预设时间范围的说明可以参照本申请其他实施例的相关详细说明(例如图2A步骤202),在此不再详述。

303,在满足第二触发条件的情况下,向第一终端或第二终端推送上述存储区中的目标通知消息。

示例性的,该第二触发条件可以为第一终端与第二终端处于第二连接状态,从而触发第一终端向第二终端推送上述存储区中的数据。

关于第二连接状态的详细说明可以参照本申请其他实施例的相关详细描述(例如图2A步骤203关于第二连接状态的相关描述),在此不再详述。

示例性的,该第二触发条件也可以为第一终端侧上述目标应用的目标通知消息超过第二预设时间仍未被查看,则将该存储区中的目标通知消息再次推送到该第一终端和/或第二终端。例如该第二预设时间为24小时,则若当前时间减去目标通知消息的通知时间大于24小时,则将存储区的目标通知消息再次推送到该第一终端。

在本申请实施例中,该第二触发条件还可以为其他条件,本申请实施例对该第二触发条件的具体形式不做限定。

在另外一些实施例中,在向第一终端或第二终端推送上述存储区中的目标通知消息之后,还包括:删除上述存储区中的数据。从而节省第一终端的内存开销,或节省第一终端的磁盘空间,提高第一终端的运行效率。

可理解的,在另外一些实施例中,也可以在向第一终端或第二终端推送上述存储区中的目标通知消息之后不删除上述存储区中的数据,直到通知消息在第一终端侧或第二终端侧被点击或下拉查看后才删除上述存储区中的数据。

关于删除存储区中的数据的详细描述可以参照本文其他实施例的相关描述(例如图2A步骤204),在此不再详述。

采用本申请实施例提供的消息推送方法,在第一触发条件下将目标通知消息存储到存储区中,从而在第二触发条件下,将该目标通知消息推送到该第二终端,以便于第二终端显示该目标通知消息,从而及时向用户推送该目标通知消息,避免用户遗漏一些重要的通知消息,提高第一终端以及第二终端的人机交互性能。

可理解的,可以由第一终端执行本申请实施例的消息推送方法,也可以由该第一终端中的消息推送模块执行本申请实施例的消息推送方法。其中,该消息推送模块可以为该第一终端中的硬件部件。例如,该消息推送模块可以为该第一终端中用于执行本申请提供的消息推送方法的芯片。或者,该消息推送模块也可以为该第一终端中已有的硬件部件提供的可以执行本申请提供的消息推送方法的软件功能模块。示例性的,该消息推送模块为一个应用程序。本申请实施例对于该消息推送模块的具体形态不作限定。

可理解的,上面实施例中,第一终端与第二终端可以通过蓝牙、WIFI或NFC技术建立通信连接,在满足第一触发条件的情况下,创建上述存储区,执行本申请实施例提供的方法。在实际应用中,可以以第一终端与第二终端可以通过蓝牙建立通信连接,第一终端未开启勿扰模式,在第一终端与第二终端断开蓝牙连接时创建上述存储区为例,进一步说明本申请实施例提供的方法。具体的,请参阅图4。

图4为本申请实施例提供的一种消息推送方法。如图4所示,该消息推送方法包括以下步骤:

401,在第二终端未开启勿扰模式的情况下,确定第一终端与第二终端是否断开蓝牙连接。

关于第一终端、第二终端、勿扰模式以及通过蓝牙建立通信连接的详细说明可以参照本申请其他实施例的相关描述(例如图2A所示的步骤201),在此不再详述。

4021,在确定第一终端与第二终端未断开蓝牙连接的情况下,不用创建存储区。

4022,在确定第一终端与第二终端断开蓝牙连接的情况下,在第一终端侧创建存储区。

关于创建存储区的详细说明可以参照本申请其他实施例的相关描述(例如图2A所示步骤202),在此不再详述。

403,第一终端侧接收到通知消息。

404,应用模块确定该通知消息是否属于目标应用的通知消息。

可理解的,该应用模块也可以理解为本申请其他实施例所描述的目标程序(例如图2A步骤202中关于目标程序的说明),关于该应用模块的详细说明可以参照该目标程序的相关描述,在此不再详述。

在本申请实施例中,该目标应用可以为电话、短信和微信应用程序。关于目标应用的详细说明可以参照本申请实施例的相关描述。

4051,若确定该通知消息不属于目标应用的通知消息,则不将该通知消息存储到存储区中。

4052,若确定该通知消息属于目标应用的通知消息,则将该通知消息的部分或全部详细内容存储到存储区中。

关于通知消息的部分或全部详细内容的说明请参照本申请其他实施例的相关描述(例如图2A步骤202),在此不再详述。

406,确定第一终端与第二终端是否重新建立蓝牙连接。

407,在确定第一终端与第二终端建立了蓝牙连接的情况下,向第二终端推送存储区中的通知消息。

在本申请实施例中,向第二终端推送存储区的通知消息,第二终端在接收到该通知消息后,显示该通知消息。关于第二终端具体以何种方式显示该通知消息,本申请实施例不做限定。

408,在向第二终端推送存储区中的通知消息之后,清空该存储区。

关于清空存储区的详细说明可以参照本申请其他实施例的相关描述(例如图2A步骤204),在此不再详述。

可理解的,上述对于第二终端未开启勿扰模式、第一终端与第二终端断开蓝牙连接的场景仅为示例,本申请实施例还可以适用于其他场景。示例性的,在另外一些实施例中,上述步骤401至步骤4022的场景还可以包括,在确定第二终端开启了勿扰模式的情况下,在第一终端侧创建存储区。步骤406至步骤407还可以包括:在确定第一终端关闭了勿扰模式,且第一终端与第二终端建立了蓝牙连接的情况下,向第二终端推送存储区中的通知消息。

可理解的,本申请以上实施例提供的方法可以由任意具备通信连接功能(例如蓝牙通信连接、WiFi通信连接、USB通信连接或NFC通信连接技术)的电子设备(第一终端)执行。示例性的,该电子设备包括移动终端、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、以及超级移动个人计算机(ultra-mobile personal computer,UMPC)等。

示例性的,请参阅图5,图5为本申请实施例提供的电子设备100的结构示意图,下面通过移动终端作为该电子设备的一个示例进行详细的描述。

电子设备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可以包括应用处理器(applicationprocessor,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 industryprocessor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identitymodule,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可以播放或录制多种编码格式的视频,例如:动态图像专家组(movingpicture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。

NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。通过NPU还可以实现本申请实施例提供的决策模型。

外部存储器接口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 ofthe 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静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。

距离传感器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分离。

图6是本发明实施例的电子设备100的软件结构框图。

分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Androidruntime)和系统库,以及内核层。

应用程序层可以包括一系列应用程序包。

如图6所示,应用程序包可以包括消息推送模块,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,相机,短信息等应用程序(也可以称为应用)。其中,该消息推送模块用于执行本申请实施例提供的消息推送方法,关于该消息推送模块的相关描述请参照本申请其他实施例。

可以理解的是,本申请实施例的电子设备中可以包括更多或更少的应用程序,不限于图6中示出的应用程序。

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。

如图6所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器,本地Profile管理助手(Local ProfileAssistant,LPA)等。

窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。

内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。

视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。

电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。

资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。

通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话界面形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。

可理解的,该消息推送模块包含于该应用程序层仅为示例,该消息推送模块还可以包含于该应用程序框架层,本申请实施例对此不做限定。

安卓运行时(Android Runtime)包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。

核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。

应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。

系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)等。

表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了二维(2-Dimensional,2D)和三维(3-Dimensional,3D)图层的融合。

媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。

三维图形处理库用于实现3D图形绘图,图像渲染,合成,和图层处理等。

2D图形引擎是2D绘图的绘图引擎。

内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,虚拟卡驱动。

下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。

当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。

上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

55页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种5G消息中的第三方应用用户敏感信息一键获取系统及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类