CN115086481B - 一种来电提醒方法和电子设备 - Google Patents
一种来电提醒方法和电子设备 Download PDFInfo
- Publication number
- CN115086481B CN115086481B CN202210854424.9A CN202210854424A CN115086481B CN 115086481 B CN115086481 B CN 115086481B CN 202210854424 A CN202210854424 A CN 202210854424A CN 115086481 B CN115086481 B CN 115086481B
- Authority
- CN
- China
- Prior art keywords
- electronic device
- incoming call
- heartbeat
- vibration
- call
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72484—User interfaces specially adapted for cordless or mobile telephones wherein functions are triggered by incoming communication events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
Abstract
本申请实施例公开了一种来电提醒方法和电子设备,涉及电子设备领域,通过心跳通信机制,使得在来电被接听或挂断时,提供同振的设备能够及时退出同振,以避免对用户的错误提示。具体方案为:响应于该第一电子设备接收到来电,该第一电子设备进入来电响铃状态,该来电响铃状态用于向用户提醒该来电。在该第一电子设备处于来电响铃状态的情况下,该第一电子设备接收到该第二电子设备发送的第一心跳包。该第一电子设备向该第二电子设备发送第一心跳响应,该第一心跳响应用于在该第二电子接收到该第一心跳响应后保持该来电响铃状态,该第二电子在发出该第一心跳包时处于该来电响铃状态。
Description
技术领域
本申请实施例涉及电子设备领域,尤其涉及一种来电提醒方法和电子设备。
背景技术
目前,多个电子设备可以协同工作,向用户提供更智能的体验。例如,在一个设备接到来电时,其他设备也可以同步提醒用户当前来电,由此使得用户可以通过任一个同步提醒的设备知晓当前来电。本申请中,该多设备同步提醒的机制也可以称为同振。
在来电被接听或挂断之后,则需要其他设备可以及时停止同振。从而避免出现向用户提供的提醒功能不准确的情况。
发明内容
本申请实施例提供一种来电提醒方法和电子设备,使得在来电被接听或挂断时,提供同振的设备能够及时退出同振,以避免对用户的错误提示。
为了达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供一种来电提醒方法,应用于第一电子设备,该第一电子设备和第二电子设备通信连接,该方法包括:响应于该第一电子设备接收到来电,该第一电子设备进入来电响铃状态,该来电响铃状态用于向用户提醒该来电。在该第一电子设备处于来电响铃状态的情况下,该第一电子设备接收到该第二电子设备发送的第一心跳包。该第一电子设备向该第二电子设备发送第一心跳响应,该第一心跳响应用于在该第二电子接收到该第一心跳响应后保持该来电响铃状态,该第二电子在发出该第一心跳包时处于该来电响铃状态。其中,第一电子设备和第二电子设备通信连接可以指第一电子设备和第二电子设备处于同一局域网下,和/或第一电子设备和第二电子设备登录有同一账号。这样,通过第一心跳包的交互,使得第一电子设备能够将当前的来电响铃状态传递给其他同振设备,以便于其他同振设备可以继续准确的提供同振。
在一种可能的设计中,该方法还包括:在该第一电子设备处于非来电响铃状态的情况下,该第一电子设备接收到该第二电子设备发送的第二心跳包,该第二电子在发出该第二心跳包时处于该来电响铃状态。响应于接收到该第二心跳包,该第一电子设备不向该第二电子设备发送第二心跳响应,以便于该第二设备退出该来电响铃状态。这样,通过超时未接收到心跳响应的机制,第二设备就可以知晓第一设备已经不再处于来电响铃状态。对应的,第二设备可以退出来电响铃状态,或称为停止来电响铃,或称为停止来电响铃状态。需要说明的是,在本申请实施例中,退出来电响铃状态也可以称为进入非来电响铃状态。该非来电响铃状态可以包括接听来电,或者挂断来电。其中,挂断来电可以是不对来电进行接听的直接挂断。
在一种可能的设计中,第一电子设备进入所述来电响铃状态,包括:该第一电子设备通过如下中的任一种方式向用户提醒该来电:在显示屏上显示与该来电相对应的来电界面,响铃提示,振动提示。这样,明确了第一电子设备提供同振的形式,由此对用户进行来电提醒。
在一种可能的设计中,在第一电子设备向第二电子设备发送第一心跳响应之前,该方法还包括:确定当前通话状态处于来电响铃状态。这样,第一电子设备可以根据当前的通话状态进行第一心跳包的响应。
在一种可能的设计中,该方法还包括:根据当前来电生成同振决策请求,该同振决策请求用于获取同振设备列表,该同振设备列表不为空时,该同振设备列表中包括至少一个该第二电子设备的设备信息。该设备信息包括该第二电子设备的设备ID,和/或通信地址。获取同振设备列表。根据该同振设备列表,在该同振设备列表不为空时,生成同振信息,该同振信息用于指示该同振设备列表中的至少一个第二电子设备进行同振。发送该同振信息。这样,通过存储的同振设备列表,第一电子设备就可以判断是否存在需要同振的设备,如果存在则可以通过同振信息指示其他设备进行同振。
在一种可能的设计中,该同振设备列表设置在该第一电子设备的存储器中,该方法还包括:该第一电子设备登录有第一账号。在该第一电子设备接入局域网时,该第一电子设备在该局域网中查找是否存在登录有该第一账号的第二电子设备,如果存在,则将该第二电子设备的设备信息存储在该同振设备列表中。和/或,该第一电子设备已经接入局域网。在该第一电子设备登录第一账号时,在该局域网中,查找是否存在登录有该第一账号的第二电子设备,如果存在,则将该第二电子设备的设备信息存储在该同振设备列表中。这样,通过局域网以及账号的判断,就能够筛选出需要同振的设备。
在一种可能的设计中,在该生成同振信息之前,该方法还包括:该第一电子设备向该同振设备列表中的至少一个第二电子设备发送通信确认消息,该通信确认消息用于确认该第二电子设备是否在线。在接收到该第二电子设备对该通信确认消息的通信响应消息时,生成该同振信息。这样,在有同振设备在线时才生成并发送同振信息,使得仅在线的设备提供同振。使得多设备的同振机制更加合理。
在一种可能的设计中,该发送第一心跳响应,包括:在接收到该第一心跳包后的预设时长内,发送该第一心跳响应。这样,通过预设时长的时间限制,保证心跳通信的高效性,同时使得超时未发送的状态传递机制得以成为可能。
第二方面,提供一种来电提醒方法,应用于第二电子设备,该第二电子设备和第一电子设备通信连接,该方法包括:该第二电子设备进入来电响铃状态,该来电响铃状态与该第一电子设备接收到来电相对应,该来电响铃状态用于向用户提醒该来电。该第二电子设备向该第一电子设备发送的第一心跳包。该第二电子设备接收第一心跳响应,该第一心跳响应为该第一电子设备在接收到该第一心跳包后向该第二电子设备发送,该第一电子设备在接收到该第一心跳包时处于该来电响铃状态。响应于接收到该第一心跳响应,该第二电子设备保持该来电响铃状态。这样,在开始同振后,通过心跳机制,能够基于心跳响应确定当前的通话状态,从而快速准确地确定是否继续提供同振。
在一种可能的设计中,该方法还包括:该第二电子设备向该第一电子设备发送的第二心跳包,该第二电子在发出该第二心跳包时处于该来电响铃状态。响应于预设时长内未接收到第二心跳响应,该第二电子设备停止来电响铃状态,该第一电子设备在接收到该第二心跳包时处于非来电响铃状态,该第二心跳响应与该第二心跳包相对应。这样,通过超时未接收到心跳包的机制,使得第二电子设备可以知晓当前第一设备已经退出来电响铃状态。那么,第二设备可以相应的退出来电响铃状态。
在一种可能的设计中,该第二电子设备进入来电响铃状态,包括:该第二电子设备通过如下中的任一种方式向用户提醒该来电:在显示屏上显示与该来电相对应的来电界面,响铃提示,振动提示。
在一种可能的设计中,该第一电子设备和该第二电子设备处于相同局域网中,该第一电子设备和该第二电子设备登录有同一账号。
在一种可能的设计中,在第二电子设备进入来电响铃状态之前,该方法还包括:接收同振信息,该同振信息用于指示该第二电子设备进入来电响铃状态。
在一种可能的设计中,在接收同振信息之后,该方法还包括:该第二电子设备根据该同振信息,生成决策请求,该决策请求用于确定该第二电子设备是否处于非冲突状态。在确定该第二电子设备处于非冲突状态下时,开始同振。
在一种可能的设计中,在该第二电子设备不处于以下任一种状态时,确定该第二电子设备处于非冲突状态:会议中,多屏协同中,视频中,免打扰。
这样,第二电子设备也可以在提供同振之前,根据自身情况灵活判断是否提供同振。例如,在免打扰状态下时,则第二电子设备即使接收到同振信息,也可以不进行同振,由此避免对用户的不必要的打扰。
在一种可能的设计中,该第一心跳响应是在发出该第一心跳包后的预设时长内收到的。
在一种可能的设计中,该方法还包括:在发出该第二心跳包后,该第二电子设备开始计时,直至预设时长后结束。
在一种可能的设计中,该预设时长内未接收到第二心跳响应,包括:在该计时结束前,没有接收到该第二心跳包对应的第二心跳响应。
在一种可能的设计中,在该预设时长内未接收到第二心跳响应之前,该方法包括:向该第一电子设备发送第三心跳包,该第二电子在发出该第三心跳包时处于该来电响铃状态。预设时长内未接收到该第三心跳包对应的第三心跳响应。
第三方面,提供一种来电提醒方法,应用于包括第一电子设备和第二电子设备的系统,该方法包括:响应于该第一电子设备接收到来电,该第一电子设备进入来电响铃状态,该第二电子设备进入与该来电相对应的来电响铃状态,该来电响铃状态用于向用户提醒该来电。该第二电子设备向该第一电子设备发送第一心跳包。在该第一电子设备处于来电响铃状态的情况下,该第一电子设备接收到该第二电子设备发送的第一心跳包。响应于接收到该第一心跳包,该第一电子设备向该第二电子设备发送第一心跳响应。响应于接收到该第一心跳响应,该第二电子设备保持来电响铃状态。
在一种可能的设计中,该方法还包括:该第二电子设备向该第一电子设备发送第二心跳包。在该第一电子设备处于非来电响铃状态的情况下,该第一电子设备接收到该第二电子设备发送的第二心跳包。响应于接收到该第二心跳包,该第一电子设备不向该第二电子设备发送第二心跳响应。响应于预设时长内未接收到该第二心跳响应,该第二电子设备停止来电响铃状态。
第四方面,提供一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器。该一个或多个存储器与该一个或多个处理器耦合,该一个或多个存储器存储有计算机指令。当该一个或多个处理器执行该计算机指令时,使得该电子设备执行如第一方面及其任一种可能的设计中提供的来电提醒方法。
应当理解的是,上述第四方面提供的技术方案,其技术特征可对应到第一方面及其示例中提供的来电提醒方法,因此能够达到的有益效果类似,此处不再赘述。
第五方面,提供一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器。该一个或多个存储器与该一个或多个处理器耦合,该一个或多个存储器存储有计算机指令。当该一个或多个处理器执行该计算机指令时,使得该电子设备执行如第二方面及其任一种可能的设计中提供的来电提醒方法。
应当理解的是,上述第五方面提供的技术方案,其技术特征可对应到第二方面及其示例中提供的来电提醒方法,因此能够达到的有益效果类似,此处不再赘述。
第六方面,提供一种通信系统,该通信系统包括如第四方面提供的电子设备,以及如第五方面提供的电子设备。
第七方面,提供一种计算机可读存储介质,包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行如第一方面及其任一种可能的设计中提供的来电提醒方法,或者,执行如第二方面及其任一种可能的设计中提供的来电提醒方法。
第八方面,提供一种芯片系统,该芯片系统包括接口电路和处理器。该接口电路和该处理器通过线路互联。该接口电路用于从存储器接收信号,并向该处理器发送信号,该信号包括该存储器中存储的计算机指令。当该处理器执行该计算机指令时,该芯片系统执行如第一方面及其任一种可能的设计中提供的来电提醒方法,或者,执行如第二方面及其任一种可能的设计中提供的来电提醒方法。
应当理解的是,上述第六方面至第八方面提供的技术方案,其技术特征均可对应到前述设计中提供的来电提醒方法,因此能够达到的有益效果类似,此处不再赘述。
附图说明
图1为一种多设备同振的示意图;
图2为一种来电接听的示意图;
图3为一种来电接听后的多设备显示的示意图;
图4为本申请实施例提供的一种第一电子设备的组成示意图;
图5为本申请实施例提供的一种第二电子设备的组成意图;
图6为本申请实施例提供的又一种第二电子设备的组成示意图;
图7为本申请实施例提供的一种来电提醒方法的模块交互示意图;
图8为本申请实施例提供的又一种来电提醒方法的模块交互示意图;
图9为本申请实施例提供的又一种来电提醒方法的模块交互示意图;
图10为本申请实施例提供的又一种来电提醒方法的模块交互示意图;
图11为本申请实施例提供的又一种来电提醒方法的模块交互示意图;
图12为本申请实施例提供的又一种来电提醒方法的模块交互示意图;
图13为本申请实施例提供的一种来电提醒方法的模块间交互流程示意图;
图14为本申请实施例提供的一种来电提醒方法的设备间交互流程示意图;
图15为本申请实施例提供的一种多设备场景的示意图;
图16为本申请实施例提供的又一种电子设备的组成示意图;
图17为本申请实施例提供的又一种电子设备的组成示意图;
图18为本申请实施例提供的一种芯片系统的组成示意图。
具体实施方式
随着通信技术的发展,向用户提供各项功能的电子设备种类也越来越多。例如,这些电子设备可以包括手机、平板电脑、笔记本电脑、智能手表等。为了便于说明,以下将电子设备简称为设备。
不同的设备可以通过通信连接,向用户提供协同功能。该提供协同功能的多个设备可以称为协同设备。在一些实现中,多个协同设备可以包括一个主设备,该主设备可以在多个设备协同工作时,作为主控制端(如server端)协调各个协同设备的工作。例如,该主设备可以为用户的手机。对应的,其他协同设备可以作为被控端(如client端),在server端设备的指示下提供协同功能。在一些情况下,该server端设备与一个或多个client端设备构成的协同系统也可以称为1+8协同系统。其中“1”可以用于标示server端设备,“8”可以用于标示多个client端设备。
基于协同功能,协同设备之间可以实现数据信息的安全共享,以便向用户提供更加便捷的使用体验。例如,该协同功能可以包括协同语音通话功能,基于该协同语音通话功能,在一个设备收到来电时,其他协同设备可以同步提醒该来电的来电信息,以及替代接收来电的设备进行虚拟通话等。
示例性的,以用户的协同设备包括手机、平板电脑、笔记本电脑、智能手表为例。手机可以为server端设备,其他设备(如平板电脑、笔记本电脑、智能手表)可以为client端设备。
手机、平板电脑、笔记本电脑、智能手表可以在用户的授权下,确定满足一定条件时,提供该协同语音通话功能。该满足一定条件可以包括:手机、平板电脑、笔记本电脑、智能手表处于连接状态。示例性的,在一些实施例中,该连接状态可以为通过各个设备提供的“碰一碰”功能实现的通信连接。在另一些实施例中,当多个设备连接到同一个局域网下时,如果各个设备登录有同一个账号,那么,其中的至少一个设备(如每个设备)就可以通过自发现的形式获取其他设备的信息,并与这些在同一个局域网、登录有同一个账号的设备建立通信连接。
一旦任意两个设备实现了通信连接,则可以在一个或多个设备中保存相应的信任关系。该信任关系可以存储在设备的信任列表中。例如,在手机与笔记本电脑通过“碰一碰”功能实现了通信连接之后,在手机以及笔记本电脑中可以各自存储一份信任列表。以手机为例,在手机的信任列表中,可以保存有用于指示与笔记本电脑对应的信任关系。类似的,以笔记本电脑为例,在笔记本电脑的信任列表中,可以保存有用于指示与手机对应的信任关系。由此,在以后手机与该笔记本电脑处于同一局域网下时,两个设备就可以直接进行通信连接,实现数据交互。由此,在以后手机与该笔记本电脑处于同一局域网下时,两个设备就可以直接进行通信连接,实现数据交互。其他设备也可以存储类似的信任关系,以便实现多设备的协同功能。
以协同功能中的协同语音通话功能为例。参考图1,为多设备提供协同功能的场景示意。该场景中可以包括手机110,平板电脑120,笔记本电脑130以及智能手表140。其中,手机110,平板电脑120,笔记本电脑130以及智能手表140已经互相建立用于提供协同功能的通信连接。手机110具有接听电话或拨打电话的语音通信功能。该语音通信功能可以是基于语音网络(如2G、3G等)的语音通信功能,该语音通信功能也可以是基于数据网络(如VoLTE、VoNR等)的语音通信功能。在本示例中,其他设备(如平板电脑120,笔记本电脑130以及智能手表140)可以设置有显示屏,能够向用户提供显示功能。
在本示例中,在接收到来电后,直至用户接听或挂断之前,手机110可以显示来电界面111,在该来电界面111上可以包括来电信息,如来电号码、来电联系人等信息,用于提示用户。在一些实现中,手机110还可以通过振动提示用户收到来电。该振动的效果可以是手机中的振动马达提供的。
对应的,在手机110提示用户来电的过程中,可以通过协同语音通话功能,指示其他设备提醒用户来电。例如,在平板电脑120上可以置顶显示提示窗121。在该提示窗121中也可以包括来电信息,如来电号码、来电联系人等信息,以便提醒用户当前来电。类似的,对于笔记本电脑130而言,在笔记本电脑130上可以置顶显示提示窗131。在该提示窗131中也可以包括来电信息,以便提醒用户当前来电。对于智能手表140而言,在智能手表140上可以显示来电界面141。在该来电界面141中也可以包括来电信息,以便提醒用户当前来电。
在本示例中,各个设备在通过界面提醒用户当前来电的同时,还可以通过振动的形式提醒用户当前有来电未被处理(如接听或挂断)。在本申请中,该多个设备通过振动提醒用户的情况也可以称为多个设备处于同振状态,或多个设备进行同振。可以理解的是,该同振状态可以包括以下中的至少一种:响铃、振动、界面提示等。通过工作在同振状态,协同设备就可以同步提醒用户当前来电。
相应的,用户可以在设备上进行操作,指示设备进行来电的接听或挂断。例如,如图2所示,用户可以在手机110的来电界面111上输入接听来电的操作。在来电界面111上可以包括按钮201,该按钮201可以对应到接听来电的功能。用户可以对该按钮201输入点击、滑动等操作,指示手机110进行来电接听。对应的,手机110就可以接听当前来电,并跳转显示通话界面,如图2所示的界面202。
对应的,其他设备(如平板电脑120,笔记本电脑130以及智能手表140)也可以跳转到通话相应的界面。示例性的,如图3所示,平板电脑120可以在提示窗301中显示当前通话信息,如通话时长、对方号码等信息。由此标识当前通话已经被接听,正在处于通话中。类似的,笔记本电脑130可以在提示窗302中显示当前通话信息,由此标识当前通话已经被接听,正在处于通话中。智能手表140可以在显示通话界面303,该通话界面303可以包括当前的通话信息,由此标识当前通话已经被接听,正在处于通话中。
可以理解的是,在通话已经接听(或挂断)的情况下,手机110就可以停止振动提示。类似的,平板电脑120,笔记本电脑130以及智能手表140也需要相应的停止振动。也即,在通话被接听或挂断后,处于协同通信状态下的各个设备需要退出同振状态。
为了解决上述问题,本申请实施例提供一种同振退出机制,基于各个协同设备之间的心跳通信机制,使得在通话被接听或挂断后,协同设备可以分别退出同振。由此使得协同设备提供的协同功能更加合理,同时节省对应的同振开销(如马达振动的功耗开销等)。
本申请实施例提供的方案可以应用于包括至少两个设备的场景下。示例性的,该至少两个设备可以包括第一设备和第二设备。第一设备和第二设备可以共同提供协同语音通话功能,即第一设备和第二设备可以为语音通话协同设备,简称为协同设备。对应到上述示例,第一设备可以为server端设备,第二设备可以为client端设备。
以语音通话为基于SIM卡的运营商语音通话为例。第一设备可以设置有SIM卡,能够用于接收来自运营商的来电信息。第二设备可以在第一设备来电、通话等状态下,提供协同语音通话功能。例如,第一设备在来电尚未接听时,可以显示来电界面,并振动提醒用户。对应的,第二设备也可以显示相应的来电界面(或来电窗口),并振动提醒用户。
在不同实现中,第一设备和第二设备可以相同,也可以不同。例如,第一设备可以为智能手机(简称为手机),第二设备可以为其他智能终端。在另一些实现中,第一设备和/或第二设备还可以为手机、平板电脑、笔记本电脑、个人数字助理(personal digitalassistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备、媒体播放器等设备。在另一些实现中,第一设备和/或第二设备还可以为智能手表等便携式移动设备。
在本申请的不同实现中,第一设备和/或第二设备可以具有不同的组成。
示例性的,在一些实施例中,从硬件组成的角度,以第一设备为例。该第一设备可以包括处理器,外部存储器接口,内部存储器,通用串行总线(universal serial bus,USB)接口,充电管理模块,电源管理模块,电池,天线1,天线2,移动通信模块,无线通信模块,音频模块,传感器模块,按键,马达,指示器,摄像头,显示屏,以及用户标识模块(subscriberidentification module,SIM)卡接口等。其中,传感器模块可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。在一些实施例中,该第一设备还可以包括扬声器,受话器,麦克风,耳机接口等器件用于实现电子设备的音频相关功能。
可以理解的是,上述示例并不构成对第一设备的具体限定。在另一些实施例中,本申请实施例涉及的电子设备(如第一设备或第二设备)可以包括更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
在另一些实施例中,从软件组成的角度,本申请实施例涉及的电子设备(如第一设备和/或第二设备)中可以运行有操作系统,该操作系统可以为Windows®,Linux®,IOS®,Android®或其他操作系统。该操作系统可以具有分层架构。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。
作为一种示例,以第一设备中运行有安卓®(Android®)操作系统为例。结合图4的示例,该第一设备可以具有分层架构。从上至下分别为应用程序层(Application层,简称为APP层或应用层),应用程序框架层(Application Framework层,简称为Framework层或框架层),硬件抽象层(Hardware Abstraction层,简称为HAL层)以及硬件层。
其中,应用层可以包括一系列应用程序包。应用程序包可以包括相机,图库,日历,通话,地图,导航,蓝牙,音乐,视频,短信息等应用程序。在本示例中,应用层中可以包括提供通话功能的通话应用,如第一通话应用。
框架层为应用层的应用程序提供应用编程接口和编程框架。框架层包括一些预先定义的函数。框架层可以包括窗口管理器,内容提供器,视图系统,资源管理器,通知管理器,活动管理器,输入管理器等。窗口管理器提供窗口管理服务(Window Manager Service,WMS),WMS可以用于窗口管理、窗口动画管理、表面管理器(surface manager)以及作为输入系统的中转站。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。资源管理器为应用程序提供各种资源。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知。活动管理器可以提供活动管理服务(Activity Manager Service,AMS),AMS可以用于系统组件(例如活动、服务、内容提供者、广播接收器)的启动、切换、调度以及应用进程的管理和调度工作。输入管理器可以提供输入管理服务(Input Manager Service,IMS),IMS可以用于管理系统的输入,例如触摸屏输入、按键输入、传感器输入等。IMS从输入设备节点取出事件,通过和WMS的交互,将事件分配至合适的窗口。
在本申请实施例中,框架层中还可以设置有其他功能模块,以便支持第一设备的各项功能。如图4所示,框架层中可以设置有通话模块。该通话模块可以用于支持第一通话应用对应的通话功能。作为一种示例,该通话模块可以通过一个或多个服务实现通话功能在框架层中的相应处理。例如,通话模块可以通过TeleService以及TeleComm实现其功能。示例性的,在第一设备接收到来电信息时,TeleService可以将该来电信息传输给TeleComm,TeleComm可以将该来电信息传输给第一通话应用。由此使得第一通话应用可以对该来电信息进行响应,如指示第一设备显示来电界面,指示第一设备通过响铃/振动提示用户有来电未处理等。
框架层中还可以设置有超级通话模组。该超级通话模组可以包括多个功能模块,用于实现通话过程中的多设备协同。示例性的,在本实例中,超级通话模组可以包括通话管理模块,第一同振管理模块,以及第一心跳管理模块等。在一些实施例中,超级通话模组对应的进程可以在第一设备启动时自行发起运行,以便于提供后续的协同功能。
其中,通话管理模块可以为InCallService。该通话管理模块可以为超级通话模组提供通话状态管理功能。例如,在第一设备接收到来电信息时,通话管理模块可以从TeleComm获取对应的通话信息。该通话信息可以包括通话状态,如来电响铃、已接听、已挂断等。由此,超级通话模组可以基于通话管理模块获取的当前的通话信息,实现对应的多设备协同语音通话控制。
第一同振管理模块可以用于管理多设备的同振机制。示例性的,在第一设备来电响铃时,第一同振模块可以在存在协同设备的情况下,指示协同设备进行同振。例如,第一同振管理模块可以用于获取同振设备列表,由此确定协同设备的情况。又如,第一同振管理模块可以与同振设备里列表中的各个协同设备(如列表中的各个第二设备)进行协同通信测试,将测试通过的第二设备(即在线的第二设备)确定为可以进行同振的协同设备等。
需要说明的是,在本申请实施例中,以多设备语音协同功能对应多设备同振为例。在另一些实施例中,多设备语音协同功能也可以包括多设备的界面提示、响铃提示等。其实现机制类似,可以互相参考。
第一心跳管理模块可以用于管理心跳包的反馈。在本申请中,不同于第一设备的其他协同设备可以在接收到同振信息后,向第一设备发送心跳包,用于查询当前的通话状态。该第一心跳管理模块可以用于管理该心跳包的反馈。例如,在当前依然处于来电响铃状态下时,第一设备可以通过第一心跳管理模块向其他协同设备发送心跳包响应信息,以便于其他协同设备知晓当前仍在响铃,继续执行同振。又如,在当前不再处于来电响铃状态下时,第一设备的第一心跳管理模块可以不对接收到的心跳包进行响应,以便其他协同设备在预设时长内没有接收到心跳包反馈的情况下,停止同振。例如,该预设时长可以设置为200ms。
在本示例中,HAL层可以运行于用户空间(user space),对驱动进行封装,向上层提供调用接口。示例性的,HAL层可以设置有通信模块,第一数据传输模块。其中,通信模块可以用于配合框架层中的通话模块,为第一通话应用提供语音通话服务。例如,该通信模块可以对应到第一设备的调制解调器(modem)等通信部件。那么,第一设备接收来电信号的内部机制可以简要描述为:通信模块接收来电信号,将来电信号传输给通话模块,通话模块将该来电信号传输给第一通话应用进行处理。
在本示例中,HAL层的第一数据传输模块可以实现第一设备与其他协同设备之间的数据传输。如通过第一数据传输模块可以实现同振信息、心跳包、心跳包响应等数据的传输。
如图4所示,第一设备中还可以包括硬件层。硬件层可以包括用于实现各项功能的硬件部件。例如,硬件层可以包括用于进行指令控制与下发的第一处理器,用于进行图像显示(如来电界面显示)的第一显示屏,用于提供存储能力的第一存储器,以及用于进行振动提示的第一马达等。在一些实施例中,第一设备的存储器中可以存储有相应的信任列表,该信任列表中可以包括与第一设备存在协同关系的其他设备的信息(也可以称为设备信息)。如第二设备的设备ID,通信地址等。通过查询该信任列表,第一设备就能够知晓可以进行同振的设备。
需要说明的是,图4所示的第一设备的组成,也可以应用于第二设备中。此外,上述图4的软件组成并不构成对第一设备和/或第二设备的限定。在另一些实施例中,第一设备和/或第二设备还可以具有更多或更少的模块或部件,本申请实施例对于第一设备和/或第二设备的组成不做限定。
作为一种示例,图5为本申请实施例提供的又一种电子设备的软件组成。在一些实施例中,该图5所示的组成可以应用于第二设备中。
如图5所示,在本示例中,该第二设备可以具有分层架构。从上至下分别为应用层,框架层,HAL层以及硬件层。
结合图4的说明,在本示例中,第二设备作为client端设备,可以具有比第一设备更加精简的设置。
示例性的,在应用层可以设置有第二通话应用,该第二通话应用可以对应到如图4的示例中的第一通话应用。
结合前述说明,第二设备可以实现配合第一设备提供协同功能,如提供协同语音通话功能。也就是说,在一些实施例中,第二设备可以不需提供独立的接收来电信号提供独立通话能力。那么,在图5所示的第二设备中的框架层,可以不设置有通话模块。由此实现第二设备中模块的精简设置。
如图5所示,在第二设备的框架层可以设置有第二同振管理模块,第二心跳管理模块以及第一冲突决策模块等模组。
其中,第二同振管理模块可以对应到如图4所示的第一同振管理模块。该第二同振管理模块可以用于对第二设备的同振进行控制和调整。例如,在确定第一设备接到来电后处于响铃中,那么第二同振管理模块可以控制第二设备进行同振,提醒用户来电。又如,在确定第一设备的来电已经被接听或挂断,那么第二同振管理模块可以控制第二设备停止同振。
第二心跳管理模块可以对应到如图4所示的第一心跳管理模块。该第二心跳管理模块可以与第一设备的心跳管理模块实现设备之间的心跳通信。在本示例中,该心跳通信可以用于确定第二设备当前是否需要继续执行同振。示例性的,在第二设备确定开始同振后,该第二心跳管理模块可以在第二设备的控制下,向第一设备发送心跳包,以便于在接收到来自第一设备的对该心跳包的响应时,确定第二设备需要继续执行同振;或者,在预设时长内没有接收到心跳包的响应时,确定第二设备需要停止执行同振等。
在如图5所示的第二设备的框架层中,还可以设置有第一冲突决策模块。该第一冲突决策模块可以向第二设备提供是否执行同振的策略参考。示例性的,第一冲突决策模块可以收集确定第二设备当前状态是否为冲突状态。该冲突状态可以包括会议中、视频中、多屏协同中、免打扰等状态。也就是说,在冲突状态下,第二设备可以不提供同振的协同功能,以避免第二设备正在提供的功能受到干扰。在本示例中,第一冲突决策模块中可以预先存储有冲突状态列表。在接收到来自第一设备的同振信息后,第二设备可以在提供同振功能之前,通过第一冲突决策模块确定当前状态是否处于冲突状态。第二设备可以在确定当前状态不在冲突状态中时,提供同振功能。在本申请实施例中,提供同振功能也可以称为开始同振。不再提供同振功能,则可以称为停止同振。
本示例中提供的第二设备的软件划分中,HAL层可以包括第二数据传输模块。硬件层可以包括第二处理器、第二显示屏、第二存储器以及第二马达等部件。该第二设备中HAL层以及硬件层各个模块的设置可以分别对应到如图4所示的第一设备中HAL层以及硬件层各个模块的设置,其功能可以互相参考,此处不再赘述。
上述图4以及图5的示例中,均以第一设备和/或第二设备运行有安卓®(Android®)操作系统为例。在本申请的另一些实施例中,第一设备和/或第二设备还可以运行有其他操作系统。示例性的,以第二设备中运行有Windows®操作系统为例。图6示出了一种第二设备的组成示意。作为一种可能的实现,该第二设备可以为如图1或图3所示的笔记本电脑。
需要说明的是,电脑中的Windows®操作系统从总体上可以分为内核模式(KernelModel)和用户模式(User Model)。
内核模式下运行的代码可以包括核心代码,这些代码是安全的,且不会受到恶意的攻击。运行在用户模式下的代码(如应用程序的代码)相对安全性较低,容易受到攻击。在一些实现中,用户模式中的代码运行权限是受限的,以此提升系统安全性。此外,如果应用程序进行一些诸如直接访问物理内存的动作,需要向内核模式下组件提出请求。在本示例中,内核模式可以对应到操作系统级代码的运行环境,用户模式可以对应到应用程序的运行环境。
作为一种实现,内核模式以及用户模式可以分布在电脑中的中央处理器(CentralProcessing Unit,CPU)的不同特权层,应对不同的运行需求。其中,CPU有多个特权层,例如,Intel®的386CPU可以包括4个特权层:从第0层到第3层。第0层的特权最高,也就是可以执行任意代码。第3层特权最低,只能执行有限代码。那么,内核模式可以运行在CPU的第0层,用户模式可以运行在CPU的第3层。
本示例中,第二设备可以通过运行的Windows®操作系统向用户提供各项功能。示例性的,在用户模式中可以设置有应用程序。不同应用程序可以用于提供不同的功能。应用程序可以通过调用内核模式中的各个组件,调用第一设备的软/硬件实现各自功能。
如图6所示,该第二设备中可以设置有用户模式以及内核模式。用户模式作为上层,可以安装运行有多个应用程序。本示例中,应用程序的集合可以构成应用层。示例性的,应用层可以设置有第三通话应用。该第三通话应用可以对应到如图5所示的第二通话应用的功能。
在一些实施例中,第二设备中的用户模式中还可以包括其他部件。例如,用户模式中可以设置有各个应用程序对应的子系统,子系统可以包括win32,POSIX、OS/2等。应用程序(如第三通话应用)运行时,可以调用对应子系统中的应用程序编程接口(NativeApplication Programming Interface, API),实现与内核模式的内部通信。例如,应用程序调用win32子系统的API函数,Win32子系统将API函数转化为原生API(Native API)。Native API可以对应到系统服务函数,该系统服务函数可以传递到内核模式中调用响应的模块实现对应功能。
在本申请实施例中,如图6所示,第二设备的用户模式中可以安装有电脑管家应用程序。该电脑管家可以用于提供第二设备与其他设备(如第一设备)的协同功能。
作为一种示例,该电脑管家应用程序,也可以具有分层的架构。例如,该电脑管家应用程序可以包括应用层、服务层、协议栈、以及硬件层(HardWare)等。
在应用层中可以安装有第三通话应用。该第三通话应用的功能可以对应到前述示例中的第一通话应用或者第二通话应用。在服务层可以包括第三同振管理模块、第三心跳管理模块以及第二冲突决策模块。该服务层的各个模块的功能可以分别对应到如图5所示的框架层的各个模块的功能。协议栈中可以包括第三数据传输模块。该协议栈中的各个模块的功能可以分别对应到如图5所示的HAL层的各个模块的功能。在本示例中,电脑管家中的硬件层可以设置有一个或多个模块驱动。例如,在硬件层中可以设置有蓝牙驱动。在电脑管家需要调用第二设备的其他模块时,可以通过硬件层中相应的驱动,实现对其他模块的调用。
这样,具有如图6所示的软件组成的第二设备,可以在Windows®操作系统生态下实现client端设备的各项功能。例如,该第二设备可以配合第一设备实现协同语音通话功能。例如,第二设备可以在第一设备响铃过程中,执行同振。又如,第二设备可以在第一设备接听来电或者挂断来电时,停止同振等。
本申请实施例提供的方案中涉及的第一设备可以具有如图4所示的组成。第二设备可以具有如图4或图5或图6所示的组成。应当理解的是,在如图4所示的组成中的各个模块,相较于如图5以及图6的示例,还包括了独立的通话链路,以及用于管理通话的通话管理模块。在本申请的另一些实施例中,第一设备也可以为具有不同于如图4所示的Android®操作系统。那么,在对应的操作系统下也可以设置有如图4所示的各个模块,以便实现第一设备(即server端设备)的各项功能。
以下以第一设备具有如图4所示组成,第二设备具有如图5所示组成为例,对本申请实施例提供的同振方案进行说明。基于本申请实施例提供的方案,能够通过心跳通信,使得client端设备能够便捷准确地执行同振或停止同振,从而提升协同语音通话场景下的多设备实现的合理性,提升用户体验。
请参考图7,为本申请实施例提供的一种来电提醒方法的模块交互示意图。该流程可以应用于第一设备(即client端设备)中。如前述说明,该第一设备可以与其他一个或多个第二设备具有协同关系。也即,第一设备与其他一个或多个第二设备可以共同提供协同功能,如协同语音通话功能。
如图7所示,第一设备可以通过其通信模块(modem)接收第一来电信息。
示例性的,第一设备可以通过设置在HAL层的modem接收第一来电信息。对应的,通信模块可以将该第一来电信息传输给框架层中的通话模块。例如,通信模块可以将第一来电信息传输给通话模块的TeleService,通话模块中的TeleService可以将该第一来电信息传输给通话模块中的TeleComm,TeleComm可以将该第一来电信息传输给第一通话应用。这样,第一通话应用就可以向第一显示屏发送来电界面指示,用于指示第一设备的第一显示屏进行来电显示。例如,第一通话应用可以下发来电显示界面的渲染指令流,该渲染指令流可以通过第一设备中的GPU执行渲染获取来电显示界面。接着第一显示屏可以根据该来电显示界面,显示对应的来电界面。由此提醒用户当前来电。在本申请中,第一设备为了提醒用户来电,可以在接收到第一来电信息后,直到接听或挂断来电之前,一直显示该来电显示界面。该过程可以对应到第一设备的来电响铃状态,或者第一设备的来电未接听状态。此外,第一通话应用还可以控制第一设备的第一马达开始工作(如向第一马达发送来电振动指示),以便使得第一设备提供振动效果,提醒用户当前来电。当然,在一些实施例中,第一通话应用也可以控制第一设备的音频模块(如音频模块中的扬声器)进行响铃,提醒用户当前来电。
在本示例中,第一设备中的通话管理模块可以从通话模块获取第一通话信息(如执行S701)。该第一通话信息可以用于指示当前来电的相关信息。例如,该第一通话信息可以包括当前来电的来电号码、来电联系人等信息。在一些实施例中,该第一通话信息还可以包括当前通话状态。例如,当前通话的不同状态可以通过一个或多个通话标识区分。该通话标识可以为第一标识,或者第二标识,或者第三标识。该第一标识可以用于指示当前通话状态为来电响铃。第二标识可以用于指示当前通话状态为通话中。第三标识可以用于指示当前通话状态为挂断。在本示例中,第一设备刚刚接收到来电,那么,第一通话信息中就可以携带有第一标识,用于指示当前通话状态为来电响铃。
作为一种示例,以通话管理模块包括InCallSevice为例。该InCallSevice可以在运行后,自动注册来电等相关通话状态变更的回调。那么,来电信息经Modem到TeleService再到TeleComm,通知第一通话应用当前来电的同时,TeleComm可以基于上述注册的回调机制,使用回调函数向InCallSevice发送该第一通话信息。
通话管理模块可以在接收到第一通话信息之后,与第一同振管理模块进行通信,确定当前的同振机制。
在一些实施例中,在存在至少一个第二设备的情况下,则第一设备可以确定需要控制第二设备执行同振。在本示例中,第一设备的第一存储器中可以存储有与第一设备为协同关系的至少一个第二设备的设备ID以及通信地址等信息。那么,通话管理模块可以据此确定在第一设备接收到来电时,提供同振功能。
示例性的,如图7所示,通话管理模块可以向第一同振管理模块发送同振决策请求(如执行S702)。响应于该同振决策请求,第一同振管理模块可以从第一存储器中获取同振设备列表(如执行S703)。该同振设备列表中可以包括至少一个第二设备的设备ID以及通信地址等信息。第一同振管理模块可以将该同振设备列表发送给通话管理模块(如执行S704)。那么,通话管理模块可以在确定同振设备列表不为空时,确定可以发起同振。
在另一些实施例中,第一设备还可以结合同振设备列表,以及其中包括的第二设备的在线情况,确定是否执行对应第二设备的同振。其中,第二设备的在线情况可以包括在线以及离线。在第二设备在线时,则第一设备可以与第二设备进行协同通信。那么,第一设备接收到来电时,第二设备就可以执行该来电的同振。对应的,第二设备离线时,则第一设备无法与第二设备进行协同通信。那么,第一设备接收到来电时,第二设备就可以不需执行该来电的同振。
示例性的,在执行上述S702-S704之后,本示例中,通话管理模块还可以通过第一数据传输模块,向同振设备列表中的各个第二设备发送通信确认消息。以同振设备列表中包括第二设备A以及第二设备B为例。通话管理模块可以通过第一数据传输模块,向第二设备A发送通信确认消息。第二设备A在线时,则第一设备的通话管理模块可以通过第一数据传输模块接收到来自该第二设备A的通信响应消息。那么,第一设备就可以确定需要与第二设备A执行同振。类似的,通话管理模块可以通过第一数据传输模块,向第二设备B发送通信确认消息。第二设备B离线时,则第一设备的通话管理模块不会接收到来自该第二设备B的通信响应消息。那么,第一设备就可以确定不需与第二设备B执行同振。
由此,通过确定第二设备是否在线,并对在线的第二设备发起同振,使得第一设备能够节省对于离线的第二设备发起同振的开销。
以下示例中,以通话管理模块确定需要向至少一个第二设备发起同振为例。
如图7所示,通话管理模块可以通过第一数据传输模块向需要发起同振的至少一个第二设备发送同振信息(如执行S705)。其中,同振信息用于指示第二设备发起同振。在一些实施例中,以第一设备处于来电响铃为例。该同振信息可以包括当前来电的来电号码、来电联系人等信息。
可以理解的是,在通话管理模块确定需要同时向多个第二设备发送同振信息时,则可以通过第一数据传输模块,分别向该多个第二设备发送同振信息。
由此,通过如图7所示的方案,第一设备就可以在来电响铃时,向第二设备发送同振信息,以便于指示第二设备执行同振。
为了使得各个协同设备执行同振/停止同振的时机保持一致,本申请实施例中,在第一设备中可以设置心跳机制。示例性的,通话管理模块可以在执行S704之后,根据设备列表信息确定存在至少一个第二设备需要进行同振后,执行S706。例如,通话管理模块可以向第一心跳管理模块发送第一启动指示。由此启动第一心跳管理模块开始工作。那么,第一心跳管理模块就可以提供第一设备的心跳管理功能。例如,第一心跳管理模块可以接收来自第二设备的心跳包,并在第一设备处于来电响铃的过程中,对该心跳包进行响应等。
基于如图7所示方案中发出的同振信息,第二设备可以进行相应的响应。
请参考图8,为本申请实施例提供的又一种同振方案的模块交互示意图。该方案可以应用于第二设备。通过该方案,能够使得第二设备可以在第一设备的指示下,执行同振,提醒用户当前来电。
如图8所示,第二设备的第二数据传输模块可以接收来自第一设备的同振信息(如执行S801)。在一些实施例中,该同振信息可以是如图7所示的S705中发出的同振信息。
第二数据传输模块可以将该同振信息发送给第二同振管理模块(如执行S802)。这样,第二同振管理模块就能够知晓当前第一设备接收到来电。那么第二同振管理模块就可以执行相应的同振。
在本申请实施例中,第二设备在执行同振之前,可以判断是否可以提供同振。
应当理解的是,第二设备作为一个独立的电子设备,可以独立地向用户提供各项功能。如第二设备可以独立地向用户提供会议、多屏协同、视频等功能。在一些场景下,第二设备也可以被设置为免打扰,屏蔽各项通知,以免打扰用户进行其他工作。那么,在第一设备接到来电时,第二设备就可能无法提供同振,否则会造成对当前功能的影响。在本示例中,第二设备无法提供同振的状态可以称为冲突状态。该冲突状态可以包括第二设备处于会议中、多屏协同中、视频中、免打扰等状态。
那么,第二设备可以根据当前是否处于冲突状态,确定提供同振。
示例性的,第二同振管理模块在接收到同振信息之后,可以向第一冲突决策模块发送决策请求(如执行S803)。该决策请求可以用于请求决策当前是否可以提供同振。本示例中,冲突决策模块也可以对应到如图5所示的第一冲突决策模块。
响应于决策请求,第一冲突决策模块可以根据当前第二设备所处状态确定是否提供同振。
示例性的,在第一冲突决策模块中可以存储有冲突状态列表。该冲突状态列表中可以包括会议状态、多屏协同状态、视频状态、免打扰状态等预先存储的无法提供同振的状态。
第一冲突决策模块可以获取当前第二设备所处状态。作为一种实现,第一冲突决策模块可以从第二设备的活动管理器,获取当前运行中的各个进程所指示的设备状态,从而获取第二设备所处状态。第一冲突决策模块可以根据该第二设备所处状态是否包括在冲突状态列表中,确定当前是否处于冲突状态。
例如,在第二设备所处状态包括在冲突状态列表中时,则第一冲突决策模块确定当前第二设备不提供同振。
又如,在第二设备所处状态不包括在冲突状态列表中时,则第一冲突决策模块确定当前第二设备可以提供同振。
以第二设备可以提供同振为例。
第一冲突决策模块可以向第二同振管理模块发送请求确认信息(如执行S804)。该请求确认信息可以用于指示第二设备不处于冲突状态,可以进行同振。
相应的,第二同振管理模块可以向第二通话应用发送第二来电信息(如执行S805)。由此,第二通话应用就可以知晓第一设备正在来电响铃。在一些实施例中,该第二来电信息可以包括如图7所示的第一来电信息的相关内容。例如,第二来电信息可以包括有来电号码、来电联系人等信息。其中,该第二来电信息中携带的来电内容,可以是第一设备通过同振信息发送给第二设备的。
在一些实施例中,第二通话应用在接收到第二来电信息之后,就可以通过来电界面指示,指示第二设备的第二显示屏显示来电界面。在另一些实施例中,第二通话应用在接收到第二来电信息之后,可以通过来电振动指示,指示第二设备的第二马达开始工作,通过振动提醒用户当前来电。
对应到前述示例中的说明,第二设备可以为如图1所示的平板电脑120、笔记本电脑130、智能手表140中的任一个。对应的,该第二通话应用可以控制第二设备执行如图1所示的平板电脑120、笔记本电脑130、和/或智能手表140执行对应的来电提醒。
在本申请实施例中,第二设备可以通过心跳机制,与第一设备进行交互,更新当前的同振策略。例如,继续进行同振,或者停止同振。
示例性的,继续结合图8。在第二同振模块根据请求确认信息确定可以进行同振后,第二同振模块可以向第二设备的第二心跳管理模块发送第二启动指示(如执行S806)。由此,第二设备中的第二心跳管理模可以进入激活状态开始工作。在一些实施例中,第二心跳管理模块的功能可以通过对应的线程实现。那么,在接收到第二启动指示时,第二设备可以发起该第二心跳管理模块对应的线程开始运行。
作为一种示例,第二心跳管理模块可以向第二数据传输模块发送心跳包。该心跳包可以用于向第一设备查询当前的通话状态。结合前述示例,该当前通话状态可以包括来电响铃、通话中以及挂断等。
那么,根据第一设备对该心跳包的反馈,第二设备就可以确定当前最新的通话状态,从而确定是否继续提供同振。
例如,第二心跳管理模块可以向第二数据传输模块发送第一心跳包(即执行S807)。该第一心跳包可以用于向第一设备查询当前通话状态。接着,第二数据传输模块可以将该第一心跳包发出(即执行S808),比如,发送给第一设备的第一数据传输模块。由此实现对当前最新的通话状态的查询。
需要说明的是,对于第二设备而言,在确定当前第一设备开始来电响铃,那么在第二设备具有语音拾取能力时,第二设备也可以作为该来电的语音输入端。例如,在用户接听来电之后,可以通过第二设备输入语音,对应的,第二设备可以将拾取的用户的语音信号发送给第一设备,第一设备就可以将该语音信号发送给来电设备实现语音通话。
这样,通过上述S801-S808,第二设备就可以开始与第一设备同步提供同振,提醒用户当前来电。此外,第二设备还可以向第一设备发送心跳包(如第一心跳包),用于查询更新的当前的通话状态。
结合图7中的说明,第一设备中的第一心跳管理模块可以对第二设备发送的心跳包(如第一心跳包)进行管理。示例性的,参考图9,第一设备的第一数据传输模块可以接收到来自第二设备的第一心跳包(如S901)。第一数据传输模块可以将第一心跳包传输给第一心跳管理模块(如S902),以便于第一心跳管理模块对该第一心跳包进行合理响应。
示例性的,第一心跳管理模块可以向通话管理模查询当前的通话状态。
结合图7中S701的示例,通话管理模块可以通过向通话模块注册通话状态回调,在通话状态发生变更时,根据来自通话模块发送的通话信息确定当前的通话状态。例如,在接收到第一来电信息时,通话管理模块可以根据来自通话模块的第一通话信息中携带的第一标识,确定当前通话状态为来电响铃。
继续结合图9,在本示例中,第一心跳管理模块可以在接收到第一心跳包后,向通话管理模块查询确定通话状态为来电响铃(如S903)。那么,第一心跳管理模块就可以对第一心跳包进行响应,由此使得第二设备能够知晓当前的来电状态依然为来电响铃,继续提供同振。需要说明的是,本示例中,第一心跳管理模块可以直接从通话管理模块获取当前的通话状态。在本申请的另一些实施例中,第一心跳管理模块还可以在需要查询确定当前的通话状态时,通过第一同振管理模块,向通话管理模块发起查询。这样,第一心跳管理模块就可以通过第一同振管理模块,获取当前的通话状态。
示例性的,如图9所示,第一心跳管理模块可以向第一数据传输模块发送第一心跳响应(如S904)。第一数据传输模块可以将该第一心跳响应发送给第二设备(如S905),以完成对第一心跳包的响应流程。
需要说明的是,在本示例中,第一心跳响应可以作为第一心跳包的响应信息,用于指示当前通话状态未变更(如继续保持来电响铃)。该第一心跳响应可以是在第一设备接收到第一心跳包之后立即发出的。那么,第二设备就可以在发出第一心跳包之后的短时间内接收到该第一心跳响应。在一些实施例中,第一心跳响应可以携带有第一心跳包对应的响应标识,以便于第二设备能够知晓该第一心跳响应时对第一心跳包的响应。
第二设备可以接收该第一心跳响应,由此确定继续提供同振。
示例性的,参考图10,第二设备的第二数据传输模块可以接收来自第一设备的第一心跳响应(如S1001)。该第一心跳响应可以携带有第一心跳包的响应标识,用于指示该第一心跳响应是第一心跳包的响应。第二数据传输模块可以将该第一心跳响应传输给第二设备中,用于管理心跳机制的第二心跳管理模块(如S1002)。第二心跳管理模块可以在接收到该第一心跳响应后,确定当前的通话状态依然为来电响铃。可以理解的是,在接收到该第一心跳响应之前,第二设备已经开始提供同振。例如,第二设备的第二通话应用可以通过来电界面指示控制第二显示屏显示来电界面,又如第二设备的第二通话应用可以通过来电振动指示控制第二马达工作,提供振动,以便提供用户当前来电。因此,在第二心跳管理模块确定当前通话状态为来电响铃时,则可以不做任何变动,以便第二设备继续提供同振。
应当理解的是,为了能够尽快更新当前最新的通话状态,在一些实施例中,第二心跳管理模块可以在启动后,连续向第一设备发送心跳包。由此使得第二设备能够持续根据第一设备的反馈,确定并更新当前的通话状态。在另一些实施例中,第二心跳管理模块还可以根据预设的周期发送心跳包,从而在合理的范围内降低连续心跳包发送引入的开销。
示例性的,在本申请实施例中,第二设备可以在接收到第一心跳响应之后,继续向第一设备发送心跳包,以便确定最新的通话状态。如图10所示,第二心跳管理模块可以向第二数据传输模块发送第二心跳包(如S1003)。相应的,第二数据传输模块可以向第一设备发送该第二心跳包(如S1004)。
如图11所示,第一设备的第一数据传输模块可以接收来自第二设备的第二心跳包(如S1101)。第一数据传输模块可以将该第二心跳包传输给第一心跳管理模块(如S1102)。类似与如图9的示例,第一心跳管理模块可以在接收到第二心跳包后,确定当前的通话状态。
如前述示例,第一设备的通话状态可以包括来电响铃、通话中、以及挂断等状态。通话中、挂断等状态也可以统称为非来电响铃状态。可以理解的是,在非来电响铃状态下,第一设备和第二设备就不需要提醒用户当前来电。也就是说,在非来电响铃状态下,第二设备不需要再继续提供同振。
如图11所示,以用户通过第一设备接听了当前来电(如用户可以通过如图2所示的示例接听来电)为例。第一设备的通信模块可以接收来自来电设备的第三来电信息,该第三来电信息可以包括当前通话中,来自来电设备的语音信息等。通信模块可以将第三来电信息传输给通话模块,通话模块可以将该第三来电信息传输给第一通话应用。由此,第一通话应用就可以根据第三来电信息,控制第一设备向用户播放来电设备的语音,从而实现语音通话。
在该通话过程中,第一通话应用还可以通过通话显示指示控制第一显示屏显示通话界面。例如,该通话界面可以对应到如图3所示的手机110的界面。
通话模块可以在通话状态发生变化时,向通话管理模块回调当前的通话状态。例如,如图11所示,通话模块可以向通话管理模块发送第二通话信息,该第二通话信息可以携带有第二标识,该第二标识可以用于指示当前通话状态为通话中。
第一心跳管理模块在接收到第二心跳包后,向通话管理模块查询当前的通话状态。那么,如S1103,该查询的通话状态可以为通话中。这样,第一心跳管理模块就可以确定第二设备不需要再继续执行同振。
在一些实施例中,第一心跳管理模块可以通过第一数据模块向第二设备发送停止同振指示,以便于指示第二设备不需要在进行同振。
在另一些实施例中,第一心跳管理模块可以不对第二心跳包进行任何响应。如第一心跳管理模块可以在执行S1103之后,丢弃S1102中获取的第二心跳包。那么,第二设备就不会接收到第一设备对第二心跳包的响应,从而知晓不需要再继续提供同振。
示例性的,如图12所示,第二设备的第二心跳管理模块可以在发出第二心跳包之后,监控预设时长内没有接收到第二心跳响应。由此,第二心跳管理模块可以确定当前通话状态已经变更,如处于非来电响铃状态。例如,第二心跳管理模块中可以设置有预设时长的定时器。在每发出一个心跳包后,第二心跳管理模块可以控制定时器开始计时。在定时器停止计时时,即发出心跳包预设时长后,如果接收到相应的心跳包响应,则该心跳包响应为有效响应,第二设备可以确定继续同振。对应的,在定时器停止计时时,即发出心跳包预设时长后,如果没有接收到相应的心跳包响应,则第二设备可以确定停止同振。
那么,第二心跳管理模块可以向第二同振管理模块发送心跳响应失败信息(如S1201)。该心跳响应失败信息可以用于指示心跳包没有收到响应。对应的,第二同振管理模块可以在接收到该心跳响应失败信息后,确定不需要在继续提供同振。
作为一种示例,第二同振管理模块可以向第二通话应用发送停止同振指示(如S1202)。对应的,第二通话应用可以向第二显示屏发送销毁来电界面指示。由此指示第二显示屏销毁来电界面。此外,第二通话应用还可以向第二马达发送停止振动指示。由此指示第二马达停止振动。这样,就使得第一设备上的通话状态不再处于来电响铃时,第二设备可以及时停止同振。
需要说明的是,在本申请的另一些实施例中,第二设备可以在预设时长内没有接收到心跳响应的情况下,再次向第一设备发送心跳包。例如,在发出第二心跳包之后的预设时长内没有接收到心跳响应,第二心跳管理模块可以通过第二数据传输模块向第一设备方第三心跳包。如果在发出第三心跳包后预设时长内依然没有接收到响应,那么第二设备就可以确定当前通话状态已经变更为非来电响铃,进而执行S1201,停止同振。由此通过多个心跳包的发送,确定连续多个心跳包都没有相应的响应的情况下停止同振,提升第二设备确定是否停止同振的决策准确性。
上述示例中,从第一设备和第二设备内部的模块交互的角度,对本申请实施例提供的同振方案进行了说明。以下将结合第一设备和第二设备之间的模块交互,对本身亲实施例提供的方案进行举例说明。
示例性的,以server端设备为第一设备,client端设备包括第二设备为例。在client端设备包括更多第二设备时,响应过程的实现可以互相参考。
请参考图13,为本申请实施例提供的一种来电提醒方法的交互示意图。
如图13所示,该方案可以包括:
S1301、第一设备的通信模块接收第一来电信息。
示例性的,第一设备的通信模块可以包括第一设备的modem等部件。第一来电信息可以是来自第一设备接入的运营商基站发出的来电信息。在一些实施例中,第一来电信息可以包括来电设备的号码(即来电号码)等。
S1302、第一设备的通信模块将第一来电信息传输给第一设备的通话模块。
示例性的,通话模块可以包括第一设备中运行的TeleService以及TeleComm。
S1303、第一设备的通话模块将第一来电信息传输给第一通话应用。
由此,第一通话应用(如第一设备的系统中设置的通话应用),就可以获知当前来电。在一些实施例中,第一通话应用可以控制第一设备进行响铃、振动、和/或显示来电界面等方式,提醒用户当前来电。
S1304、通话模块向通话管理模块传输第一通话信息。
其中,第一通话信息可以用于指示当前来电的相关信息。例如,该第一通话信息可以包括当前来电的来电号码、来电联系人等信息。该第一通话信息中还可以包括当前通话状态,如来电响铃、通话中、挂断等。
在一些实施例中,通话管理模块可以包括运行在超级通话模组中的InCallSevice。那么,通话模块对应的TeleComm可以在接收到来电信息(如第一来电信息)时,向InCallSevice发送该第一通话信息。
S1305、第一设备的通话管理模块向第一同振管理模块发起同振决策请求。
其中,同振决策请求可以用于获取同振设备列表。
S1306、第一同振管理模块获取同振设备列表。
示例性的,在一些实施例中,第一设备中可以存储有与第一设备对应有协同关系的第二设备的信任列表。那么,第一同振管理模块可以从第一设备的第一存储器中获取该信任列表作为同振设备列表。
在另一些实施例中,第一同振管理模块可以从第一设备的第一存储器中获取该信任列表后,可以与该信任列表中的各个第二设备进行协同通信测试,将测试通过的第二设备(即在线的第二设备)放入同振设备列表中。
S1307、第一同振管理模块向通话管理模块发送同振设备列表。
示例性的,在该同振设备列表中可以包括至少一个可以进行同振的第二设备的信息。该第二设备的信息可以包括第二设备的设备ID,和/或通信地址等。
S1308、通话管理模块确定同振设备大于1,生成同振信息。
其中,同振设备可以是包括第一设备在内的,所有协同设备的统称。那么,通话管理模块可以根据同振设备列表,确定其中包括至少一个不同于第一设备的第二设备可以进行同振。由此确定同振设备大于1。对应的,通话管理模块就可以生成同振信息,用于指示第二设备进行同振。
S1309、通话管理模块通过第一数据传输模块向第二设备发送同振信息。
在本示例中,第一设备在向第二设备发送同振信息以指示第二设备进行同振之外,还可以进行其他操作,以便为后续的同振状态更新、可能发生的通话等情况做准备。
S1310、通话管理模块向第一心跳管理模块发送第一启动指示。
示例性的,通话管理模块可以启动第一心跳管理模块,以便于第一心跳管理模块进入激活态,对后续心跳机制进行管理控制。
S1311、响应于第一启动指示,第一心跳管理模块开始运行。
通过上述S1301-S1311,第一设备就可以在进入来电响铃状态的同时,指示第二设备进行同振。
S1312、第二数据传输模块接收来自第一设备的同振信息。
S1313、第二数据传输模块向第二同振管理模块传输同振信息。
S1314、第二同振管理模块向第一冲突决策模块发起决策请求。该决策请求用于确定是否进行同振。
S1315、第一冲突决策模块确定第二设备处于非冲突状态。其中,冲突状态可以包括该冲突状态可以包括第二设备处于会议中、多屏协同中、视频中、免打扰等状态。对应的,非冲突状态即表明第二设备未处于上述冲突状态中。
S1316、第一冲突决策模块向第二同振管理模块发送请求确认信息。该请求确认信息可以用于指示第二同振管理模块,第二设备当前可以提供同振。
S1317、第二同振管理模块向第二通话应用发送第二来电信息。第二来电信息可以根据同振信息获取。第二来电信息可以包括当前来电的来电号码、来电联系人等信息。
S1318、第二通话应用开始执行同振。示例性的,第二通话应用可以控制第二设备显示来电界面,和/或振动提示,和/或响铃提示。
这样,基于同振信息,就可以使得第二设备提供协同语音通话功能,如与第一设备进行同振,提醒用户当前来电。
本申请实施例中,第二设备中还可以设置有心跳机制,以便通过心跳通信,确定后续停止同振的时机。
S1319、第二同振管理模块向第二心跳管理模块发送第二启动指示。该第二启动指示可以用于运行第二心跳管理模块。响应于该第二启动指示,第二心跳管理模块可以进入激活态,执行第二设备中相应的心跳机制。
S1320、第二心跳管理模块开始运行。
在第二心跳控制模块运行后,就可提供第二设备中的心跳机制。示例性的,第二心跳控制模块可以执行以下S1321。
S1321、第二心跳管理模块生成第一心跳包,开始计时。第一心跳包可以用于发送给第一设备,由此根据第一心跳包的响应确定是否继续进行同振。在本示例中,第二心跳管理模块中还可以设置有计时器,在计时器停止计时前(即预设时长内),如果接收到对应的响应则认为有效。对应的,在计时器停止计时前,如果没有接收到响应,则认为第一设备没有对该心跳包进行响应。
S1322、第二心跳管理模块向第二数据传输模块发送第一心跳包。
S1323、第二数据传输模块向第一设备发送第一心跳包。
S1324、第一数据传输模块接收第一心跳包,并将第一心跳包发送给第一心跳管理模块。
在本示例中,第一心跳管理模块可以根据当前的通话状态,确定对应的心跳响应机制。例如,如果当前通话状态依然为来电响铃,则表明第二设备可以继续同振,那么对该心跳包进行响应。反之,如果当前通话状态为非来电响铃,则表明第二设备不需要继续同振,可以不对心跳包进行响应。
S1325、第一心跳管理模块向通话管理模块查询当前通话状态。
S1326、通话管理模块向第一心跳管理模块反馈当前通话状态为来电响铃。
那么,在该情况下,第二设备可以继续同振。对应的,第一心跳管理模块可以对该第一心跳包进行响应。
S1327、第一心跳管理模块生成第一心跳响应。
S1328、第一心跳管理模块通过第一数据传输模块向第二设备发送第一心跳响应。
这样,第一设备可以通过对第一心跳包进行响应,发送第一心跳响应,指示第二设备继续进行同振。
S1329、第二数据传输模块接收第一心跳响应。
S1330、第二数据传输模块将第一心跳响应传输给第二心跳管理模块。
S1331、第二心跳管理模块确定预设时长内接收到第一心跳响应,重置计时器。
示例性的,第二心跳管理模块可以接收第一心跳响应,并确定该第一心跳响应在预设时长内。那么,第二管理模块可以根据该第一心跳响应,确定第二设备可以继续执行同振。
可以理解的是,基于S1318的执行,第二设备在接收到第一心跳响应时,正在提供同振。那么,在本示例中,第二心跳管理模块可以在接收到第一心跳响应后,不对第二设备的当前同振做干涉,以使得第二设备继续提供同振。
S1332、第二心跳管理模块生成第二心跳包,开始计时。
第二设备还可以通过其他心跳包更新通话状态,确定是否继续提供同振。示例性的,在一些实施例中,第一心跳包和第二心跳包的生成以及发送可以是连续的,由此实现实时更新的效果。在另一些实施例中,第一心跳包和第二心跳包的生成以及发送可以是间隔预设周期的。也就是说,在每个周期内,第二设备可以向第一设备发送一个心跳包,确定是否需要继续提供同振。例如,第二心跳包的发送可以是在第一心跳包发送的预设间隔之后。在一些实现中,该预设间隔可以小于500ms。
S1333、第二心跳管理模块向第二数据传输模块发送第二心跳包。
S1334、第二数据传输模块向第一设备发送第二心跳包。
S1335、第一数据传输模块接收第二心跳包,并将第二心跳包发送给第一心跳管理模块。
类似于对第一心跳包的响应机制,第一设备可以在接收到第二心跳包后,根据当前的通话状态,确定是否对第二心跳包进行响应。
在本示例中,第一设备可以在接收到第二心跳包之前,接收到用户输入的接听电话的操作。对应的,第一设备可以进入通话中的状态。示例性的,
S1336、通信模块接收第三来电信息。该第三来电信息可以为通话中的信息。在一些实现中,第三来电信息可以包括通过过程中的语音信息等。
S1337、通信模块将第三来电信息发送给通话模块。
S1338、通话模块将第三来电信息发送给第一通话应用。
由此使得第一通话应用可以根据第三来电信息,向用户播放来电设备的语音,实现通话。
对应的,在通话状态发生变化时,如S1339所示,通话模块可以向通话管理模块发送第二通话信息。该第二通话信息可以用于指示当前通话状态变更为通话中。或者,第二通话信息可以用户指示当前通话状态变更为非来电响铃。对应的,通话管理模块可以执行S1340、将当前通话状态更新为通话中。
可以理解的是,结合S1335,第一心跳管理模块可以在接收到第二心跳包后,根据当前的通话状态,确定对应的响应机制。
S1341、第一心跳管理模块向通话管理模块查询当前通话状态。
S1342、通话管理模块向第一心跳管理模块反馈当前通话状态为非来电响铃。
也就是说,第二设备可以不再进行同振提醒用户当前来电。
对应的,第一心跳管理模块可以不对第二心跳包进行响应。以便于第二设备可以在预设时长内无法接收到第二心跳包的响应,由此确定不需要再执行同振。
对于第二设备而言,如S1332所示,在发出第二心跳包之后,第二设备可以开始计时。由于第一设备确定不对第二心跳包进行响应,那么第二设备就可以执行以下S1343。
S1343、第二心跳管理模块预设时长内未接收到第二心跳响应。
S1344、第二心跳管理模块生成第三心跳包,重新开始计时。
在本示例中,第二设备可以在第二心跳包没有响应的情况下,再次向第一设备发送第三心跳包,以便再次确认当前状态是否继续提供同振。
S1345、第二心跳管理模块将第三心跳包发送给第二数据传输模块。
S1346、第二数据传输模块向第一设备发送第三心跳包。
可以理解的是,类似于第二心跳包的情况,对于第一设备而言,可以继续不对第三心跳包进行响应。示例性的,如S1347所示。
S1347、第一数据传输模块接收第三心跳包,并将第三心跳包发送给第一同振管理模块。
S1348、第一同振管理模块查询当前通话状态。
S1349、第一同振管理模块反馈当前通话状态为非来电响铃。
那么,对于第二设备而言,在预设时长内,也就不会接收到对第三心跳包的响应。
S1350、第二心跳管理模块预设时长内未接收到第三心跳响应。
这样,第二设备就可以确定不需要再提供同振。比如,执行S1351。
S1351、第二心跳管理模块向第二同振管理模块发送心跳响应失败信息。
S1352、第二同振管理模块向第二通话应用发送停止同振指示。
S1353、第二通话应用停止同振。
示例性的第二通话应用可以指示第二显示屏不再显示来电界面,第二通话应用还可以指示第二马达停止振动提醒。
需要说明的是,上述图13的示例中,是以第一设备在接收到第二心跳包时就已经进入非来电响铃状态为例。在本申请的另一些实施例中,在第一设备进入非来电响铃状态前,可以接收到多个来自第二设备发送的心跳包。那么,由于第一设备依然处于来电响铃状态,因此,第一设备可以参考对第一心跳包的响应机制对该其他心跳包进行响应,以便于第二设备可以根据心跳响应继续同振。另外,在本申请的另一些实施例中,第二设备也可以在连续多个心跳包未接收到心跳响应后,确定第一设备已经进入非来电响应状态,对应的第二设备也可以停止同振。
这样,通过心跳机制,就可以使得第二设备能够快速准确地确定是否继续提供同振,从而提升多设备协同工作过程中,各个设备的工作合理性,提升用户体验。
上述示例中,均是从第一设备和第二设备内部交互的角度,对本申请实施例提供的来电提醒方法进行的说明。以下结合附图,从电子设备交互的角度,对本申请实施例提供的方案进行说明。
示例性的,请参考图14,为本申请实施例提供的又一种来电提醒方法的流程示意图。其中,第一设备可以为server端设备,第二设备可以为client端设备。如图14所示,该方案可以包括:
S1401、第一设备在收到来电时,获取同振设备列表。
S1402、第一设备根据同振设备列表,确定同振设备大于1。
S1403、第一设备生成同振信息。
S1404、第一设备向第二设备发送同振信息。
S1405、第二设备确定第二设备处于非冲突状态。
S1406、第二设备开始执行同振。
S1407、第二设备生成通话状态心跳包,开始计时。本示例中,通话状态心跳包可以对应到前述示例中的第一心跳包、第二心跳包以及第三心跳包。
S1408、第二设备向第一设备发送通话状态心跳包。
S1409、第一设备判断当前通话状态是否为来电响铃。
在确定当前通话状态为来电响铃时,执行S1410a。否则,确定当前通话状态为非来电响铃时,则执行S1410b。
S1410a、第一设备生成通话状态心跳响应。本示例中,通话状态心跳响应可以对应到前述示例中的第一心跳响应、第二心跳响应以及第三心跳响应。接着可以执行S1411。
S1411、第一设备向第二设备发送通话状态心跳响应。
第二设备在接收到通话状态心跳响应时,则返回执行S1407。
这样,在第二设备接收到通话状态心跳响应后,可以继续提供同振,并继续使用心跳包与第一设备通信,确定后续是否继续提供同振。
S1410b、第一设备不做响应。也就是说,在第一设备不处于来电响铃状态时,则不对来自第二设备的通话状态心跳包进行响应。
那么,第二设备可以继续执行S1412。
S1412、第二设备超时未接收到响应,计数器加1。
在本示例中,第二设备中可以设置有计数器,该计数器可以在发出第一个通话状态心跳包时置零。每发生一次超时未收到响应,则计数器加1。
S1413、第二设备判断当前计数器的数值是否大于预设数值。如果是,则执行S1414,如果否,则返回执行S1407。在一些实施例中,预设数值可以设置为2。
S1414、第二设备停止同振。可以理解的是,在本示例中,如果计数器达到预设数值,则表明第二设备已经连续多个心跳包超时未响应。那么第二设备就可以停止同振,以便避免向用户的错误提醒。
由此,基于如图14所示的设备间交互,就能够实现第二设备根据心跳包实现的同振策略控制,如在第一设备处于来电响铃时,提供同振。又如在第一设备处于非来电响铃时,停止同振。
上述示例中,是以对基于运营商的语音通话的场景下,多设备进行同振控制为进行说明的。可以理解的是,在其他涉及同振的场景下,如语音聊天、视频聊天等,也可以使用本申请实施例提供的同振方案,使得多设备同振控制得以更加快速准确,提升用户体验。
通过上述说明,本领域技术人员应当能够对本申请实施例提供的来电提醒方案有了清楚明确的了解。该方案在具体实施过程中,可以应用于前述包括client端设备以及server端设备的系统中。类似于前述说明,server端设备可以为手机。对应的,在不同场景下client可以包括前述说明中的笔记本电脑、智能手表、平板电脑中的至少一个。在另一些场景下,client端设备还可以包括其他设备。例如,参考图15,client端设备还可以包括以下中的任一种或多种:智能耳机、智能眼镜、智能音箱、大屏(或智慧屏),以及车机(即车载终端)等。在具体实现中,client端设备可以与server端设备处于同一个局域网下。此外,client端设备与server端设备也可以登录有同一个账号,如荣耀账号等。这样,基于本申请实施例提供的来电提醒方案,server端设备接收到来电后,直至来电被接听或挂断,就可以通过上述示例中的方案,控制其他client端设备进行同振,以控制client端设备提醒用户当前来电。而在server端设备的来电被接听或挂断后,可以不对client端设备发送的心跳包进行响应,由此使得client端设备可以停止同振。
请参考图16,为本申请实施例提供的又一种电子设备的组成示意图。该电子设备可以为上述实施例中涉及的第一设备,即server端设备。如图16所示,该电子设备1600可以包括:处理器1601和存储器1602。该存储器1602用于存储计算机执行指令。示例性的,在一些实施例中,当该处理器1601执行该存储器1602存储的指令时,可以使得该电子设备1600执行上述实施例中涉及的第一设备的任一种所示的技术方案。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
请参考图17,为本申请实施例提供的又一种电子设备的组成示意图。该电子设备可以为上述实施例中涉及的第二设备,即client端设备。如图17所示,该电子设备1700可以包括:处理器1701和存储器1702。该存储器1702用于存储计算机执行指令。示例性的,在一些实施例中,当该处理器1701执行该存储器1702存储的指令时,可以使得该电子设备1700执行上述实施例中涉及的第二设备的任一种所示的技术方案。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图18示出了的一种芯片系统1800的组成示意图。该芯片系统1800可以包括:处理器1801和通信接口1802,用于支持相关设备(如第一设备或第二设备)实现上述实施例中所涉及的功能。在一种示例中,芯片系统还包括存储器,用于保存终端必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。需要说明的是,在本申请的一些实现方式中,该通信接口1802也可称为接口电路。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在上述实施例中的功能或动作或操作或步骤等,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (24)
1.一种来电提醒方法,其特征在于,应用于第一电子设备,所述第一电子设备和第二电子设备通信连接,所述方法包括:
响应于所述第一电子设备接收到来电,所述第一电子设备进入来电响铃状态,所述来电响铃状态用于向用户提醒所述来电;
在所述第一电子设备处于来电响铃状态的情况下,所述第一电子设备接收到所述第二电子设备发送的第一心跳包;所述第一心跳包用于确定所述来电在所述第一电子设备上的通话状态;
所述第一电子设备向所述第二电子设备发送第一心跳响应,所述第一心跳响应用于在所述第二电子接收到所述第一心跳响应后保持所述来电响铃状态,所述第二电子在发出所述第一心跳包时处于所述来电响铃状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一电子设备处于非来电响铃状态的情况下,所述第一电子设备接收到所述第二电子设备发送的第二心跳包,所述第二电子在发出所述第二心跳包时处于所述来电响铃状态;
响应于接收到所述第二心跳包,所述第一电子设备不向所述第二电子设备发送第二心跳响应,以便于所述第二电子 设备退出所述来电响铃状态。
3.根据权利要求1或2所述的方法,其特征在于,所述第一电子设备进入所述来电响铃状态,包括:
所述第一电子设备通过如下中的任一种方式向用户提醒所述来电:在显示屏上显示与所述来电相对应的来电界面,响铃提示,振动提示。
4.根据权利要求1或2所述的方法,其特征在于,在所述第一电子设备向所述第二电子设备发送第一心跳响应之前,所述方法还包括:
确定当前通话状态处于来电响铃状态。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据所述来电生成同振决策请求,所述同振决策请求用于获取同振设备列表,所述同振设备列表不为空时,所述同振设备列表中包括至少一个所述第二电子设备的设备信息;所述设备信息包括所述第二电子设备的设备ID,和/或通信地址;
获取同振设备列表;
根据所述同振设备列表,在所述同振设备列表不为空时,生成同振信息,所述同振信息用于指示所述同振设备列表中的至少一个第二电子设备进行同振;
向所述同振设备列表中的第二电子设备发送所述同振信息。
6.根据权利要求5所述的方法,其特征在于,所述同振设备列表设置在所述第一电子设备的存储器中,所述方法还包括:
所述第一电子设备登录有第一账号;在所述第一电子设备接入局域网时,所述第一电子设备在所述局域网中查找是否存在登录有所述第一账号的第二电子设备,如果存在,则将所述第二电子设备的设备信息存储在所述同振设备列表中;和/或,
所述第一电子设备已经接入局域网;在所述第一电子设备登录第一账号时,在所述局域网中,查找是否存在登录有所述第一账号的第二电子设备,如果存在,则将所述第二电子设备的设备信息存储在所述同振设备列表中。
7.根据权利要求5所述的方法,其特征在于,在所述生成同振信息之前,所述方法还包括:
所述第一电子设备向所述同振设备列表中的至少一个第二电子设备发送通信确认消息,所述通信确认消息用于确认所述第二电子设备是否在线;
在接收到所述第二电子设备对所述通信确认消息的通信响应消息时,生成所述同振信息。
8.根据权利要求2所述的方法,其特征在于,所述非来电响铃状态包括以下中的任一种:来电接听,挂断。
9.根据权利要求1或2所述的方法,其特征在于,所述发送第一心跳响应,包括:
在接收到所述第一心跳包后的预设时长内,发送所述第一心跳响应。
10.一种来电提醒方法,其特征在于,应用于第二电子设备,所述第二电子设备和第一电子设备通信连接,所述方法包括:
所述第二电子设备进入来电响铃状态,所述来电响铃状态与所述第一电子设备接收到来电相对应,所述来电响铃状态用于向用户提醒所述来电;
所述第二电子设备向所述第一电子设备发送的第一心跳包;所述第一心跳包用于确定所述来电在所述第一电子设备上的通话状态;
所述第二电子设备接收第一心跳响应,所述第一心跳响应为所述第一电子设备在接收到所述第一心跳包后向所述第二电子设备发送,所述第一电子设备在接收到所述第一心跳包时处于所述来电响铃状态;
响应于接收到所述第一心跳响应,所述第二电子设备保持所述来电响铃状态。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述第二电子设备向所述第一电子设备发送的第二心跳包,所述第二电子在发出所述第二心跳包时处于所述来电响铃状态;
响应于预设时长内未接收到第二心跳响应,所述第二电子设备停止来电响铃状态,所述第一电子设备在接收到所述第二心跳包时处于非来电响铃状态,所述第二心跳响应与所述第二心跳包相对应。
12.根据权利要求11所述的方法,其特征在于,所述第二电子设备进入来电响铃状态,包括:
所述第二电子设备通过如下中的任一种方式向用户提醒所述来电:在显示屏上显示与所述来电相对应的来电界面,响铃提示,振动提示。
13.根据权利要求10-12中任一项所述的方法,其特征在于,所述第一电子设备和所述第二电子设备处于相同局域网中,所述第一电子设备和所述第二电子设备登录有同一账号。
14.根据权利要求10-12中任一项所述的方法,其特征在于,在所述第二电子设备进入来电响铃状态之前,所述方法还包括:接收同振信息,所述同振信息用于指示所述第二电子设备进入来电响铃状态。
15.根据权利要求14所述的方法,其特征在于,在接收同振信息之后,所述方法还包括:
所述第二电子设备根据所述同振信息,生成决策请求,所述决策请求用于确定所述第二电子设备是否处于非冲突状态;
在确定所述第二电子设备处于非冲突状态下时,开始同振。
16.根据权利要求15所述的方法,其特征在于,
在所述第二电子设备不处于以下任一种状态时,确定所述第二电子设备处于非冲突状态:
会议中,多屏协同中,视频中,免打扰。
17.根据权利要求10-12中任一项所述的方法,其特征在于,
所述第一心跳响应是在发出所述第一心跳包后的预设时长内收到的。
18.根据权利要求11所述的方法,其特征在于,所述方法还包括:
在发出所述第二心跳包后,所述第二电子设备开始计时,直至预设时长后结束。
19.根据权利要求18所述的方法,其特征在于,所述预设时长内未接收到第二心跳响应,包括:
在所述计时结束前,没有接收到所述第二心跳包对应的第二心跳响应。
20.根据权利要求11所述的方法,其特征在于,在所述预设时长内未接收到第二心跳响应之前,所述方法包括:
向所述第一电子设备发送第三心跳包,所述第二电子在发出所述第三心跳包时处于所述来电响铃状态;
预设时长内未接收到所述第三心跳包对应的第三心跳响应。
21.一种来电提醒方法,其特征在于,应用于包括第一电子设备和第二电子设备的系统,所述方法包括:
响应于所述第一电子设备接收到来电,所述第一电子设备进入来电响铃状态,所述第二电子设备进入与所述来电相对应的来电响铃状态,所述来电响铃状态用于向用户提醒所述来电;
所述第二电子设备向所述第一电子设备发送第一心跳包;所述第一心跳包用于确定所述来电在所述第一电子设备上的通话状态;
在所述第一电子设备处于来电响铃状态的情况下,所述第一电子设备接收到所述第二电子设备发送的第一心跳包;
响应于接收到所述第一心跳包,所述第一电子设备向所述第二电子设备发送第一心跳响应;
响应于接收到所述第一心跳响应,所述第二电子设备保持来电响铃状态。
22.根据权利要求21所述的方法,其特征在于,所述方法还包括:
所述第二电子设备向所述第一电子设备发送第二心跳包;
在所述第一电子设备处于非来电响铃状态的情况下,所述第一电子设备接收到所述第二电子设备发送的第二心跳包;
响应于接收到所述第二心跳包,所述第一电子设备不向所述第二电子设备发送第二心跳响应;
响应于预设时长内未接收到所述第二心跳响应,所述第二电子设备停止来电响铃状态。
23.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器存储有计算机指令;
当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-9中任一项所述的来电提醒方法,或者,执行如权利要求10-20中任一项所述的来电提醒方法。
24.一种通信系统,其特征在于,所述通信系统包括第一电子设备和至少一个第二电子设备;所述第一电子设备用于执行如权利要求1-9中任一项所述的来电提醒方法,所述第二电子设备用于执行如权利要求10-20中任一项所述的来电提醒方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210854424.9A CN115086481B (zh) | 2022-07-20 | 2022-07-20 | 一种来电提醒方法和电子设备 |
EP23789858.0A EP4344180A1 (en) | 2022-07-20 | 2023-04-26 | Incoming-call reminding method and electronic device |
PCT/CN2023/091007 WO2024016772A1 (zh) | 2022-07-20 | 2023-04-26 | 一种来电提醒方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210854424.9A CN115086481B (zh) | 2022-07-20 | 2022-07-20 | 一种来电提醒方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086481A CN115086481A (zh) | 2022-09-20 |
CN115086481B true CN115086481B (zh) | 2022-11-08 |
Family
ID=83259349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210854424.9A Active CN115086481B (zh) | 2022-07-20 | 2022-07-20 | 一种来电提醒方法和电子设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4344180A1 (zh) |
CN (1) | CN115086481B (zh) |
WO (1) | WO2024016772A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086481B (zh) * | 2022-07-20 | 2022-11-08 | 荣耀终端有限公司 | 一种来电提醒方法和电子设备 |
CN116743924B (zh) * | 2022-09-30 | 2024-04-12 | 荣耀终端有限公司 | 彩振铃声处理方法及电子设备 |
CN117119097A (zh) * | 2023-01-30 | 2023-11-24 | 荣耀终端有限公司 | 一种来电共振的方法、设备及存储介质 |
CN116345984B (zh) * | 2023-05-29 | 2023-11-07 | 荣耀终端有限公司 | 一种线性马达的控制方法及电子设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614976A (zh) * | 2003-11-03 | 2005-05-11 | 华为技术有限公司 | 一种实现电话同振的方法 |
CN101742426A (zh) * | 2008-11-05 | 2010-06-16 | 华为技术有限公司 | 一种用户终端振铃业务实现的方法、装置和系统 |
WO2011108377A1 (ja) * | 2010-03-02 | 2011-09-09 | 日本電気株式会社 | 連携動作機器、連携動作方法、連携動作制御プログラム及び機器連携システム |
CN104158961A (zh) * | 2014-07-30 | 2014-11-19 | 陈德展 | 移动电话与固定电话协同工作的控制方法和装置 |
CN104168256A (zh) * | 2013-12-16 | 2014-11-26 | 深圳市赛纳科技有限公司 | 桌面分机与移动智能终端捆绑同振的方法和装置 |
CN105379230A (zh) * | 2013-07-17 | 2016-03-02 | 弗莱普西股份有限公司 | 电话网络系统和方法 |
CN105472153A (zh) * | 2015-12-03 | 2016-04-06 | 广东小天才科技有限公司 | 一种智能终端的来电提醒的方法及系统 |
WO2018113536A1 (zh) * | 2016-12-21 | 2018-06-28 | 惠州Tcl移动通信有限公司 | 一种多设备连通通讯的实现方法及实现系统 |
WO2019061070A1 (zh) * | 2017-09-27 | 2019-04-04 | 华为技术有限公司 | 一种r2设备下的用户设备接入方法和装置 |
CN111464686A (zh) * | 2020-04-07 | 2020-07-28 | 中国联合网络通信集团有限公司 | 一种来电提醒方法及装置 |
CN112788183A (zh) * | 2020-12-24 | 2021-05-11 | 北京小米移动软件有限公司 | 来电提示方法及装置、电子设备、存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102466652B1 (ko) * | 2017-03-30 | 2022-11-15 | 엔에이치엔 주식회사 | 메시지 정보 통합 관리 서비스를 위한 모바일 장치, 메시지 정보 통합 관리 제공 방법 및 컴퓨터로 판독 가능한 저장매체 |
CN114079798A (zh) * | 2020-08-17 | 2022-02-22 | 王江 | 颈部穿戴设备及其系统和颈托设备 |
CN113014703B (zh) * | 2021-02-19 | 2023-07-14 | Oppo广东移动通信有限公司 | 电子设备的交互方法、装置及计算机可读存储介质 |
CN114244960B (zh) * | 2022-02-25 | 2022-07-22 | 荣耀终端有限公司 | 一种来电呼叫的响应方法以及相应的终端、通信系统 |
CN115086481B (zh) * | 2022-07-20 | 2022-11-08 | 荣耀终端有限公司 | 一种来电提醒方法和电子设备 |
-
2022
- 2022-07-20 CN CN202210854424.9A patent/CN115086481B/zh active Active
-
2023
- 2023-04-26 WO PCT/CN2023/091007 patent/WO2024016772A1/zh unknown
- 2023-04-26 EP EP23789858.0A patent/EP4344180A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614976A (zh) * | 2003-11-03 | 2005-05-11 | 华为技术有限公司 | 一种实现电话同振的方法 |
CN101742426A (zh) * | 2008-11-05 | 2010-06-16 | 华为技术有限公司 | 一种用户终端振铃业务实现的方法、装置和系统 |
WO2011108377A1 (ja) * | 2010-03-02 | 2011-09-09 | 日本電気株式会社 | 連携動作機器、連携動作方法、連携動作制御プログラム及び機器連携システム |
CN105379230A (zh) * | 2013-07-17 | 2016-03-02 | 弗莱普西股份有限公司 | 电话网络系统和方法 |
CN104168256A (zh) * | 2013-12-16 | 2014-11-26 | 深圳市赛纳科技有限公司 | 桌面分机与移动智能终端捆绑同振的方法和装置 |
CN104158961A (zh) * | 2014-07-30 | 2014-11-19 | 陈德展 | 移动电话与固定电话协同工作的控制方法和装置 |
CN105472153A (zh) * | 2015-12-03 | 2016-04-06 | 广东小天才科技有限公司 | 一种智能终端的来电提醒的方法及系统 |
WO2018113536A1 (zh) * | 2016-12-21 | 2018-06-28 | 惠州Tcl移动通信有限公司 | 一种多设备连通通讯的实现方法及实现系统 |
WO2019061070A1 (zh) * | 2017-09-27 | 2019-04-04 | 华为技术有限公司 | 一种r2设备下的用户设备接入方法和装置 |
CN111464686A (zh) * | 2020-04-07 | 2020-07-28 | 中国联合网络通信集团有限公司 | 一种来电提醒方法及装置 |
CN112788183A (zh) * | 2020-12-24 | 2021-05-11 | 北京小米移动软件有限公司 | 来电提示方法及装置、电子设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
一种基于手机同震业务技术方案的实现;于永伟等;《信息技术与信息化》;20180125(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP4344180A1 (en) | 2024-03-27 |
WO2024016772A1 (zh) | 2024-01-25 |
CN115086481A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115086481B (zh) | 一种来电提醒方法和电子设备 | |
US20220295590A1 (en) | Inactivity timer control method and device | |
CN111294884A (zh) | 支持双卡双待单通的通信终端及数据服务切换方法 | |
CN113014625B (zh) | 一种任务处理方法、装置和用于任务处理的装置 | |
CN110521230A (zh) | 设备内共存干扰指示方法、接收方法和装置 | |
CN111356159B (zh) | 一种驻网模式调整方法、装置及存储介质 | |
CN114253774A (zh) | 业务管理平台的容灾方法、设备及存储介质 | |
EP2949083B1 (en) | Receiving a communication event | |
EP3879922A1 (en) | Methods and devices for resolving dual subscriber identity module, dual sim (ds), paging conflict, and storage medium | |
US11838771B2 (en) | Troubleshooting method and device, terminal, base station and storage medium | |
WO2023173897A1 (zh) | 跨设备截图方法、装置、设备及存储介质 | |
CN113934331A (zh) | 信息处理方法、装置及存储介质 | |
US11968322B2 (en) | Methods and apparatuses of call implementation | |
CN116709226A (zh) | 通信接力方法、电子设备、通信系统及存储介质 | |
CN115190158A (zh) | 信息交互方法、信息交互装置、系统及存储介质 | |
EP3806544B1 (en) | Ac restriction method and device | |
CN110662280B (zh) | 运行模式的切换方法及装置、可读存储介质、电子设备 | |
WO2024026637A1 (zh) | 指示信息发送、接收方法和装置、通信装置及存储介质 | |
CN116033592B (zh) | 蜂窝通信功能的使用方法和装置 | |
CN111274590B (zh) | 请求处理方法、装置、电子设备及存储介质 | |
US20240106869A1 (en) | Call processing method and apparatus, storage medium, and electronic device | |
CN117714585A (zh) | 跨设备协同拍摄方法及装置 | |
CN109413357B (zh) | 音视频通话方法及其装置、设备、存储介质 | |
CN116346975A (zh) | 同步通话记录的方法、电子设备及可读存储介质 | |
CN115150265A (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 |