CN116055505A - 一种消息同步方法及终端设备 - Google Patents

一种消息同步方法及终端设备 Download PDF

Info

Publication number
CN116055505A
CN116055505A CN202211055088.8A CN202211055088A CN116055505A CN 116055505 A CN116055505 A CN 116055505A CN 202211055088 A CN202211055088 A CN 202211055088A CN 116055505 A CN116055505 A CN 116055505A
Authority
CN
China
Prior art keywords
message
terminal device
reply
terminal equipment
instruction
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.)
Granted
Application number
CN202211055088.8A
Other languages
English (en)
Other versions
CN116055505B (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 CN202211055088.8A priority Critical patent/CN116055505B/zh
Publication of CN116055505A publication Critical patent/CN116055505A/zh
Application granted granted Critical
Publication of CN116055505B publication Critical patent/CN116055505B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供一种消息同步方法及终端设备。该方法包括:第一终端设备接收第一通知消息,显示第一通知消息;第一终端设备将第一通知消息发送给第二终端设备;用户在第二终端设备执行回复第一通知消息的操作时,第一终端设备接收第二终端设备发送的第一指令;第一终端设备在接收第一指令后,生成第一通知消息的备份消息并缓存;第一终端设备响应于删除第一通知消息的操作,删除第一通知消息,向第二终端设备发送第一删除指令;第一终端设备接收到第二终端设备发送的第一回复消息时,根据第一回复消息对备份消息进行回复。本申请实施例能解决在第一终端设备删除了正在被第二终端设备回复的通知消息时,第二终端设备呈现出的消息回复异常问题。

Description

一种消息同步方法及终端设备
技术领域
本申请涉及终端技术领域,尤其涉及一种消息同步方法及终端设备。
背景技术
终端设备可通过不同应用进行信息交互,例如接收和回复短信,接收和回复社交类应用中对象发送的消息,接收及回复邮件,接收应用推送的服务信息等。
在一些应用场景中,用户拥有至少两个终端设备,例如第一终端设备和第二终端设备。用户在第二终端设备上打游戏,第一终端设备未放置在身边,如果第二终端设备不支持短信功能,并且未安装第一终端设备里的某些应用,导致用户在第二终端设备侧无法感知第一终端设备中某些新通知消息的到达,对此,第一终端设备可启动消息同步功能,将接收到的通知消息同步给第二终端设备,由第二终端设备进行通知消息的提示。用户在第二终端设备上查看到第一终端设备发送的通知消息后,可通过第二终端设备输入针对该通知消息的回复消息,若此时第一终端设备删除该通知消息,则第二终端设备在发送回复消息后会呈现出消息回复异常的状态,例如较长时间地呈现“正在回复”状态,或者提示回复失败。
发明内容
本申请实施例提供一种消息同步方法及终端设备,在第一终端设备删除了正在被第二终端设备回复的通知消息时,能够消除第二终端设备呈现的消息回复异常状态,提高用户使用体验。
第一方面,本申请实施例提供一种消息同步方法,包括:第一终端设备接收第一通知消息;第一终端设备所显示第一通知消息;第一终端设备将第一通知消息发送给第二终端设备,第一终端设备和第二终端设备登录同一个账号;用户在第二终端设备执行回复第一通知消息的操作时,第一终端设备接收第二终端设备发送的第一指令;第一终端设备在接收第一指令后,生成第一通知消息对应的备份消息,并缓存备份消息;第一终端设备响应于删除第一通知消息的操作,删除第一通知消息,向第二终端设备发送第一删除指令;第一终端设备接收到第二终端设备发送的第一回复消息时,根据第一回复消息对备份消息进行回复。这样,第二终端设备在接收到回复第一通知消息的操作时,即监控到第一通知消息进入活跃状态,向第一终端设备发送第一指令,以使第一终端设备对第一通知消息进行备份缓存,得到备份消息,这样即便第一终端设备删除了第一通知消息,仍然可利用备份消息与第一回复消息执行一次有效的回复处理,从而解决在第一终端设备删除了正在被第二终端设备回复的通知消息时,第二终端设备呈现出的消息回复异常问题,提升用户对消息同步功能的使用体验。此外,第一终端设备通过发送第一删除指令,指示第二终端设备也删除第一通知消息,实现第一终端设备和第二终端设备之间的消息同步。
在一些实现方式中,该方法还包括:第一终端设备根据第一回复消息对备份消息进行回复之后,向第二终端设备发送回复成功信息;第一终端设备接收第二终端设备发送的第二指令;第一终端设备在接收第二指令后,删除备份消息。该实现方式中第一终端设备在完成回复处理后,可向第二终端设备发送回复成功信息,这样,第二终端设备接收到回复成功信息,不会呈现出消息回复异常状态,还可在第二终端设备向用户提示消息回复成功。此外,第二终端设备在接收回复成功信息之后,再向第一终端设备发送第二指令,能够避免因备份消息被提前删除导致消息回复失败的问题,并且使第一终端设及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,第一终端设备在缓存所述备份消息之后,该方法还包括:在第二终端设备的第一输入框中的光标被取消激活时,第一终端设备接收第二终端设备发送的第二指令,第一输入框是第二终端设备中第一回复消息的输入框;第一终端设备在接收第二指令后,删除备份消息。该实现方式中,如果第二终端设备存在回复超时或清空回复信息等情况,可能导致第二终端设备未向第一终端设备发送第一回复消息,而是在第一输入框的光标被取消激活时直接发送第二指令。这样,第一终端设备接收到第二指令,及时删除备份信息,释放被占用的缓存,并且不执行回复处理。
在一些实现方式中,第一终端设备在缓存备份消息之后,该方法还包括:在第一输入框中的光标被取消激活时,第一终端设备接收第二终端设备发送的第一回复消息和第三指令;第一终端设备在接收第三指令后,如果已根据第一回复消息完成对备份消息的回复,删除备份消息;如果未根据第一回复消息完成对备份消息的回复,则在根据第一回复消息完成对备份消息的回复时,删除备份消息。该实现方式中第一终端设备同时接收到第一回复消息和第三指令,需要先利用第一回复消息完成对备份消息的回复,之后再删除备份消息。这样,避免了第一终端设备未完成回复处理时,由于提前删除了备份消息而导致的消息回复失败问题,并且使第一终端设备及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,第一指令携带第一消息标识,第一消息标识为第一通知消息对应的消息标识;第一终端设备生成第一通知消息对应的备份消息,并缓存备份消息的步骤,包括:第一终端设备根据第一消息标识,查找第一通知消息的消息内容;第一终端设备对第一通知消息的消息内容进行备份,得到备份消息;第一终端设备缓存备份消息以及备份消息与第一消息标识的对应关系。这样,备份消息与第一通知消息具有相同的消息内容,第一终端设备可以通过第一消息标识快速且精准地查找到对应的备份消息,从而根据第一回复消息和备份消息完成回复处理,解决了因第一通知消息被第一终端设备删除时导致的第二终端设备出现消息回复异常的问题。
在一些实现方式中,第一终端设备删除第一通知消息的步骤,包括:第一终端设备根据第一消息标识,查找第一通知消息的消息内容;第一终端设备删除第一通知消息的消息内容。这样,如果用户在第一终端设备侧删除第一通知消息,第一终端设备可以删除第一通知消息的消息内容,不删除备份消息,以保证在接收到第一回复消息时,能够根据第一回复消息和备份消息完成回复处理,从而解决第二终端设备的消息回复异常问题。
在一些实现方式中,第二指令携带第一消息标识。第一终端设备在接收第二指令后,删除备份消息的步骤,包括:第一终端设备所述第二指令中的第一消息标识,查找第一消息标识对应的备份消息;第一终端设备删除备份消息。这样,第一终端设备在接收到第二指令后,通过第一消息标识可以快速且精确地查找到对应的备份消息,实现在结束对第一通知消息的回复后,第一终端设备及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,第一终端设备接收所述第一通知消息之后,该方法还包括:第一终端设备存储第一通知消息的消息内容,并获取第一通知消息的消息内容在第一终端设备中的第一存储地址;第一终端设备建立第一消息标识与第一存储地址之间的第一映射关系,第一消息标识为第一通知消息对应的消息标识;第一终端设备存储第一映射关系。这样,第一终端设备可以通过第一消息标识和第一映射关系,快速且精准地获取第一通知消息的消息内容。
在一些实现方式中,第一指令携带第一消息标识,第一终端设备在接收第一指令后,生成第一通知消息对应的备份消息,并缓存备份消息的步骤,包括:第一终端设备根据第一映射关系查询第一消息标识对应的第一存储地址;第一终端设备建立第一消息标识与第一存储地址之间的第二映射关系;第一终端设备缓存第二映射关系。这样,第一终端设备可以通过第一消息标识和第二映射关系快速且精准地获取对应的备份消息,从而根据第一回复消息和备份消息完成回复处理,解决了因第一通知消息被第一终端设备删除时导致的第二终端设备出现消息回复异常的问题。此外,相较于对第一通知消息的消息内容进行备份得到的备份消息,以第二映射关系来映射获取备份消息的方式可以降低缓存消耗。
在一些实现方式中,第一终端设备响应于删除第一通知消息的操作,删除第一通知消息的步骤,包括:第一终端设备根据第一消息标识,查找第一映射关系;第一终端设备删除第一映射关系,不删除第二映射关系和第一通知消息的消息内容。这样,如果用户在第一终端设备侧删除第一通知消息,第一终端设备仅删除第一映射关系,第二映射关系和第一通知消息的内容保留,使得第一终端设备能够通过第二映射关系获取到备份消息,从而根据第一回复消息和备份消息完成回复处理,解决了因第一通知消息被第一终端设备删除时导致的第二终端设备出现消息回复异常的问题。
在一些实现方式中,第二指令携带第一消息标识,第一终端设备在接收第二指令后,删除备份消息的步骤,包括:第一终端设备根据第一消息标识,查找第二映射关系;第一终端设备删除第二映射关系。该实现方式中在第二终端设备结束对第一通知消息的回复时,第一终端设备在接收第二指令后,通过第一信息标识,快速准确地查找到对应的第二映射关系,并将第二映射关系删除。这样,第一终端设备无法通过第二映射关系映射获取和使用到备份消息,从而删除了备份消息,以释放备份消息占用的缓存。
在一些实现方式中,该方法还包括:第一终端设备在删除第一映射关系和第二映射关系后,删除第一通知消息的消息内容,以及删除第一回复消息的消息内容。这样,在第一映射关系和第二映射关系都被删除后,第一终端设备默认无应用使用第一通知消息,则可以将第一通知消息的消息内容删除,并且将第一回复消息的消息内容一并删除,从而降低存储资源的消耗。
第二方面,本申请实施例提供一种消息同步方法,包括:第二终端设备接收第一终端设备发送的第一通知消息,显示第一通知消息;第二终端设备响应于用户回复第一通知消息的操作,向第一终端设备发送第一指令;第二终端设备获取用户输入的第一回复消息;第二终端设备接收第一终端设备发送的第一删除指令,不删除第一通知消息;第二终端设备响应于用户发送第一回复消息的操作,向第一终端设备发送第一回复消息,删除第一通知消息。这样,第二终端设备在用户回复第一通知消息时,向第一终端设备发送第一指令,使得第一终端设备在已删除第一通知消息的情况下,仍然可利用备份消息和第一回复消息,执行一次有效的回复处理,从而解决在第一终端设备删除了正在被第二终端设备回复的通知消息的场景下,第二终端设备呈现出的消息回复异常的状态,提升用户对消息同步功能的使用体验。并且,第二终端设备在回复第一通知消息的情况下,如果接收到第一终端设备发送的第一删除指令,也不会删除第一通知消息,以保证用户输入第一回复消息的操作过程不受干扰,在向第一终端设备发送第一回复消息后,第二终端设备结束消息回复,则删除第一通知消息,实现消息同步。
在一些实现方式中,第二终端设备响应于用户回复第一通知消息的操作,向第一终端设备发送第一指令的步骤,包括:第二终端设备响应于用户回复第一通知消息的操作,激活第一输入框中的光标;其中,第一输入框是第二终端设备中第一回复消息的输入框;第二终端设备在第一输入框中的光标被激活时,向第一终端设备发送第一指令。这样,第一输入框中的光标被激活时,表明用户已准备开始通过第一输入框输入第一回复消息,此时第二终端设备不会删除第一通知消息,并通过发送第一指令,触发第一终端设备对第一通知消息进行备份缓存,从而解决第二终端设备因第一终端删除第一通知消息而导致的消息回复异常问题。
在一些实现方式中,第二终端设备接收第一终端设备发送的第一删除指令后,该方法还包括:如果第一输入框中的光标未被激活,第二终端设备删除第一通知消息;如果第一输入框中的光标已被激活,第二终端设备在光标被取消激活时,删除第一通知消息。这样,第二终端设备接收到第一删除指令时,通过第一输入框的光标是否已被激活,确定是立即删除第一通知消息或是延迟删除第一通知消息,从而在不影响用户回复消息的情况下,实现第一终端设备与第二终端设备的消息同步。
在一些实现方式中,在第二终端设备向第一终端设备发送第一回复消息之后,该方法还包括:第二终端设备将第一输入框中的光标取消激活,并向第一终端设备发送第二指令。这样,第二终端设备发送第一回复消息后,默认已完成对第一通知消息的回复,因此满足结束回复条件,在取消激活第一输入框中的光标后,可以向第一终端设备发送第二指令,以使第一终端设备删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,第二终端设备响应于用户发送第一回复消息的操作,向第一终端设备发送第一回复消息的步骤,包括:第二终端设备响应于用户发送第一回复消息的操作,将第一输入框中的光标取消激活,并向第一终端设备发送第一回复消息和第三指令。该实现方式中,在第二终端设备取消激活第一输入框的光标后,第一终端设备可以同时接收到第一回复消息和第三指令,并先利用第一回复消息完成对备份消息的回复,之后再删除备份消息。这样,避免了第一终端设备未完成回复处理时,由于提前删除了备份消息而导致的消息回复失败问题,并且使第一终端设备及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,在第二终端设备向第一终端设备发送第一回复消息之后,该方法还包括:第二终端设备将第一输入框中的光标取消激活;第二终端设备在接收到第一终端设备发送的回复成功信息后,向第一终端设备发送第二指令。该实现方式中第一终端设备在完成回复处理后,可向第二终端设备发送回复成功信息,这样,第二终端设备接收到回复成功信息,不会呈现出消息回复异常状态,还可在第二终端设备向用户提示消息回复成功。此外,第二终端设备在接收回复成功信息之后,再向第一终端设备发送第二指令,能够避免因备份消息被提前删除导致消息回复失败的问题,并且使第一终端设及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,该方法还包括:第二终端设备在第一输入框中的光标被激活时,启动计时器并开始计时;第二终端设备在计时时间大于或等于预设时间阈值,并且第一回复消息为空信息时,将第一输入框中的光标取消激活,并向第一终端设备发送第二指令。该实现方式中第二终端设备如果在预设时间阈值内用户未输入回复内容(即产生回复超时),则向第一终端设备发送第二指令,这样,由于第一终端设备未接收到第一回复消息,因此不执行回复处理,则立即删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,在第二终端设备向第一终端设备发送第一回复消息之前,该方法还包括:第二终端设备响应于用户清空第一回复消息的操作,如果在先接收到第一删除指令,则将第一输入框中的光标取消激活,并向第一终端设备发送第二指令;第二终端设备如果在先未接收到第一删除指令,获取用户重新输入的第一回复消息。该实现方式中用户可能输入部分回复内容后,又将回复内容都清空,由于第一回复消息所针对的回复对象为第一通知消息,作为源消息的第一通知消息已被第一终端设备删除,并且第一终端设备已指示第二终端设备也删除第一通知消息,因此第二终端设备可以向第一终端设备发送第二指令,以释放第一终端设备中被备份消息占用的缓存。若第一通知消息未被第一终端设备删除,并且第一回复消息被清空,则第二终端设备可以获取用户重新输入的第一回复消息,实现对回复内容的重新校正。
在一些实现方式中,在第二终端设备向第一终端设备发送第一回复消息之前,该方法还包括:第二终端设备在第一输入框中的光标被激活时,启动计时器并开始计时;第二终端设备在计时时间大于或等于预设时间阈值,并且第一回复消息为非空信息时,保持第一输入框中的光标的激活状态;第二终端设备响应于用户清空第一回复消息的操作,如果在先未接收到第一删除指令,则将计时器清零后重新计时,并获取用户重新输入的第一回复消息。这样,第二终端设备可以在用户清空第一回复信息时,将计时器清零,然后使计时器重新计时,以检测在预设时间阈值内用户是否重新输入第一回复消息,即检测是否再次产生回复超时问题。
第三方面,本申请实施例提供了一种终端设备,包括:处理器和存储器;存储器存储有程序指令,当程序指令被处理器执行时,使得终端设备执行上述各方面及其各个实现方式中的方法。
第四方面,本申请实施例还提供了一种芯片系统,该芯片系统包括处理器和存储器,存储器存储有程序指令,当程序指令被处理器执行时,使得芯片系统执行上述各方面及其各个实现方式中的方法。例如,生成或处理上述方法中所涉及的信息。
第五方面,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有程序指令,当程序指令在计算机上运行时,使得计算机执行上述各方面及其各个实现方式中的方法。
第六方面,本申请实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面及其各个实现方式中的方法。
附图说明
图1是本申请实施例示出的消息同步设置页面10的示意图;
图2a是本申请实施例示出的可同步设备列表的示意图;
图2b是本申请实施例示出的一种消息同步设置页面10的变化示意图;
图2c是本申请实施例示出的另一种消息同步设置页面10的变化示意图;
图3是本申请实施例示出的第一终端设备与第二终端设备进行消息同步的示意图;
图4是本申请实施例示出的用户在第二终端设备进行消息回复时,第二终端设备的界面显示效果示意图;
图5是本申请实施例提供的第一终端设备删除通知消息的示意图;
图6是本申请实施例提供的从第一消息通知弹窗中调出非必要功能控件的示意图;
图7是本申请实施例提供的终端设备的硬件结构示意图;
图8是本申请实施例提供的第一终端设备与第二终端设备之间的消息同步方法的第一个流程图;
图9是本申请实施例提供的终端设备呈现出消息回复异常状态的示意图;
图10是本申请实施例提供的用户清空第一回复消息的示意图;
图11是本申请实施例提供的第一终端设备执行的消息同步方法;
图12是本申请实施例提供的第二终端设备执行的消息同步方法;
图13是本申请实施例提供的第一终端设备的软件框架图;
图14是本申请实施例提供的第二终端设备的软件框架图;
图15是本申请实施例提供的第一种消息同步装置的结构示意图;
图16是本申请实施例提供的第二种消息同步装置的结构示意图;
图17是本申请实施例提供的第三种消息同步装置的结构示意图;
图18是本申请实施例提供的芯片系统的结构示意图。
具体实施方式
终端设备可配置具有信息交互功能的应用,例如终端设备可接收和回复短信,接收和回复社交类应用中对象发送的消息,接收和提示非社交类应用推送的服务信息等,其中社交类应用包括但不限于聊天应用、问答应用、留言板、邮箱应用、论坛等应用。
多个终端设备例如:第一终端设备和第二终端设备,可以通过蓝牙或无线保真(wireless fidelity,Wi-Fi)无线网络等方式通信连接,并且登录同一用户账号。第一终端设备可以将各应用接收的通知消息发送给登录同一用户账号的第二终端设备,由第二终端设备对该通知消息进行提示,从而实现多设备消息同步。本申请实施例中,消息同步主要针对的是应用的通知消息在多设备之间的同步,其中,通知消息可以包括需要回复或交互的消息,例如,通知消息可以是短信、社交类应用中的聊天消息等。通知消息还可以包括应用推送的无需回复或交互的消息。
例如:终端设备的系统设置页面中可以包括“消息同步”设置项。终端设备响应于用户点击“消息同步”设置项的操作,可以显示消息同步设置页面。接下来,终端设备可以响应于用户在消息同步设置页面中执行预设的操作,开启消息同步功能,这样,终端设备可以将短信和已安装的应用推送的消息同步给其他终端设备。或者,终端设备安装的应用可单独设置消息同步功能,用户可按需开启目标应用的消息同步功能,终端设备仅将目标应用推送的通知消息消息同步给其他终端设备。
在一些实现方式中,如图1所示,消息同步设置页面10中可以具有开关按钮11,开关按钮11用于开启或关闭消息同步功能。用户如果不想使用消息同步功能(例如考虑到隐私和信息安全),可以通过点击开关按钮11的方式,将开关按钮11调至关闭状态;用户如果想要使用消息同步功能,可以通过点击开关按钮11的方式,将开关按钮11调至开启状态。第一终端设备在开启消息同步功能后,可以获取可同步设备,监控各应用的信息状态,并在接收到新的通知消息时,将该通知消息发送给可同步设备。其中,可同步设备可以是满足以下部分或全部条件的终端设备:
条件一:可同步设备可以是与第一终端设备登录同一用户账号的终端设备。
条件二:可同步设备可以是在预设的通信连接方式下,被第一终端设备搜索到的终端设备。例如,如果设备之间基于Wi-Fi无线网络进行通信连接,那么可同步设备可以是与第一终端设备接入同一个Wi-Fi无线网络,且被第一终端设备搜索到的终端设备。如果设备之间基于蓝牙网络建立通信连接,则第一终端设备可以开启蓝牙功能,并搜索扫描区域内可用的蓝牙设备,例如与第一终端设备已配对的蓝牙设备,那么可同步设备可以是第一终端设备搜索到的蓝牙设备。
第一终端设备开启消息同步功能后,可以避免通知消息读取延误。以第一终端设备为智能手机,第二终端设备为平板为例,当用户正在使用平板,并且手机未放置在身边时,如果手机接收到一条短信,则手机将该短信发送给平板,这样即便平板不具有通过SIM卡收发短信功能,平板也可在接收到手机转发的短信后及时提示给用户查看。
如图2a所示,用户通过点击开关按钮11开启消息同步功能后,第一终端设备如果获取到可同步设备,可以在消息同步设置页面10中显示可同步设备列表12。可同步设备列表12包括至少一个可同步设备的设备信息,其中设备信息包括设备名称、设备型号等,例如图2a中可同步设备包括终端设备A、终端设备B、终端设备C和终端设备D,每个设备信息还包括对应的选择按钮121。消息同步设置页面10中还可以包括同步设备列表12对应的全选按钮122、同步按钮123和取消按钮124,用户可以通过点击选择按钮121和/或全选按钮122的方式,按需选择部分或全部可同步设备作为第二终端设备,然后点击同步按钮123。终端设备可以响应于用户点击同步按钮123的操作,与被选中的第二终端设备建立通信连接,并将接收到的通知消息发送给第二终端设备。可同步设备列表12中未被用户选中的终端设备则不与第一终端设备建立通信连接。第一终端设备可动态更新可同步设备列表12,例如新增或删除设备。
如图2b所示,终端设备还可以响应于用户点击取消按钮124的操作,关闭可同步设备列表12,并在消息同步设置页面10中显示第一控件125,在此期间,开关按钮11始终保持开启状态。终端设备还可以响应于用户点击第一控件125的操作,在消息同步设置页面10中显示更新后的可同步设备列表12,例如图2b中在第一终端设备关闭可同步设备列表12之前,可同步设备列表12中包括终端设备A、终端设备B、终端设备C和终端设备D,刷新后的可同步设备列表21包括终端设备A、终端设备B、终端设备C和终端设备E。这样,用户可以通过更新后的可同步设备列表12重新选择第二终端设备。或者,终端设备还可以响应于用户点击取消按钮124的操作,将开关按钮11切换为关闭状态。
如图2c所示,如果可同步设备列表12中不具有被选中的第二终端设备(即用户没有选中任何终端设备),终端设备还可以响应于用户点击同步按钮123的操作,关闭可同步设备列表12,并在消息同步设置页面10中显示第一控件125,在此期间,开关按钮11始终保持开启状态。接下来,终端设备可以响应于用户点击第一控件125的操作,在消息同步设置页面10中显示更新后的可同步设备列表12,这样,用户可以通过更新后的可同步设备列表12重新选择第二终端设备。或者,如果可同步设备列表12中不具有被选中的第二终端设备,终端设备还可以响应于用户点击同步按钮123的操作,将开关按钮11切换为关闭状态。
参照图2b和图2c,终端设备还可以在消息同步设置页面10中显示第二控件126。终端设备还可以响应于用户对点击第二控件126的操作,关闭可同步设备列表12,并在消息同步设置页面10中显示第一控件125。
如图3所示,第一终端设备100A已启动消息同步功能,第一终端设备100A接收到第一通知消息时,可以在第一终端设备的系统通知中心的提示页面(以下简称:第一通知中心页面20a)中增加第一通知消息对应的第一消息通知弹窗21a,第一消息通知弹窗21a可采用横幅、网格等布局形式予以呈现,第一消息通知弹窗21a中显示用于指示通知消息来源的应用名称和/或应用图标以及新信息的内容、发送人、发送时间等。在图3示例中,第一终端设备100A当前接收到来自WX应用的一条第一通知消息,第一通知消息例如为“今天几点下班”,则将第一通知消息消息同步给第二终端设备100B。例如,第一终端设备100A可将应用WX的名称和/或应用图标以及第一通知消息的文本内容、发送人、发送时间、消息标识等数据进行封装,并将封装数据发送给第二终端设备100B,第二终端设备100B解析封装数据后对第一通知消息进行提示。
继续参照图3,第二终端设备100B接收到第一终端设备200同步的第一通知消息后,可以在第二终端设备的系统通知中心的提示页面(以下简称:第二通知中心页面20b)中显示与第一通知消息对应的第二消息通知弹窗21b。第二终端设备100B侧无需启动应用WX,也不在应用WX的页面中提示第一通知消息。第二消息通知弹窗21b中可以包括第一终端设备100A同步的第一通知消息所来源的应用名称和/或应用图标、消息内容、发送人、发送时间等,还可以包括回复按钮211。用户点击第一通知消息对应的第二消息通知弹窗21b中的回复按钮211,即可针对第一通知消息作出回复。
第一终端设备中的第一通知消息是源消息,第一终端设备可以在第一通知中心页面20a中以第一消息通知弹窗21a的形式显示该源消息。在第一终端设备将第一通知消息同步给第二终端设备之后,第二终端设备中的第一通知消息是第一终端设备中的源消息对应的同步消息。该同步消息与源消息具有相同的消息内容、发送人、发送时间、应用标识、消息标识等信息,但源消息存储于第一终端设备,同步消息存储于第二终端设备中。第二终端设备可以在第二通知中心页面20b中以第二消息通知弹窗21b的形式显示该同步消息。
第二终端设备100B响应于用户点击回复按钮211的操作,如图4所示,在第二通知中心页面20b的第二消息通知弹窗21b中显示回复子窗口41。回复子窗口41中可以包括第一输入框411和发送按钮412。针对消息标识相同的消息通知,第一通知中心页面20a显示的第一消息通知弹窗21a与第二通知中心页面20b显示的第二消息通知弹窗21b的格式可以相同或不同。
在一些实现方式中,第二终端设备可以响应于用户点击回复按钮211的操作,在显示回复子窗口41时,自动将第一输入框411中的光标激活,并显示电子键盘42。在用户界面上光标的激活状态例如可以呈现为光标静态显示或动态闪烁等效果。
在一些实现方式中,第二终端设备100B响应于用户点击回复按钮211的操作,在显示回复子窗口41时,也可以不自动激活第一输入框411中的光标。接下来,第二终端设备响应于用户点击第一输入框411的操作,激活第一输入框411中的光标,并显示电子键盘42。用户可以通过电子键盘在第一输入框411输入回复内容,例如“6点”,然后点击发送按钮412。第二终端设备100B响应于用户点击发送按钮412的操作,将第一回复消息发送给第一终端设备100A。第一终端设备100A根据第一通知消息和第一回复消息完成回复处理,并向第二终端设备100B反馈回复成功信息。
如图4所示,第二终端设备在显示回复子窗口41时,可以仍旧在第二消息通知弹窗21b中显示回复按钮211、第一通知消息的文本内容、发送人、应用标识和图标、发送时间等信息。第二终端设备响应于用户在图4所示的用户界面中点击回复按钮211的操作,可以关闭回复子窗口41,或者自动将第一输入框411中的内容清空(相当于重置第一输入框411)。或者,第二终端设备在显示回复子窗口41时,可以不显示回复按钮211。
如图5所示,第一通知中心页面20a中显示的第一消息通知弹窗21a中还包括清除按钮212、第一删除按钮213和通知管理按钮214等。其中:第一终端设备可以响应于点击清除按钮212的操作,将当前操作针对的第一消息通知弹窗21a从第一通知中心页面20a移除,但不会删除已存储的第一消息通知弹窗21a提示的通知消息。终端设备可以响应于点击第一删除按钮213的操作,或者响应于在应用中删除信息的操作,则当前操作映射的第一消息通知弹窗21a会从第一通知中心页面20a移除,并且终端设备会删除操作映射的通知消息。终端设备可以响应于点击通知管理按钮214的操作,查询第一消息通知弹窗21a所提示的信息来源的目标应用,并显示对目标应用的通知模式选项,以供用户按需选择,通知模式选项例如为隐式推送、定时免打扰、关闭通知等。
考虑到第一消息通知弹窗21a的显示区域或弹窗大小可能受限,第一终端设备在第一消息通知弹窗21a中可以不显示清除按钮212、第一删除按钮213和通知管理按钮214中的一个或者多个,以保证消息内容、发送人、发送时间、应用标识等基本数据的充分展示。在这种情况下,第一终端设备允许用户通过执行预设操作,显示清除按钮212、第一删除按钮213和通知管理按钮214。如图6中(a)和(b)所示,第一终端设备可以响应于用户向左滑动第一消息通知弹窗21a的操作,将第一消息通知弹窗21a整体向左移动,并在第一消息通知弹窗21a向左滑动后留出的右侧区域显示清除按钮212、第一删除按钮213和通知管理按钮214等控件。
第一终端设备100A如果在本地删除了已同步至第二终端设备100B的第一通知消息,可以向第二终端设备100B发送第一删除指令,第一删除指令用于指示第二终端设备100B删除第一通知消息,从而实现两侧终端设备的通知消息同步。
在某些应用场景中,在第一终端设备100A将第一通知消息消息同步到第二终端设备100B之后,如果用户乙正在通过第二终端设备100B对第一通知消息进行回复,同时,用户甲通过第一终端设备100A删除第一通知消息,那么第一终端设备100A会向第二终端设备100B发送第一删除指令。第二终端设备100B接收到第一删除指令后,如果用户正在执行对第一通知消息的回复操作,则不删除第一通知消息。在用户乙输入的第一回复消息之后,第二终端设备100B可以响应于用户乙点击发送按钮412的操作,将第一回复消息发送至第一终端设备100A,并指示第一回复消息是针对第一通知消息的回复信息。第一终端设备100A接收到第一回复消息后,查询本端当前是否存储第一通知消息,若第一终端设备100A未存储第一通知消息,表明第一通知消息已被第一终端设备100A删除,则本次回复无效,导致第二终端设备100B在发送第一回复消息之后接收不到第一终端设备100A反馈的回复成功信息,第二终端设备100B会呈现出消息回复异常的状态,例如用户界面较长时间地呈现“正在回复”的状态,或者提示回复失败,但无法感知出现异常的原因,从而影响用户使用体验。
为解决第一终端设备100A向第二终端设备100B同步信息的场景下,由于第一终端设备100A删除了正在被第二终端设备100B回复的通知消息,导致第二终端设备100B呈现的消息回复异常的问题,本申请实施例提供了一种消息同步方法,该方法可应用于终端设备。其中,终端设备包括但不限于手机(包括折叠屏手机)、平板电脑、个人电脑、工作站设备、大屏设备(例如:智慧屏、智能电视等)、可穿戴设备(例如:智能手环、智能手表)掌上游戏机、家用游戏机、虚拟现实设备、增强现实设备、混合现实设备等、车载智能终端等。
图7是本申请实施例提供的终端设备的硬件结构示意图。如图7所示,终端设备100可以包括处理器110,存储器120,通用串行总线(universal serial bus,USB)接口130,射频电路140,移动通信模块150,无线通信模块160,摄像头170,显示屏180,触摸传感器190,气压传感器210和按键220等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用程序处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中,例如集成在系统芯片(system on a chip,SoC)中。处理器110中还可以设置存储器,用于存储指令和数据。在一些实现方式中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。
在一些实现方式中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
存储器120可以用于存储计算机可执行程序代码,可执行程序代码包括指令。存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统、至少一个功能所需的应用程序程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器120可以包括一个或者多个存储单元,例如可以包括易失性存储器(volatile memory),如:动态随机存取存储器(dynamic random access memory,DRAM)、静态随机存取存储器(static randomaccess memory,SRAM)等;还可以包括非易失性存储器(non-volatile memory,NVM),如:只读存储器(read-only memory,ROM)、闪存(flash memory)等。处理器110通过运行存储在存储器120的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备100的各种功能应用程序以及数据处理。
这里需要补充说明的是,本申请实施例所指的操作系统,包括但不限于Android操作系统、IOS操作系统、iPad OS、鸿蒙操作系统(HarmonyOS)、Windows操作系统、Linux操作系统、MAC OS操作系统、嵌入式系统等。
终端设备100的无线通信功能可以通过射频电路140、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。
射频电路140可以包括至少一个天线141,用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。在一些实现方式中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用程序在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线141接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线141转为电磁波辐射出去。在一些实现方式中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实现方式中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用程序处理器。应用程序处理器通过音频设备(包括但不限于扬声器,受话器等)输出声音信号,或通过显示屏180显示图像或视频。在一些实现方式中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以包括无线保真(wireless fidelity,Wi-Fi)模块,蓝牙(bluetooth,BT)模块、GNSS模块、近距离无线通信技术(near field communication,NFC)模块、红外(infrared,IR)模块等。无线通信模块160可以是集成上述至少一个模块的一个或多个器件。无线通信模块160经由天线141接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线141转为电磁波辐射出去。
本申请实施例中,终端设备100的无线通信功能例如可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packetradio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-divisioncode division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),第五代移动通信技术新空口(5th generation mobile networks new radio,5G NR),BT,GNSS,WLAN,NFC,FM,和/或IR等功能。GNSS可以包括全球卫星定位系统(globalpositioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite basedaugmentation systems,SBAS)。
摄像头170用于捕获静态图像或视频。摄像头170包括镜头和感光元件,物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupleddevice,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV,RYYB等格式的图像信号。在一些实现方式中,终端设备100可以包括1个或N个摄像头170,N为大于1的正整数。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备100的智能认知等应用程序,例如:图像识别,人脸识别,语音识别,文本理解等。
显示屏180用于显示图像,视频等。显示屏180包括显示面板。显示面板可以采用液晶显示屏(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个显示屏180,N为大于1的正整数。
触摸传感器190,也称“触控器件”。触摸传感器190可以设置于显示屏180,由触摸传感器190与显示屏180组成触摸屏,也称“触控屏”。触摸传感器190用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用程序处理器,以确定触摸事件类型。可以通过显示屏180提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器190也可以设置于终端设备100的表面,与显示屏180所处的位置不同。
气压传感器210用于测量气压。在一些实现方式中,终端设备100通过气压传感器210测得的气压值计算海拔高度,辅助定位和导航。
按键220包括开机键,音量键等。按键220可以是机械按键。也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的键信号输入。
可以理解的是,本申请实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件组合实现。
用户在第二终端设备100B中对第一通知消息进行回复时,可能执行多种不同形式的操作:例如,用户在第一输入框411中输入完整的回复内容,之后点击发送按钮412;或者用户在预设时间阈值内未在第一输入框411中输入回复内容,即第一回复消息为空信息,导致回复超时;或者用户输入部分回复内容后,点击电子键盘42中的删除按钮,将第一输入框411中的第一回复消息清空等。
下面将根据用户在回复第一通知消息时可能的操作场景,对本申请实施例提供的消息同步方法的各方法步骤进行示例性说明。
图8是本申请实施例提供的一种消息同步方法的第一个流程图。
如图8所示,该方法包括:
步骤S81,第一终端设备向第二终端设备发送第一通知消息。
第一终端设备接收应用服务器推送的第一通知消息后,可以采用如消息通知弹窗等形式显示第一通知消息,再将第一通知消息同步给第二终端设备。
第一终端设备100A和第二终端设备100B是登录同一用户账号的终端设备,并且第一终端设备100A与第二终端设备100B已建立通信连接。其中,第一终端设备100A已开启消息同步功能,并且第二终端设备100B是用户从第一终端设备100A的可同步设备中选择的终端设备。在开启消息同步功能后,第一终端设备100A可以将接收到的新通知消息(为便于描述,本申请实施例中将其命名为第一通知消息)发送给第二终端设备100B。第一通知消息可以是本文、音频、视频、图像、文档等不同的媒体类型的信息。
在一些实现方式中,应用每产生一条新的通知消息,会为新的通知消息分配消息标识,消息标识用于使终端设备精准识别通知消息,每条通知消息的消息标识都不同。第一终端设备100A在发送第一通知消息时,可携带第一通知消息的消息标识。
为避免不同应用分配消息标识时存在冲突,一种示例中,消息标识可包含应用标识,例如应用M定义的消息标识格式为appM_x,应用N定义的消息标识格式为appN_y。其中,appM表示应用M的标识,x表示应用M产生的通知消息的序号,appN表示应用N的标识,y表示应用N产生的通知消息的序号。另一种示例中,该消息标识可以无需包括应用标识,而仅用序号表示。
另一种示例中,在启动消息同步功能后,第一终端设备100A可以创建并维护一个消息标识列表,消息标识列表用于记录已同步至其他终端设备的通知消息的消息标识。第一终端设备100A可以按照接收通知消息的时间顺序,对消息标识列表中的消息标识进行排序。应用可基于消息标识列表为新的通知消息分配消息标识,例如WX应用产生一条新的通知消息b,则根据时序从消息标识列表中查询到通知消息b的上一条通知消息a的消息标识为0123,则WX应用为通知消息b分配的消息标识可以为0124。消息标识的生成方式和格式不限于本申请实施例的示例。
步骤S82,第二终端设备显示第一通知消息。
具体实现中,第二终端设备100B接收到第一通知消息后,可以在系统第二通知中心页面20b显示第一通知消息对应的第二消息通知弹窗21b,第二消息通知弹窗21b内可以显示用于指示第一通知消息来源的应用标识、第一通知消息的消息内容、发送人、发送时间、回复按钮、删除按钮等内容中的一个或者多个,以便用户了解第一通知消息的详情内容,并执行对第一通知消息的回复、删除等操作。其中,应用标识包括应用名称、应用图标等。
步骤S83,第二终端设备在第一通知消息的第一输入框中的光标被激活时,向第一终端设备发送第一指令。
其中,第一指令用于指示第二终端设备中的第一通知消息处于活跃状态。活跃状态可以是第二终端设备在第一输入框411中的光标被激活时确定的,用于表征用户正在或者将要在第一输入框411中输入第一通知消息的回复内容。
一般来说,为了确保用户回复第一通知消息的操作不会被干扰,第二终端设备100B在第一通知消息为活跃状态时,不会主动删除第一通知消息。
第二终端设备100B可根据用户与第二终端设备100B的交互操作,确定第一通知消息是否为活跃状态。参照图3,用户可以在第二终端设备执行回复第一通知消息的操作,例如:点击第二消息通知弹窗21b中的回复按钮211。第二终端设备响应于用户点击回复按钮211的操作,在显示回复子窗口41时自动激活第一输入框411中的光标,并显示电子键盘42,以使用户可以在第一输入框411中输入回复内容。
如图3和图4所示,第二终端设备100B响应于用户点击第二消息通知弹窗21b中的回复按钮211的操作,可以在第二消息通知弹窗21b中显示回复子窗口41,但不自动激活第一输入框411中的光标,也不显示电子键盘42。接下来,用户可以在第二终端设备上执行回复第一通知消息的操作,例如:可以点击第一输入框411。第二终端设备100B响应于用户点击第一输入框411的操作,可以将第一输入框411中的光标变为激活状态(用户界面上例如呈现为显示静态光标或光标动态闪烁等形式),并且显示电子键盘42。如图4所示,第二终端设备100B还可以响应于点击第三控件421的操作,关闭电子键盘42,此时第一输入框411中的光标可保持激活状态或切换为非激活状态。
在一种实现方式中,第二终端设备响应于点击回复按钮211或者点击第一输入框411的操作,可以控制通知管理器激活第一输入框411中的光标。通知管理器在激活第一输入框411中的光标后,可以为第一通知消息设置活跃状态标识。活跃状态标识用于指示第一输入框411中的光标已激活。第二终端设备的处理器在第一通知消息中具有活跃状态标识时,可以基于第二终端设备与第一终端设备的通信连接,向第一终端设备发送第一指令。
在一种实现方式中,通知管理器可以在激活第一输入框411中的光标后,或者在设置完成活跃状态标识后,向处理器发送第一请求,所述第一请求用于请求处理器向第一终端设备发送第一指令。这样,可以实现通知管理器在激活光标后主动触发处理器向第一终端设备发送第一指令,无需处理器检测第一通知消息是否具有活跃状态标识。
步骤S84,第一终端设备在接收第一指令后,生成第一通知消息的备份消息并缓存。
在一种实现方式中,第一指令中可包含第一通知消息的第一消息标识,以使第一终端设备100A在接收到第一指令后,可以根据第一消息标识,查找到第一终端设备的存储器中存储的第一通知消息的消息内容,对第一通知消息的消息内容进行备份,得到备份消息,并将备份消息缓存在存储器中,这样备份消息与第一通知消息的消息内容相同。另外,第一终端设备还可以缓存备份消息与第一消息标识的映射关系,以便通过第一消息标识,准确查找到对应的备份消息。
在一种实现方式中,第一终端设备在接收到第一通知消息时,可以将第一通知消息的消息内容保存在存储器中,并获取第一通知消息的消息内容在第一终端设备中的第一存储地址。在第一通知消息存储完成时,第一终端设备可以建立第一通知消息的第一消息标识与第一存储地址之间的第一映射关系。这样,第一终端设备可以通过第一消息标识和第一映射关系,查询到第一通知消息的第一存储地址,并根据该第一存储地址访问存储器,从而获取第一通知消息,实现了通过第一映射关系来获取存储器中对应的第一通知消息。
在一种实现方式中,第一终端设备还可以根据第一指令中的第一通知消息的第一消息标识以及第一映射关系,查询第一消息标识对应的第一存储地址。然后,第一终端设备可以建立第一消息标识与第一存储地址之间的第二映射关系,并缓存第二映射关系。这样,备份消息可以是根据第二映射关系获取的消息内容。相较于直接备份第一通知消息的消息内容,构建第一通知消息对应的第二映射关系的方式可以降低缓存消耗第二映射关系可以缓存在高速缓冲器中,例如cache。
可以理解的是,第一映射关系是第一终端设备接收到新的通知消息时,建立的原始映射关系,而第二映射关系则是第一终端设备接收到第一指令时,建立的备份映射关系。
在一种实现方式中,每个通知消息对应的第一映射关系和第二映射关系可以独立存储。第一终端设备可以响应于用户删除第一通知消息的操作,仅删除第一通知消息对应的第一映射关系,不删除第一通知消息的消息内容,也不删除第一通知消息对应的第二映射关系。这样,即使用户在第一终端设备上执行了删除第一通知消息的操作,第一终端设备也可以利用第二映射关系获取第一通知消息,并利用从第二终端设备接收到的回复信息对第一通知消息进行回复,从而解决第二终端设备的消息回复异常问题。
在一种实现方式中,第一终端设备在删除第一通知消息对应的第一映射关系后,如果cache中未缓存第一通知消息对应的第二映射关系,表明第一通知消息的消息内容未被应用以映射关系的方式使用,则第一终端设备会自动删除存储器中保存的第一通知消息的消息内容。若第一映射关系和第二映射关系至少存在一种,则第一终端设备不删除存储器中的第一通知消息的消息内容。
在一种实现方式中,第一终端设备在删除第一通知消息对应的第一映射关系后,如果cache中缓存有第一通知消息对应的第二映射关系,则暂不删除存储器中保存的第一通知消息的消息内容。在此之后,如果第一通知消息转变为非活跃状态,第一终端设备可以删除第一通知消息对应的第二映射关系。这样,第一终端设备不再存储第一通知消息对应的第一映射关系和第二映射关系,在这种情况下,第一终端设备可以删除存储器中保存的第一通知消息的消息内容,以释放存储资源。
步骤S85,第一终端设备响应于用户的第一操作,删除第一通知消息,并向第二终端设备发送第一删除指令。
在一种实现方式中,第一操作可以是用户在第一终端设备执行的删除第一通知消息的操作,例如用户点击第一通知消息对应的第一消息通知弹窗21a中的第一删除按钮213,或者用户在应用页面(例如聊天页面、短信页面等)中删除第一通知消息。第一终端设备100A接收到第一指令后,如果又接收到第一操作,则可以删除第一通知消息的消息内容,不删除备份消息的消息内容,并向第二终端设备100B发送第一删除指令,以通知第二终端设备100B删除第一通知消息,使第一终端设备100A与第二终端设备100B的信息状态保持同步。第一删除指令中可包含第一通知消息的消息标识,以指示第二终端设备100B应删除哪条通知消息。
在一种实现方式中,第一终端设备100A接收到第一指令后,如果又接收到用户的第一操作,则可以删除第一通知消息对应的第一映射关系,不删除第一通知消息的消息内容,不删除第一通知消息对应的第二映射关系,并向第二终端设备100B发送第一删除指令。
步骤S86,如果第一通知消息为活跃状态,第二终端设备在接收到第一删除指令之后,不删除第一通知消息。
具体实现中,第二终端设备100B接收到第一删除指令时,可以根据第一输入框411中的光标是否被激活,确定第一通知消息是否为活跃状态。如果第一输入框411中的光标被激活,即第一通知消息为活跃状态,认为用户尚未回复完毕,暂不删除第一通知消息,继续获取用户回复的第一回复消息;如果第一输入框411中的光标被取消激活,即第一通知消息已退出活跃状态(变为非活跃状态),则删除第一通知消息,实现第一终端设备100A和第二终端设备100B同步删除同一通知消息。
步骤S87,第二终端设备响应于用户发送第一回复消息的操作,向第一终端设备发送第一回复消息。第一回复消息包含用户在第一输入框411中输入的内容。
在一些实现方式中,如图4所示,用户输入第一回复消息完毕后,可以点击发送按钮412。第二终端设备响应于用户点击发送按钮412的操作,向第一终端设备100A发送第一回复消息的消息内容,并携带第一通知消息的第一消息标识以及第一回复消息的第二消息标识。可为第一消息标识设置源消息标识,为第二消息标识设置回复消息标识,源消息标识用于指示第一通知消息为被第二终端设备100B回复的源消息。回复消息标识用于指示第一回复消息为第二终端设备100B针对第一通知消息给出的回复消息,使第一终端设备100A能够准确识别消息类型是源消息还是回复消息,建立第一通知消息和第一回复消息之间的对话关联。第一终端设备100A还可以根据第一消息标识,准确获取第一通知消息或备份消息的消息内容,或者,获取第一通知消息对应的第一映射关系或第二映射关系。
步骤S88,第一终端设备接收第一回复消息,根据第一回复消息和备份消息进行回复,并向第二终端设备发送回复成功信息。
在一些实现方式中,应用服务器在向第一终端设备推送的第一通知消息之前,可以在第一通知消息中配置回复函数,回复函数中定义了消息回复逻辑。不同应用的回复函数定义的消息回复逻辑可能不同。这样,第一终端设备存储的第一通知消息的消息内容中包含该回复函数。如果第一终端设备删除第一通知消息的消息内容,该回复函数会被一并删除,导致第一终端设备在接收到第一回复消息后,无法调用该回复函数执行第一回复消息对第一通知消息的回复。
在一种实现方式中,如果备份消息是对第一通知消息的消息内容进行备份后得到的,则备份消息中同样包含该回复函数。第一终端设备在接收到第一回复消息后,可以根据第一回复消息中携带的第一消息标识,获取第一消息标识映射的备份消息的消息内容,调用备份信息中的回复函数,以触发消息回复逻辑,实现根据第一回复消息和备份消息完成回复处理。
在一种实现方式中,第一终端设备在删除第一映射关系时,不删除第二映射关系和第一通知消息的消息内容。这样,第一终端设备可以通过第二映射关系,访问第一通知消息的消息内容,并获取到该回复函数。第一终端设备在接收到第一回复消息后,可以根据第一回复消息中携带的第一消息标识,查找第一消息标识对应的第二映射关系,并根据该第二映射关系,获取第一消息标识映射的第一存储地址。接下来,第一终端设备可以根据第一存储地址,从存储器中获取第一通知消息的消息内容,调用第一通知消息的消息内容中包含的回复函数,以触发消息回复逻辑,实现根据备份消息和第一回复消息完成回复处理。
本申请实施例通过对第一通知消息的备份缓存,实现在用户删除第一通知消息时,使第一通知消息中的回复函数能以备份形式被存留,这样,第一终端设备在接收到第一回复消息后,可以查找到可用的回复函数,以触发消息回复逻辑,并完成回复之后,向第二终端设备发送回复成功信息。第二终端设备接收到回复成功信息,可以提示消息回复成功,消除了因第一终端设备删除了第二终端设备正在回复的通知消息,导致第二终端设备无法接收到回复成功消息所产生的消息回复异常问题。此外,第一终端设备在发送回复成功信息后,接收第二终端设备发送的第二指令,能够避免在第一终端设备未完成回复处理时,由于提前删除了备份消息而导致的消息回复失败问题,并且使第一终端设备及时删除备份消息,以释放被无效占用的缓存。
步骤S89,第二终端设备在第一通知消息变为非活跃状态后,向第一终端设备发送第二指令,并删除第二终端设备中存储的第一通知消息。
第二终端设备100B响应于用户发送第一回复消息的操作,可以认为用户针对第一通知消息的回复操作结束,第一通知消息从活跃状态转变为非活跃状态。另外,由于第二终端设备100B在先已接收到第一终端设备100A发送的第一删除指令,因此,第二终端设备可以在第一通知消息转变为非活跃状态时,删除第二终端设备中存储的第一通知消息(即同步消息),同时,第二终端设备可以向第一终端设备100A发送第二指令,第二指令用于指示第一通知消息处于非活跃状态,第二指令中可包含第一通知消息的第一消息标识,以使第一终端设备能够删除第一消息标识对应的备份消息,从而释放备份消息占用的缓存。
在一种实现方式中,第二终端设备在接收到发送第一回复消息的操作时,控制通知管理器取消激活第一输入框411的光标,使该光标变为非激活状态,例如可以使第一输入框411中不显示光标,或者关闭图4中的回复子窗口41,或者将第一通知消息对应的第二消息通知弹窗21b从第二通知中心页面20b中删除等。通知管理器在将第一输入框411的光标变为非激活状态后,可以删除第一通知消息的活跃状态标识。第二终端设备的处理器在第一通知消息中的活跃状态标识被删除后,基于第二终端设备与第一终端设备的通信连接,向第一终端设备发送第二指令。
在一种实现方式中,通知管理器可以在将第一输入框411中的光标取消激活后,或者在删除活跃状态标识后,向处理器发送第二请求,所述第二请求用于请求处理器向第一终端设备发送第二指令。这样,可以实现通知管理器在取消激活光标后主动触发处理器向第一终端设备发送第二指令,无需处理器查询第一通知消息是否具有活跃状态标识。
如果第一终端设备没有对第一通知消息进行备份,第一终端设备100A删除第一通知消息后,若接收到第二终端设备100B发送的第一回复消息,则会由于第一通知消息的消息内容已被删除而无法调用回复函数,也就无法进行有效的回复处理。因此,第二终端设备100B接收不到第一终端设备100A反馈的回复成功信息,导致第二终端设备100B出现消息回复异常状态。该异常状态可以包括:
异常状态一:如图9中(a)所示的第二终端设备100B长时间呈现“正在回复”状态。
异常状态二:第二终端设备100B提示消息回复失败,而用户无法感知回复失败的原因。
其中,异常状态二可以包括两种情况,一种是应答超时,即第二终端设备100B在预设时间内未接收到第一终端设备100A反馈的任何信息,这可能是由于第一终端设备100A和第二终端设备100B通信连接中断所导致,另一种如图9中(b)所示,第二终端设备100B在预设时间内接收到第一终端设备100A反馈的回复失败信息,从而提示消息回复失败。用户输入并发送第一回复消息后,第二终端设备100B呈现消息回复异常状态,会影响用户对消息同步功能的使用体验。
本申请实施例的方案中,第二终端设备100B在接收到第一终端设备100A同步的第一通知消息后,监控第一通知消息的处理状态,若转变为活跃状态,则向第一终端设备100A反馈第一指令,以触发第一终端设备100A对第一通知消息的备份缓存机制,例如:可以对第一通知消息的消息内容进行备份,得到备份信息。这样,即使第一终端设备100A删除了第一通知消息,第一终端设备100A也能够从缓存中获取备份消息,并调用备份消息中的回复函数,触发消息回复逻辑,回复完成后,向第二终端设备发送回复成功信息。这样,第二终端设备100B能够接收到第一终端设备100A反馈的回复成功信息,从而规避消息回复异常的缺陷。
在一种实现方式中,第一终端设备100A可以在接收到第一指令后,构建并缓存第一通知消息对应的第二映射关系。这样,即使第一终端设备100A删除了第一通知消息对应的第一映射关系,第一终端设备100A在接收到第一回复消息后,也能够从缓存中获取第一通知消息对应的第二映射关系,通过第二映射关系,获取第一存储地址,并根据第一存储地址从存储器中获取第一通知消息的消息内容,并调用第一通知消息的消息内容中的回复函数,触发消息回复逻辑,回复完成后,向第二终端设备发送回复成功信息。第二终端设备100B能够接收到第一终端设备100A反馈的回复成功信息,从而规避消息回复异常的缺陷。
在一些实现方式中,第二终端设备在接收到第一终端设备发送的第一通知消息后,存储第一通知消息的消息内容。这样,第二终端设备接收到第一删除指令后,可以删除第一通知消息的消息内容。
在一些实现方式中,第二终端设备在接收到第一终端设备发送的第一通知消息后,存储第一通知消息的消息内容,并获取第一通知消息的消息内容在第二终端设备的第二存储地址。第二终端设备建立第一通知消息的第一消息标识与第二存储地址的第三映射关系。这样,第二终端设备接收到第一删除指令后,可以删除第二终端设备在先建立的第一通知消息对应的第三映射关系。第二终端设备在删除该第三映射关系后,可以删除第一通知消息的消息内容。
步骤S810,第一终端设备在接收第二指令后,删除备份消息。
本申请实施例的方案中,第二终端设备100B可以监控第一通知消息的状态,若第一通知消息由活跃状态转变为非活跃状态,则向第一终端设备100A反馈第二指令。由于第一终端设备100A接收到第二指令后,已根据第一回复消息和备份消息完成回复处理,因此备份消息的作用已经完成,第一终端设备100A可以删除该备份消息,以释放cache中被失效的备份消息占用的缓存。其中,用户对第一通知消息的备份缓存、删除备份消息以及消息回复过程都是无感知的。由于第一回复消息与第一通知消息构成对话关联,第一终端设备100A如果已删除第一通知消息,则在接收到第一回复消息后,可以不显示第一回复消息,仅底层调用回复函数,执行一次消息回复逻辑。
在一些实现方式中,在对第一通知消息的消息内容进行备份,得到备份消息后,可以为第一通知消息的消息内容设置源标识,为备份消息设置备份标识,这样,第一终端设备通过识别源标识和备份标识,即可准确区分第一通知消息和备份消息。第一通知消息的消息内容保存在存储器中与应用关联的存储路径中,备份消息则缓存在缓冲器中(例如cache)。第一终端设备响应于删除第一通知消息的操作,从指定的存储路径中查找到具有源标识和第一消息标识的第一通知消息的消息内容,并删除该第一通知消息的消息内容。第一终端设备在接收第二指令后,可以从缓冲器中查找到具有备份标识和第一消息标识的备份消息,并删除备份消息,从而释放缓存资源。
在一些实现方式中,可以为第一通知消息对应的第一映射关系设置源标识,为第一通知消息对应的第二映射关系设置备份标识,这样,第一终端设备通过识别源标识和备份标识,即可准确区分第一映射关系和第二映射关系。第一映射关系保存在存储器中与应用关联的存储路径中,第二映射关系则缓存在缓冲器中(例如cache)。第一终端设备响应于删除第一通知消息的操作,从指定的存储路径中查找到具有源标识和第一消息标识的第一映射关系,并删除该第一映射关系。第一终端设备在接收第二指令后,可以从缓冲器中查找到具有备份标识和第一消息标识的第二映射关系,并删除第二映射关系,从而释放缓存资源。
第二终端设备100B发送第一回复消息后,被回复的第一通知消息转变为非活跃状态,因此第二终端设备100B可以删除第一通知信息和第二通知信息,并可以在接收到第一终端设备100A发送的回复成功信息时,提示消息回复成功。
在一些实现方式中,第一终端设备100A在接收第二指令后,删除备份消息的消息内容,或者删除第一通知消息对应的第二映射关系,由于第一终端设备100A不会通知第一回复消息,因此第一终端设备100A也可一并删除第一回复消息的消息内容,从而降低存储资源的消耗。
在一些实现方式中,步骤S86之后,该方法还包括:在第一输入框中的光标被取消激活时,第一终端设备接收第二终端设备发送的第一回复消息和第三指令;第一终端设备在接收第三指令后,如果已根据第一回复消息完成对备份消息的回复,删除备份消息;如果未根据第一回复消息完成对备份消息的回复,则在根据第一回复消息完成对备份消息的回复时,删除备份消息。第一终端设备同时接收到第一回复消息和第三指令,需要先利用第一回复消息完成对备份消息的回复,之后再删除备份消息。这样,避免了第一终端设备未完成回复处理时,由于提前删除了备份消息而导致的消息回复失败问题,并且使第一终端设备及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,基于图8所示的方法流程图,在步骤S103中,第二终端设备在第一通知消息的第一输入框中的光标被激活时,还可以启动计时器开始计时。
可以理解的是,第二终端设备100B在第一输入框411中的光标被激活时,即确定第一通知消息转变为活跃状态,表明用户准备输入对第一通知消息的回复内容。在此活跃状态下,若用户迟迟不通过第一输入框411输入对第一通知消息的回复内容,则可能产生回复超时问题。因此第二终端设备100B在第一输入框的光标被激活时,可以启动计时器,开始计时。计时的目的在于通过比较计时器的计时时间和预设时间阈值,来确定是否回复超时,其中预设时间阈值用于表征在第一输入框411内的字符为空时,允许保持活跃状态的最大时长。
在步骤S85之后,该方法还可以包括:第二终端设备在接收到第一删除指令时,可以获取计时器当前的计时时间和用户在第一输入框411中输入的第一回复消息,第一回复消息可能是为空信息或非空信息;如果计时时间大于或等于预设时间阈值,并且第一回复消息为空信息,第二终端设备向第一终端设备发送第二指令,并删除第一通知消息。
如果计时时间大于或等于预设时间阈值,并且第一回复消息为空信息,表明在预设时间阈值内用户未在第一输入框411内输入任何字符,存在回复超时,则第二终端设备可以将第一输入框411中的光标取消激活。在光标被取消激活后,第二终端设备向第一终端设备发送第二指令,第二指令中可以携带第一通知消息的第一消息标识。并且第二终端设备在先已接收到第一终端设备发送的第一删除指令,则在光标被取消激活后,还要删除第一通知消息,实现两端设备同步删除第一通知消息。
在一种实现方式中,如果计时时间大于或等于预设时间阈值,并且第一回复消息为空信息,第二终端设备的处理器可以控制通知管理器将第一输入框411的光标取消激活,使该光标变为非激活状态,例如可以使第一输入框411中不显示光标,或者关闭图4中的回复子窗口41等。通知管理器在将第一输入框411的光标变为非激活状态后,删除第一通知消息的活跃状态标识。第二终端设备的处理器在第一通知消息中的活跃状态标识被删除后,则基于第二终端设备与第一终端设备的通信连接,向第一终端设备发送第二指令。或者,通知管理器也可在删除活跃状态标识后,请求处理器向第一终端设备发送第二指令。
如果计时时间大于或等于预设时间阈值,并且第一回复消息为非空信息,则可能存在至少以下两种情况下:
第一种情况:第一回复消息输入完毕后,用户选择发送第一回复消息。
第二种情况,如图10所示,用户已输入部分回复内容,例如在第一输入框411中已输入“6点,”但未发送该第一回复消息。
针对第二种情况,用户可以执行清空第一回复消息的操作,例如:用户此后长按或多次点击电子键盘42中的第二删除按钮422;或者,在第二终端设备显示回复子窗口41时,用户点击回复按钮211。在将第一输入框411中已输入的第一回复消息清空后,则第一回复消息将会从非空信息变为空信息。此时第一输入框411的光标可以保持激活状态,电子键盘42保持显示状态。
在一些实现方式中,基于图8所示的方法流程图,在步骤S87之前,该方法还可以包括:第二终端设备响应于用户清空第一回复消息的操作,如果在先已接收第一终端设备发送的第一删除指令,则向第一终端设备发送第二指令,并删除第一终端设备同步的第一通知消息。
第二终端设备响应于用户清空第一回复消息的操作,如果在先已接收第一终端设备发送的第一删除指令,第二终端设备可以将第一输入框411中的光标取消激活。在光标被取消激活后,第二终端设备向第一终端设备发送第二指令,第二指令中可以携带第一通知消息的第一消息标识。并且第二终端设备在先已接收到第一终端设备发送的第一删除指令,则在光标被取消激活后,还要删除第一通知消息,实现两端设备同步删除第一通知消息。第二终端设备还可以将第一通知消息对应的第二消息通知弹窗21b从第二通知中心页面20b中删除。
在一些实现方式中,第二终端设备响应于清空第一回复消息的操作,如果在先已接收第一删除指令,则可以删除第一回复消息,控制通知管理器将第一输入框411的光标取消激活,使该光标变为非激活状态,例如可以使第一输入框411中不显示光标,或者关闭图4中的回复子窗口41等。通知管理器在将第一输入框411的光标变为非激活状态后,删除第一通知消息的活跃状态标识。第二终端设备的处理器在第一通知消息中的活跃状态标识被删除后,则基于第二终端设备与第一终端设备的通信连接,向第一终端设备发送第二指令。或者,通知管理器也可在第一输入框中的光标被取消激活或者删除活跃状态标识后,请求处理器向第一终端设备发送第二指令。
在一些实现方式中,在步骤S87之前,该方法还可以包括:第二终端设备响应于清空第一回复消息的操作,如果在先未接收到第一终端设备发送的第一删除指令,使第一输入框411中的光标保持激活状态。即可以不立即将第一通知消息转变为非活跃状态,而保持活跃状态,并存储第一回复消息。此时第一回复消息为空信息,第二终端设备100B处于回复等待状态。用户清空第一输入框411中已输入的第一回复消息后,可重新输入第一回复消息,实现对回复内容的修改。第二终端设备100B可以根据用户的信息输入操作,动态更新并存储第一回复消息。
在一些实现方式中,在步骤S87之前,该方法还可以包括:第二终端设备响应于清空第一回复消息的操作,如果在先未接收到第一终端设备发送的第一删除指令,使第一输入框411中的光标保持激活状态,重新启动计时,以检测在预设时间阈值内是否获取到用户重新输入的第一回复消息。其中,重新启动计时是指对计时器进行清零后再计时,在用户实际回复操作中,可能反复多次地清空及重新输入新的第一回复消息,每次清空第一回复消息时可以对计时器进行清零后再重新计时。若计时时间大于预设时间阈值时,第一回复消息仍为空信息,即回复等待超时,则第二终端设备100B可以终止回复等待状态,删除第二终端设备存储的第一回复消息,将第一输入框411中的光标取消激活,向第一终端设备100A发送第二指令,第二终端设备100B不删除本端存储的第一通知消息的同步消息。第一终端设备100A在接收第二指令后,仅删除备份消息的消息内容,第一终端设备存储的第一通知消息(源消息)的消息内容未被删除。或者,第一终端设备100A删除第一通知消息(源消息)对应的第二映射关系,第一通知消息(源消息)对应的消息内容和第一映射关系未删除。
在一些实现方式中,用户在清空第一回复消息后,可能会执行第二操作,第二操作是用户将第一输入框411中的光标变换为非激活状态的操作,例如用户关闭电子键盘42,或者用户点击回复子窗口41的外部区域,或者用户将第一通知消息对应的第二消息通知弹窗21b从第二通知中心页面20b中删除,或者退出第二通知中心页面20b等,使第一输入框411不再具有光标焦点。在用户清空第一输入框中的第一回复消息后,第二终端设备100B响应于用户在清空第一回复消息后输入的第二操作,可以终止回复等待状态,删除第二终端设备存储的第一回复消息,将第一输入框411中的光标取消激活,向第一终端设备100A发送第二指令。
在一些实现方式中,如果用户清空第一回复消息S1后,重新输入了新的第一回复消息S2,第二终端设备响应于发送第一回复消息S2的操作,将第一回复消息S2发送给第一终端设备,将第一输入框411中的光标取消激活,在光标被取消激活后,第二终端设备向第一终端设备发送第二指令。
在一些实现方式中,在步骤S84之后,如果第一终端设备未接收到删除第一通知消息的操作(即第一操作),则第二终端设备不会接收到第一删除指令。这样,第一终端设备如果接收到第二终端设备发送的第一通知消息,根据第一通知消息和第一回复消息进行回复,不使用备份消息。第一终端设备在接收到第二指令后,删除备份消息。
第一输入框411可以通过用户输入的第一回复消息(空或非空)、第一输入框411中的光标显示状态(激活或未激活)、用户回复动作(例如回复超时、清空信息、发送信息等)、第一终端设备100A是否反馈第一删除指令等判别条件,确定第一通知消息为活跃状态还是非活跃状态。第二终端设备100B在第一输入框411中的光标被激活时,识别第一通知消息变为活跃状态,如果第二终端设备100B接收到第一终端设备100A发送的第一删除指令,暂不删除第一通知消息,相当于延长了第一通知消息在第二终端设备100B的生命周期。第二终端设备100B在第一通知消息由活跃状态变为非活跃状态时,删除第一通知消息,这样第一通知消息在第二终端设备100B中不再存续,第一通知消息的生命周期结束。
第二终端设备接收到第一删除指令时,如果第一通知消息为非活跃状态,则立即删除第一通知消息。第二终端设备接收到第一删除指令时,如果第一通知消息为活跃状态,则第一通知消息的生命周期最多可延长从活跃状态到非活跃状态的持续时间。
第二终端设备100B对第一通知消息进行状态监控,在监控到活跃状态时向第一终端设备100A发送第一指令,在监控到非活跃状态时向第一终端设备100A发送第二指令,实现第一终端设备100A根据第一指令和第二指令,控制第一通知消息的备份缓存和备份删除,并且即便第一终端设备100A删除第一通知消息的消息内容或第一映射关系,也能根据备份消息,调用回复函数,触发消息回复逻辑,实现有效回复,从而规避第二终端设备100B呈现的消息回复异常的状态,提升用户对消息同步功能的使用体验。
在一些实现方式中,如果第一终端设备100A与第二终端设备100B建立蓝牙连接,第一终端设备100A接收到第一指令,根据第一通知消息生成并缓存对应的备份消息之后,若第一终端设备100A和第二终端设备100B中任意一端的蓝牙功能被关闭,两者之间的蓝牙连接断开,导致第一终端设备100A无法接收到第二指令,或者第二指令接收延迟,备份消息被滞留在cache中,无法按照正常时序删除,因此第一终端设备100A在与第二终端设备100B的蓝牙连接断开时,清除cache中缓存的备份消息,可以删除备份消息的消息内容,或者可以删除第一通知消息对应的第二映射关系。
在一些实现方式中,如果第一终端设备100A与第二终端设备100B建立基于网络的通信连接,第一终端设备100A接收到第一指令,根据第一通知消息生成并缓存备份消息之后,若第一终端设备100A和第二终端设备100B中任意一端突变为未连接网络状态,两者之间的通信连接断开,导致第一终端设备100A无法接收到第二指令,或者第二指令接收延迟,备份消息被滞留在cache中,无法按照正常时序删除,因此第一终端设备100A在与第二终端设备100B的网络连接断开时,清除cache中缓存的备份消息。
在一些实现方式中,第一终端设备100A接收到第一指令,根据第一通知消息生成并缓存备份消息之后,第一终端设备100A若接收到关机指令,清除cache中缓存的备份消息。
基于以上第一终端设备100A和第二终端设备100B的交互逻辑,图15提供一种由第一终端设备100A执行的消息同步方法的流程图。
如图11所示,该消息同步方法包括如下步骤:
步骤S111,第一终端设备接收并显示第一通知消息,将第一通知消息发送给第二终端设备。
步骤S112,第一终端设备接收第二终端设备发送的第一指令,生成第一通知消息的备份消息,并缓存备份消息。
其中,第一指令是第二终端设备100B响应于回复第一通知消息的操作后发送的。回复第一通知消息的操作用于触发第一输入框411的光标被激活,例如可以为:用户点击回复按钮211,第一终端设备响应于用户点击回复按钮211的操作,显示回复子弹窗41时,自动激活第一输入框411的光标,并显示电子键盘42。或者,第二终端设备响应于用户点击回复按钮211的操作,显示回复子弹窗41时,不自动激活第一输入框411的光标,不显示电子键盘42,则第一通知消息的操作可以为:用户点击第一输入框411的操作。第二终端设备100B在第一输入框411中的光标被激活时,向第一终端设备100A发送第一指令。
步骤S113,第一终端设备是否接收到第二终端设备发送的第一回复消息。
若第一终端设备接收到第二终端设备发送的第一回复消息,则执行步骤S114~步骤S117;若第一终端设备未接收到第二终端设备发送的第一回复消息,则执行步骤S117。
步骤S114,确定用户在先是否执行过删除第一通知消息的操作。
如果用户在先未执行过删除第一通知消息的操作,执行步骤S115;如果用户在先执行过删除第一通知消息的操作,执行步骤S116。
步骤S115,根据第一回复消息和第一通知消息进行回复。
步骤S116,根据第一回复消息和备份消息进行回复。
步骤S117,第一终端设备接收第二终端设备发送的非第一指令,删除备份消息。其中,非第一指令是第二终端设备100B在满足结束回复条件时发送的,即前述第二指令。结束回复条件的判别方式请参照前述交互流程中的相关描述,这里不再赘述。
第二终端设备在满足任意一种结束回复条件时,控制通知管理器将第一输入框的光标取消激活,使该光标变为非激活状态,并删除第一通知消息中的活跃状态标识。第二终端设备的处理器在活跃状态标识被删除时,或者接收到通知管理器发送的第二请求时,则向第一终端设备发送第二指令。
基于以上第一终端设备100A和第二终端设备100B的交互逻辑,图12提供一种由第二终端设备100B执行的消息同步方法的流程图。
如图12所示,消息同步该方法包括如下步骤:
步骤S121,第二终端设备接收并显示第一终端设备发送的第一通知消息。
步骤S122,第二终端设备响应于用户回复第一通知消息的操作,向第一终端设备发送第一指令。第一指令用于指示第一终端设备生成第一通知消息的备份消息并缓存。
步骤S123,第二终端设备获取用户输入的第一回复消息。
步骤S124,第二终端设备是否接收到用户发送第一回复消息的操作。若第二终端设备接收到用户发送第一回复消息的操作,则执行步骤S125和步骤S126;若第二终端设备未接收到用户发送第一回复消息的操作,执行步骤S126。
步骤S125,第二终端设备将第一回复消息发送给第一终端设备。
步骤S126,第二终端设备在满足结束回复条件时,向第一终端设备发送非第一指令。非第一指令用于指示第一终端设备删除备份消息。
图13示例第一终端设备100A的软件架构图,包括第一处理层、第一中间层和第一传输层。第一终端设备100A开启消息同步功能,并且第一终端设备100A与第二终端设备100B建立通信连接后,由第一处理层完成消息到达、消息流转、消息删除和回复处理等环节。
第一处理层获取应用服务器推送的第一通知消息,即第一通知消息到达第一终端设备;然后第一处理层通过第一中间层的接续框架,调用第一传输层的Wi-Fi或蓝牙等传输信道,将第一通知消息发送给第二终端设备,从而将第一通知消息从第一终端设备流转到第二终端设备;第一处理层还用于通过第一传输层和第一中间层,接收第二终端设备发送的第一指令,生成第一通知消息的备份消息并缓存;第一处理层响应于用户删除第一通知消息的操作,将第一通知消息删除,并通过第一中间层和第一传输层,向第二终端设备发送第一删除指令;第一处理层还用于通过第一传输层和第一中间层,接收第二终端设备发送的第一回复消息,并根据本端在先是否接收到删除第一通知消息的操作,利用第一回复消息和第一通知消息或备份消息,完成回复处理,并通过第一中间层和第一传输层,向第二终端设备发送回复成功信息;第一处理层还用于通过第一传输层和第一中间层,接收第二终端设备发送的第二指令,删除备份消息。
在第一终端设备将第一通知消息发送给第二终端设备之后,第一处理层还用于通过第一传输层和第一中间层,接收第二终端设备发送的第二删除指令,删除第一通知消息,第二删除指令是第二终端设备在接收到用户在第二终端设备执行的删除第一通知消息的操作时发送的。第一终端设备可以删除第一通知消息的消息内容或对应的第一映射关系。
图14示例第二终端设备100B的软件架构图,包括第二处理层、第二中间层和第二传输层。第一终端设备100A开启消息同步功能,并且第一终端设备100A与第二终端设备100B建立通信连接后,由第二处理层完成消息提示、消息回复、状态监控及同步、消息删除等环节。
第二终端设备通过第二传输层接收第一终端设备发送的第一通知消息,并通过第一中间层的接续框架将第一通知消息传递给第二处理层,第二处理层可控制显示器显示第一通知消息,同时对第一通知消息进行状态监控。第二处理层在第一输入框中的光标被激活时,即监控到第一通知消息转变为活跃状态,则通过第二中间层和第二传输层向第一终端设备发送第一指令,从而将活跃状态同步给第一终端设备;第二处理层响应于用户发送第一回复消息的操作,通过第二中间层和第二传输层向第一终端设备发送第一回复消息;第二处理层还用于在监控到第一通知消息转变为非活跃状态时,通过第二中间层和第二传输层向第一终端设备发送第二指令,从而将非活跃状态同步给第一终端设备;第二处理层还用于在第一通知消息转变为非活跃状态时,并且在先已接收到第一终端设备发送的第一删除指令,删除第一通知消息。
第二处理层还用于在接收到用户在第二终端设备执行的删除第一通知消息的操作时,删除第二终端设备存储的第一通知消息,并通过第二中间层和第二传输层向第一终端设备发送第二删除指令,以使第一终端设备在接收到第二删除指令后,同步删除第一通知消息。也就是说,对于第一终端设备同步给第二终端设备的通知消息,第一终端设备和第二终端设备都可单独删除该通知消息,并通知对端设备也删除该通知消息,保证两端设备的消息同步。
上述本申请提供的实施例对本申请提供的消息同步方法的各方案进行了介绍。可以理解的是,终端设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图15是本申请实施例提供的一种消息同步装置的结构示意图。在一些实现方式中,终端设备可以通过图15所示的硬件装置实现相应的功能。如图15所示,该消息同步装置可以包括:触控屏151、存储器152和处理器153。
在一些实现方式中,触控屏151可以包括显示屏和触摸传感器,其中,显示屏用于显示图像,触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型,通过显示屏提供与触摸操作相关的视觉输出。处理器153可以包括一个或多个处理单元,例如:处理器153可以包括应用处理器,调制解调处理器,图形处理器,图像信号处理器,控制器,视频编解码器,数字信号处理器,基带处理器,和/或神经网络处理器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。存储器152与处理器153耦合,用于存储各种软件程序和/或多组指令,存储器152可包括易失性存储器和/或非易失性存储器。
当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第一终端设备100A实现如下方法步骤:第一终端设备接收第一通知消息;第一终端设备所显示第一通知消息;第一终端设备将第一通知消息发送给第二终端设备,第一终端设备和第二终端设备登录同一个账号;用户在第二终端设备执行回复第一通知消息的操作时,第一终端设备接收第二终端设备发送的第一指令;第一终端设备在接收第一指令后,生成第一通知消息对应的备份消息,并缓存备份消息;第一终端设备响应于删除第一通知消息的操作,删除第一通知消息,向第二终端设备发送第一删除指令;第一终端设备接收到第二终端设备发送的第一回复消息时,根据第一回复消息对备份消息进行回复。这样,第二终端设备在接收到回复第一通知消息的操作时,即监控到第一通知消息进入活跃状态,向第一终端设备发送第一指令,以使第一终端设备对第一通知消息进行备份缓存,得到备份消息,这样即便第一终端设备删除了第一通知消息,仍然可利用备份消息与第一回复消息执行一次有效的回复处理,从而解决在第一终端设备删除了正在被第二终端设备回复的通知消息时,第二终端设备呈现出的消息回复异常问题,提升用户对消息同步功能的使用体验。此外,第一终端设备通过发送第一删除指令,指示第二终端设备也删除第一通知消息,实现第一终端设备和第二终端设备之间的消息同步。
在一些实现方式中,当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第一终端设备100A还实现如下方法步骤:第一终端设备根据第一回复消息对备份消息进行回复之后,向第二终端设备发送回复成功信息;第一终端设备接收第二终端设备发送的第二指令;第一终端设备在接收第二指令后,删除备份消息。该实现方式中第一终端设备在完成回复处理后,可向第二终端设备发送回复成功信息,这样,第二终端设备接收到回复成功信息,不会呈现出消息回复异常状态,还可在第二终端设备向用户提示消息回复成功。此外,第二终端设备在接收回复成功信息之后,再向第一终端设备发送第二指令,能够避免因备份消息被提前删除导致消息回复失败的问题,并且使第一终端设及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第一终端设备100A还实现如下方法步骤:第一终端设备在缓存备份消息之后,在第二终端设备的第一输入框中的光标被取消激活时,第一终端设备接收第二终端设备发送的第二指令,第一输入框是第二终端设备中第一回复消息的输入框;第一终端设备在接收第二指令后,删除备份消息。该实现方式中,如果第二终端设备存在回复超时或清空回复信息等情况,可能导致第二终端设备未向第一终端设备发送第一回复消息,而是在第一输入框的光标被取消激活时直接发送第二指令。这样,第一终端设备在接收到第二指令后,及时删除备份信息,释放被占用的缓存,并且不执行回复处理。
在一些实现方式中,当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第一终端设备100A还实现如下方法步骤:第一终端设备在缓存备份消息之后,在第一输入框中的光标被取消激活时,第一终端设备接收第二终端设备发送的第一回复消息和第三指令;第一终端设备在接收第三指令后,如果已根据第一回复消息完成对第一通知消息或备份消息的回复,删除备份消息;如果未根据第一回复消息完成对备份消息的回复,则在根据第一回复消息完成对备份消息的回复时,删除备份消息。该实现方式中第一终端设备同时接收到第一回复消息和第三指令,需要先利用第一回复消息完成对备份消息的回复,之后再删除备份消息。这样,避免了第一终端设备未完成回复处理时,由于提前删除了备份消息而导致的消息回复失败问题,并且使第一终端设备及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,第一指令携带第一消息标识,第一消息标识为第一通知消息对应的消息标识。当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第一终端设备100A具体实现如下方法步骤:第一终端设备根据第一消息标识,查找第一通知消息的消息内容;第一终端设备对第一通知消息的消息内容进行备份,得到备份消息;第一终端设备缓存备份消息以及备份消息与第一消息标识的对应关系。这样,备份消息与第一通知消息具有相同的消息内容,第一终端设备可以通过第一消息标识快速且精准地查找到对应的备份消息,从而根据第一回复消息和备份消息完成回复处理,解决了因第一通知消息被第一终端设备删除时导致的第二终端设备出现消息回复异常的问题。
在一些实现方式中,当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第一终端设备100A还实现如下方法步骤:在第一终端设备接收到第二终端设备发送的第一回复消息之前,第一终端设备响应于用户在第一终端设备执行的删除第一通知消息的操作,根据第一消息标识,查找第一通知消息的消息内容;第一终端设备删除第一通知消息的消息内容。这样,如果用户在第一终端设备侧删除第一通知消息,第一终端设备可以删除第一通知消息的消息内容,不删除备份消息,以保证在接收到第一回复消息时,能够根据第一回复消息和备份消息完成回复处理,从而解决第二终端设备的消息回复异常问题。
在一些实现方式中,第二指令携带第一消息标识。当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第一终端设备100A具体实现如下方法步骤:第一终端设备在接收第二指令后,根据第一消息标识,查找第一消息标识对应的备份消息;第一终端设备删除备份消息。这样,第一终端设备在接收到第二指令后,通过第一消息标识可以快速且精确地查找到对应的备份消息,实现在结束对第一通知消息的回复后,第一终端设备及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第一终端设备100A还实现如下方法步骤:第一终端设备接收第一通知消息后,存储第一通知消息的消息内容,并获取第一通知消息的消息内容在第一终端设备中的第一存储地址;第一终端设备建立第一消息标识与第一存储地址之间的第一映射关系,第一消息标识为第一通知消息对应的消息标识;第一终端设备存储第一映射关系。这样,第一终端设备可以通过第一消息标识和第一映射关系,快速且精准地获取第一通知消息的消息内容。
在一些实现方式中,第一指令携带第一消息标识。当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第一终端设备100A具体实现如下方法步骤:第一终端设备在接收第一指令后,根据第一映射关系查询第一消息标识对应的第一存储地址;第一终端设备建立第一消息标识与第一存储地址之间的第二映射关系;第一终端设备缓存第二映射关系。这样,第一终端设备可以通过第一消息标识和第二映射关系快速且精准地获取对应的备份消息,从而根据第一回复消息和备份消息完成回复处理,解决了因第一通知消息被第一终端设备删除时导致的第二终端设备出现消息回复异常的问题。此外,相较于对第一通知消息的消息内容进行备份得到的备份消息,以第二映射关系来映射获取备份消息的方式可以降低缓存消耗。
在一些实现方式中,当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第一终端设备100A还实现如下方法步骤:在第一终端设备接收第二终端设备发送的第一回复消息之前,第一终端设备响应于用户在第一终端设备执行的删除第一通知消息的操作,根据第一消息标识,查找第一映射关系;第一终端设备删除第一映射关系,不删除第二映射关系和第一通知消息的消息内容;第一终端设备向第二终端设备发送第一删除指令,第一删除指令用于指示第二终端设备删除第一通知消息。这样,如果用户在第一终端设备侧删除第一通知消息,第一终端设备仅删除第一映射关系,第二映射关系和第一通知消息的内容保留,使得第一终端设备能够通过第二映射关系获取到备份消息,从而根据第一回复消息和备份消息完成回复处理,解决了因第一通知消息被第一终端设备删除时导致的第二终端设备出现消息回复异常的问题。此外,第一终端设备通过发送第一删除指令,指示第二终端设备也删除第一通知消息,实现第一终端设备和第二终端设备之间的消息同步。
在一些实现方式中,第二指令携带第一消息标识。当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第一终端设备100A具体实现如下方法步骤:第一终端设备在接收第二指令后,根据第一消息标识,查找第二映射关系;第一终端设备删除第二映射关系。该实现方式中在第二终端设备结束对第一通知消息的回复时,第一终端设备在接收第二指令后,通过第一信息标识,快速准确地查找到对应的第二映射关系,并将第二映射关系删除。这样,第一终端设备无法通过第二映射关系映射获取和使用到备份消息,从而删除了备份消息,以释放备份消息占用的缓存。
在一些实现方式中,第二指令携带第一消息标识。当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第一终端设备100A还实现如下方法步骤:第一终端设备在删除第一映射关系和第二映射关系后,删除第一通知消息的消息内容,以及删除第一回复消息的消息内容。这样,在第一映射关系和第二映射关系都被删除后,第一终端设备默认无应用使用第一通知消息,则可以将第一通知消息的消息内容删除,并且将第一回复消息的消息内容一并删除,从而降低存储资源的消耗。
基于图15示例的消息同步装置中触控屏151、存储器152和处理器153的硬件配置,当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第二终端设备100B实现如下方法步骤:第二终端设备接收第一终端设备发送的第一通知消息,显示第一通知消息;第二终端设备响应于用户回复第一通知消息的操作,向第一终端设备发送第一指令;第二终端设备获取用户输入的第一回复消息;第二终端设备接收第一终端设备发送的第一删除指令,不删除第一通知消息;第二终端设备响应于用户发送第一回复消息的操作,向第一终端设备所述第一回复消息,删除第一通知消息。这样,第二终端设备在用户回复第一通知消息时,向第一终端设备发送第一指令,使得第一终端设备在已删除第一通知消息的情况下,仍然可利用备份消息和第一回复消息,执行一次有效的回复处理,从而解决在第一终端设备删除了正在被第二终端设备回复的通知消息的场景下,第二终端设备呈现出的消息回复异常的状态,提升用户对消息同步功能的使用体验。并且,第二终端设备在回复第一通知消息的情况下,如果接收到第一终端设备发送的第一删除指令,也不会删除第一通知消息,以保证用户输入第一回复消息的操作过程不受干扰,在向第一终端设备发送第一回复消息后,第二终端设备结束消息回复,则删除第一通知消息,实现消息同步。
在一些实现方式中,当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第二终端设备100B具体实现如下方法步骤:第二终端设备响应于用户在第二终端设备上执行的回复第一通知消息的操作,激活第一输入框中的光标;其中,第一输入框是第二终端设备中第一回复消息的输入框;第二终端设备在第一输入框中的光标被激活时,向第一终端设备发送第一指令。这样,在第一输入框中的光标被激活时,表明用户已准备开始通过第一输入框输入第一回复消息,此时第二终端设备不会删除第一通知消息,并通过发送第一指令,触发第一终端设备对第一通知消息进行备份缓存,从而解决第二终端设备因第一终端删除第一通知消息而导致的消息回复异常问题。
在一些实现方式中,当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第二终端设备100B还实现如下方法步骤:第二终端设备接收第一终端设备发送的第一删除指令后,如果第一输入框中的光标未被激活,第二终端设备删除第一通知消息;如果第一输入框中的光标已被激活,第二终端设备在光标被取消激活时,删除第一通知消息。这样,第二终端设备接收到第一删除指令时,通过第一输入框的光标是否已被激活,确定是立即删除第一通知消息或是延迟删除第一通知消息,从而在不影响用户回复消息的情况下,实现第一终端设备与第二终端设备的消息同步。
在一些实现方式中,当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第二终端设备100B还实现如下方法步骤:在第二终端设备向第一终端设备发送第一回复消息之后,第二终端设备将第一输入框中的光标取消激活,并向第一终端设备发送第二指令。这样,第二终端设备发送第一回复消息后,默认已完成对第一通知消息的回复,因此满足结束回复条件,在取消激活第一输入框中的光标后,可以向第一终端设备发送第二指令,以使第一终端设备删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第二终端设备100B具体实现如下方法步骤:第二终端设备响应于用户在第二终端设备上执行的发送第一回复消息的操作,将第一输入框中的光标取消激活,并向第一终端设备发送第一回复消息和第三指令。该实现方式中,在第二终端设备取消激活第一输入框的光标后,第一终端设备可以同时接收到第一回复消息和第三指令,并先利用第一回复消息完成对第一通知消息或备份消息的回复,之后再删除备份消息。这样,避免了第一终端设备未完成回复处理时,由于提前删除了备份消息而导致的消息回复失败问题,并且使第一终端设备及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,当存储器152中的软件程序和/或多组指令被处理器153执行时,使得第二终端设备100B还实现如下方法步骤:在第二终端设备向第一终端设备发送第一回复消息之后,第二终端设备将第一输入框中的光标取消激活;第二终端设备在接收到第一终端设备发送的回复成功信息后,向第一终端设备发送第二指令。该实现方式中第一终端设备在完成回复处理后,可向第二终端设备发送回复成功信息,这样,第二终端设备接收到回复成功信息,不会呈现出消息回复异常状态,还可在第二终端设备向用户提示消息回复成功。此外,第二终端设备在接收回复成功信息之后,再向第一终端设备发送第二指令,能够避免因备份消息被提前删除导致消息回复失败的问题,并且使第一终端设及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,存储器152中的软件程序和/或多组指令被处理器153执行时,使得第二终端设备100B还实现如下方法步骤:第二终端设备在第一输入框中的光标被激活时,启动计时器并开始计时;第二终端设备在计时时间大于或等于预设时间阈值,并且第一回复消息为空信息时,将第一输入框中的光标取消激活,并向第一终端设备发送第二指令。该实现方式中,如果在预设时间阈值内用户未输入回复内容(即产生回复超时),则第二终端设备向第一终端设备发送第二指令,这样,由于第一终端设备未接收到第一回复消息,因此不执行回复处理,则直接删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,存储器152中的软件程序和/或多组指令被处理器153执行时,使得第二终端设备100B还实现如下方法步骤:在第二终端设备向第一终端设备发送第一回复消息之前,第二终端设备响应于用户在第二终端设备执行的清空第一回复消息的操作,如果在先接收到第一删除指令,则将第一输入框中的光标取消激活,并向第一终端设备发送第二指令;第二终端设备如果在先未接收到第一删除指令,获取用户重新输入的第一回复消息。该实现方式中用户可能输入部分回复内容后,又将回复内容都清空,由于第一回复消息所针对的回复对象为第一通知消息,作为源消息的第一通知消息已被第一终端设备删除,并且第一终端设备已指示第二终端设备也删除第一通知消息,因此第二终端设备可以向第一终端设备发送第二指令,以释放第一终端设备中被备份消息占用的缓存。若第一通知消息未被第一终端设备删除,并且第一回复消息被清空,则第二终端设备可以获取用户重新输入的第一回复消息,实现对回复内容的重新校正。
在一些实现方式中,存储器152中的软件程序和/或多组指令被处理器153执行时,使得第二终端设备100B还实现如下方法步骤:在第二终端设备向第一终端设备发送第一回复消息之前,第二终端设备在第一输入框中的光标被激活时,启动计时器并开始计时;第二终端设备在计时时间大于或等于预设时间阈值,并且第一回复消息为非空信息时,保持第一输入框中的光标的激活状态;第二终端设备响应于用户在第二终端设备执行的清空第一回复消息的操作,如果在先未接收到第一删除指令,则将计时器清零后重新计时,并获取用户重新输入的第一回复消息。这样,第二终端设备可以在用户清空第一回复信息时,将计时器清零,然后使计时器重新计时,以检测在预设时间阈值内用户是否重新输入第一回复消息,即检测是否再次产生回复超时问题。
图16是本申请实施例提供的第二种消息同步装置的结构示意图。在一些实现方式中,第一终端设备100A可通过图16所示的软件装置实现相应的功能。如图16所示,该消息同步装置可以包括:第一消息接收模块161、第一消息显示模块162、第一消息发送模块163、第一指令接收模块164、备份缓存模块165、第一消息删除模块166、第一指令发送模块167和消息回复模块168。其中:第一消息接收模块161,用于接收第一通知消息;第一消息显示模块162,用于显示第一通知消息;第一消息发送模块163,用于将第一通知消息发送给第二终端设备,第一终端设备和第二终端设备登录同一个账号;第一指令接收模块164,用于用户在第二终端设备执行回复第一通知消息的操作时,接收第二终端设备发送的第一指令;第一消息删除模块166,用于响应于删除第一通知消息的操作,删除第一通知消息;第一指令发送模块167用于在第一消息删除模块166删除第一通知消息后,向第二终端设备发送第一删除指令;第一消息接收模块161,还用于接收第二终端设备发送的第一回复消息;消息回复模块168,用于根据第一回复消息对备份消息进行回复。
这样,第二终端设备在接收到回复第一通知消息的操作时,即监控到第一通知消息进入活跃状态,向第一终端设备发送第一指令,以使第一终端设备对第一通知消息进行备份缓存,这样即便第一终端设备删除了第一通知消息,仍然可利用备份消息,来执行一次有效的回复处理,从而解决在第一终端设备删除了正在被第二终端设备回复的通知消息时,第二终端设备呈现出的消息回复异常问题,提升用户对消息同步功能的使用体验。此外,第一终端设备通过发送第一删除指令,指示第二终端设备也删除第一通知消息,实现第一终端设备和第二终端设备之间的消息同步。
在一些实现方式中,该消息同步装置还可以包括备份消息删除模块。在消息回复模块168根据第一回复消息对备份消息进行回复之后,第一消息发送模块163还用于向第二终端设备发送回复成功信息。第一指令接收模块164,还用于接收第二终端设备发送的第二指令。备份消息删除模块,用于在第一指令接收模块164接收到第二指令后,删除备份消息。该实现方式中第一终端设备在完成回复处理后,可向第二终端设备发送回复成功信息,这样,第二终端设备接收到回复成功信息,不会呈现出消息回复异常状态,还可在第二终端设备向用户提示消息回复成功。此外,第二终端设备在接收回复成功信息之后,再向第一终端设备发送第二指令,能够避免因备份消息被提前删除导致消息回复失败的问题,并且使第一终端设及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,在备份缓存模块165缓存备份消息之后,第一指令接收模块164,还用于在第二终端设备的第一输入框中的光标被取消激活时,接收第二终端设备发送的第二指令,第一输入框是第二终端设备中第一回复消息的输入框。备份消息删除模块,用于在第一指令接收模块164接收到第二指令后,删除备份消息。该实现方式中,如果第二终端设备存在回复超时或清空回复信息等情况,可能导致第二终端设备未向第一终端设备发送第一回复消息,而是在第一输入框的光标被取消激活时直接发送第二指令。这样,第一终端设备接收到第二指令,及时删除备份信息,释放被占用的缓存,并且不执行回复处理。
在一些实现方式中,该消息同步装置还可以包括同步接收模块。在备份缓存模块165缓存备份消息之后,同步接收模块,用于在第一输入框中的光标被取消激活时,接收第二终端设备发送的第一回复消息和第三指令。备份消息删除模块还用于:在第一指令接收模块164接收到第三指令后,如果消息回复模块168已根据第一回复消息完成对备份消息的回复,删除备份消息;如果消息回复模块168未根据第一回复消息完成对备份消息的回复,则在消息回复模块168根据第一回复消息完成对备份消息的回复时,删除备份消息。该实现方式中第一终端设备同时接收到第一回复消息和第三指令,需要先利用第一回复消息完成对备份消息的回复,之后再删除备份消息。这样,避免了第一终端设备未完成回复处理时,由于提前删除了备份消息而导致的消息回复失败问题,并且使第一终端设备及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,第一指令携带第一消息标识,第一消息标识为第一通知消息对应的消息标识。备份缓存模块165可以包括消息备份子模块和消息缓存子模块。其中,消息备份子模块用于:在第一指令接收模块164接收到第一指令后,根据第一消息标识,查找第一通知消息的消息内容;对第一通知消息的消息内容进行备份,得到备份消息。消息缓存子模块,用于缓存备份消息以及备份消息与第一消息标识的对应关系。这样,备份消息与第一通知消息具有相同的消息内容,第一终端设备可以通过第一消息标识快速且精准地查找到对应的备份消息,从而根据第一回复消息和备份消息完成回复处理,解决了因第一通知消息被第一终端设备删除时导致的第二终端设备出现消息回复异常的问题。
在一些实现方式中,第一消息删除模块166,还用于:响应于用户在第一终端设备执行的删除第一通知消息的操作,根据第一消息标识,查找第一通知消息的消息内容,删除第一通知消息的消息内容。这样,如果用户在第一终端设备侧删除第一通知消息,第一终端设备可以删除第一通知消息的消息内容,不删除备份消息,以保证在接收到第一回复消息时,能够根据第一回复消息和备份消息完成回复处理,从而解决第二终端设备的消息回复异常问题。
在一些实现方式中,第二指令携带第一消息标识。该消息同步装置还可以包括备份消息删除模块。备份消息删除模块,用于在第一指令接收模块164接收到第二指令后,根据第一消息标识,查找第一消息标识对应的备份消息,删除备份消息。这样,第一终端设备在接收到第二指令后,通过第一消息标识可以快速且精确地查找到对应的备份消息,实现在结束对第一通知消息的回复后,第一终端设备及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,该消息同步装置还可以包括消息存储模块、第一映射关系建立模块和第一映射关系存储模块。在第一消息接收模块161接收到第一通知消息后,消息存储模块用于存储第一通知消息的消息内容。第一映射关系建立模块,用于获取第一通知消息的消息内容在消息存储模块中的第一存储地址,并建立第一消息标识与第一存储地址之间的第一映射关系,第一消息标识为第一通知消息对应的消息标识。第一映射关系存储模块,用于存储第一映射关系。这样,第一终端设备可以通过第一消息标识和第一映射关系,快速且精准地获取第一通知消息的消息内容。
在一些实现方式中,备份缓存模块165可以包括第二映射关系建立模块和第二映射关系缓存模块。其中,第二映射关系建立模块,用于在第一指令接收模块164接收第一指令后,根据第一映射关系查询第一消息标识对应的第一存储地址,建立第一消息标识与第一存储地址之间的第二映射关系。第二映射关系缓存模块,用于缓存第二映射关系。这样,第一终端设备可以通过第一消息标识和第二映射关系快速且精准地获取对应的备份消息,从而根据第一回复消息和备份消息完成回复处理,解决了因第一通知消息被第一终端设备删除时导致的第二终端设备出现消息回复异常的问题。此外,相较于对第一通知消息的消息内容进行备份得到的备份消息,以第二映射关系来映射获取备份消息的方式可以降低缓存消耗。
在一些实现方式中,在第一消息接收模块161接收第二终端设备发送的第一回复消息之前,第一消息删除模块还用于:响应于用户在第一终端设备执行的删除第一通知消息的操作,根据第一消息标识,查找第一映射关系,并删除第一映射关系。第二映射关系和第一通知消息的消息内容不被删除。这样,如果用户在第一终端设备侧删除第一通知消息,第一终端设备仅删除第一映射关系,第二映射关系和第一通知消息的内容保留,使得第一终端设备能够通过第二映射关系获取到备份消息,从而根据第一回复消息和备份消息完成回复处理,解决了因第一通知消息被第一终端设备删除时导致的第二终端设备出现消息回复异常的问题。
在一些实现方式中,第二指令携带第一消息标识。备份消息删除模块,用于在第一指令接收模块164接收到第二指令后,根据第一消息标识,查找第二映射关系,并删除第二映射关系。该实现方式中在第二终端设备结束对第一通知消息的回复时,第一终端设备在接收第二指令后,通过第一信息标识,快速准确地查找到对应的第二映射关系,并将第二映射关系删除。这样,第一终端设备无法通过第二映射关系映射获取和使用到备份消息,从而删除了备份消息,以释放备份消息占用的缓存。
在一些实现方式中,该消息同步装置还可以包括消息内容删除模块。消息内容删除模块,用于在第一映射关系和第二映射关系被删除后,删除第一通知消息的消息内容,以及删除第一回复消息的消息内容。这样,在第一映射关系和第二映射关系都被删除后,第一终端设备默认无应用使用第一通知消息,则可以将第一通知消息的消息内容删除,并且将第一回复消息的消息内容一并删除,从而降低存储资源的消耗。
图17是本申请实施例提供的第三种消息同步装置的结构示意图。在一些实现方式中,第二终端设备100B可通过图17所示的软件装置实现相应的功能。如图17所示,该消息同步装置可以包括:第二消息接收模块171、第二消息显示模块172、第二指令发送模块173、回复消息获取模块174、第二指令接收模块175、第二消息删除模块176和第二消息发送模块177。其中:第二消息接收模块171,用于接收第一终端设备发送第一通知消息;第二消息显示模块172,用于显示第一通知消息;第二指令发送模块173,用于响应于用户在第二终端设备上执行的回复第一通知消息的操作,向第一终端设备发送第一指令;回复消息获取模块174,用于获取用户输入的第一回复消息;第二指令接收模块175,用于接收第一终端设备发送的第一删除指令;第二消息删除模块176不删除第一通知消息;第二消息发送模块177,用于响应于用户在第二终端设备上执行的发送第一回复消息的操作,向第一终端设备发送第一回复消息;第二消息删除模块176,还用于响应于用户发送第一回复消息的操作,删除第一通知消息。这样,第二终端设备在用户回复第一通知消息时,向第一终端设备发送第一指令,使得第一终端设备在已删除第一通知消息的情况下,仍然可利用备份消息和第一回复消息,执行一次有效的回复处理,从而解决在第一终端设备删除了正在被第二终端设备回复的通知消息的场景下,第二终端设备呈现出的消息回复异常的状态,提升用户对消息同步功能的使用体验。并且,第二终端设备在回复第一通知消息的情况下,如果接收到第一终端设备发送的第一删除指令,也不会删除第一通知消息,以保证用户输入第一回复消息的操作过程不受干扰,在向第一终端设备发送第一回复消息后,第二终端设备结束消息回复,则删除第一通知消息,实现消息同步。
在一些实现方式中,第二指令发送模块173可以包括光标激活子模块和指令发送子模块。其中:光标激活子模块,用于响应于用户在第二终端设备上执行的回复第一通知消息的操作,激活第一输入框中的光标;指令发送子模块,用于在第一输入框中的光标被激活时,向第一终端设备发送第一指令。这样,在第一输入框中的光标被激活,表明用户已准备开始通过第一输入框输入第一回复消息,此时第二终端设备不会删除第一通知消息,并通过发送第一指令,触发第一终端设备对第一通知消息进行备份缓存,从而解决第二终端设备因第一终端删除第一通知消息而导致的消息回复异常问题。
在一些实现方式中,该消息同步装置还可以包括第二消息删除模块。在第二指令接收模块175接收到第一终端设备发送的第一删除指令后,第二消息删除模块用于:如果第一输入框中的光标未被激活,删除第一通知消息;如果光标第一输入框中的已被激活,则在第一输入框中的光标被取消激活时,删除第一通知消息。这样,第二终端设备接收到第一删除指令时,通过第一输入框的光标是否已被激活,确定是立即删除第一通知消息或是延迟删除第一通知消息,从而在不影响用户回复消息的情况下,实现第一终端设备与第二终端设备的消息同步。
在一些实现方式中,第二指令发送模块173还可以包括取消激活子模块。在第二消息发送模块177向第一终端设备发送第一回复消息之后,取消激活子模块用于将第一输入框中的光标取消激活。指令发送子模块,还用于在第一输入框中的光标被取消激活时,向第一终端设备发送第二指令。这样,第二终端设备发送第一回复消息后,默认已完成对第一通知消息的回复,因此满足结束回复条件,在取消激活第一输入框中的光标后,可以向第一终端设备发送第二指令,以使第一终端设备删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,该消息同步装置还可以包括同步发送模块。取消激活子模块,用于响应于用户在第二终端设备上执行的发送第一回复消息的操作,将第一输入框中的光标取消激活。同步发送模块,用于在到第一输入框中的光标被取消激活时,向第一终端设备发送第一回复消息和第三指令。该实现方式中,在第二终端设备取消激活第一输入框的光标后,第一终端设备可以同时接收到第一回复消息和第三指令,并先利用第一回复消息完成对第一通知消息或备份消息的回复,之后再删除备份消息。这样,避免了第一终端设备未完成回复处理时,由于提前删除了备份消息而导致的消息回复失败问题,并且使第一终端设备及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,第二消息接收模块171,还用于接收第一终端设备发送的回复成功信息。在第二消息发送模块177向第一终端设备发送第一回复消息之后,取消激活子模块用于将第一输入框中的光标取消激活。指令发送子模块,还用于在第一输入框中的光标被取消激活,并且第二消息接收模块171已接收到第一终端设备发送的回复成功信息时,向第一终端设备发送第二指令。该实现方式中第一终端设备在完成回复处理后,可向第二终端设备发送回复成功信息,这样,第二终端设备接收到回复成功信息,不会呈现出消息回复异常状态,还可在第二终端设备向用户提示消息回复成功。此外,第二终端设备在接收回复成功信息之后,再向第一终端设备发送第二指令,能够避免因备份消息被提前删除导致消息回复失败的问题,并且使第一终端设及时删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,该消息同步装置还可以包括计时模块。计时模块,用于在第一输入框中的光标被激活时,启动计时器并开始计时。取消激活子模块,用于在计时时间大于或等于预设时间阈值,并且第一回复消息为空信息时,将第一输入框中的光标取消激活。指令发送子模块,用于在第一输入框中的光标被取消激活时,向第一终端设备发送第二指令。该实现方式中,如果在预设时间阈值内用户未输入回复内容(即产生回复超时),则向第一终端设备发送第二指令,这样,由于第一终端设备未接收到第一回复消息,因此不执行回复处理,则立即删除备份消息,以释放被无效占用的缓存。
在一些实现方式中,在第二消息发送模块177向第一终端设备发送第一回复消息之前,取消激活子模块,用于响应于用户清空第一回复消息的操作,如果第二指令接收模块175在先接收到第一删除指令,将第一输入框中的光标取消激活。指令发送子模块,用于在第一输入框中的光标被取消激活时,向第一终端设备发送第二指令。回复消息获取模块174,还用于如果第二指令接收模块175在先未接收到第一删除指令,获取用户重新输入的第一回复消息。该实现方式中用户可能输入部分回复内容后,又将回复内容都清空,由于第一回复消息所针对的回复对象为第一通知消息,作为源消息的第一通知消息已被第一终端设备删除,并且第一终端设备已指示第二终端设备也删除第一通知消息,因此第二终端设备可以向第一终端设备发送第二指令,以释放第一终端设备中被备份消息占用的缓存。若第一通知消息未被第一终端设备删除,并且第一回复消息被清空,则第二终端设备可以获取用户重新输入的第一回复消息,实现对回复内容的重新校正。
在一些实现方式中,在第二消息发送模块177向第一终端设备发送第一回复消息之前,计时模块用于在第一输入框中的光标被激活时,启动计时器并开始计时。光标激活子模块,用于在计时时间大于或等于预设时间阈值,并且第一回复消息为非空信息时,保持第一输入框中的光标的激活状态。计时模块,还用于响应于用户在第二终端设备执行的清空第一回复消息的操作,如果第二指令接收模块175在先未接收到第一删除指令,则将计时器清零后重新计时。回复消息获取模块174,用于获取用户重新输入的第一回复消息。这样,第二终端设备可以在用户清空第一回复信息时,将计时器清零,然后使计时器重新计时,以检测在预设时间阈值内用户是否重新输入第一回复消息,即检测是否再次产生回复超时问题。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请实施例还提供了一种芯片系统,图18为该芯片系统的结构示意图。该芯片系统包括处理器181,用于支持上述装置实现上述方面中所涉及的功能,例如,生成或处理上述方法中所涉及的信息。在一种可能的设计中,芯片系统还包括存储器182,用于保存消息同步装置必要的计算机指令183和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
以上的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围,凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。

Claims (22)

1.一种消息同步方法,其特征在于,包括:
第一终端设备接收第一通知消息;
第一终端设备所显示述第一通知消息;
第一终端设备将所述第一通知消息发送给第二终端设备,所述第一终端设备和所述第二终端设备登录同一个账号;
用户在第二终端设备执行回复所述第一通知消息的操作时,第一终端设备接收第二终端设备发送的第一指令;
第一终端设备在接收所述第一指令后,生成所述第一通知消息对应的备份消息,并缓存所述备份消息;
第一终端设备响应于删除所述第一通知消息的操作,删除所述第一通知消息,向第二终端设备发送第一删除指令;
第一终端设备接收到第二终端设备发送的第一回复消息时,根据所述第一回复消息对所述备份消息进行回复。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
第一终端设备根据所述第一回复消息对所述备份消息进行回复之后,向第二终端设备发送回复成功信息;
第一终端设备接收第二终端设备发送的第二指令;
第一终端设备在接收所述第二指令后,删除所述备份消息。
3.根据权利要求1所述的方法,其特征在于,第一终端设备在缓存所述备份消息之后,所述方法还包括:
在第二终端设备的第一输入框中的光标被取消激活时,第一终端设备接收第二终端设备发送的第二指令,所述第一输入框是所述第二终端设备中所述第一回复消息的输入框;
第一终端设备在接收所述第二指令后,删除所述备份消息。
4.根据权利要求3所述的方法,其特征在于,第一终端设备在缓存所述备份消息之后,所述方法还包括:
在所述第一输入框中的光标被取消激活时,第一终端设备接收第二终端设备发送的所述第一回复消息和第三指令;
第一终端设备在接收所述第三指令后,如果已根据所述第一回复消息完成对所述备份消息的回复,删除所述备份消息;
如果未根据所述第一回复消息完成对所述备份消息的回复,则在根据所述第一回复消息完成对所述备份消息的回复时,删除所述备份消息。
5.根据权利要求2或3所述的方法,其特征在于,所述第一指令携带第一消息标识,所述第一消息标识为所述第一通知消息对应的消息标识;所述第一终端设备生成所述第一通知消息对应的备份消息,并缓存所述备份消息的步骤,包括:
第一终端设备根据所述第一消息标识,查找所述第一通知消息的消息内容;
第一终端设备对所述第一通知消息的消息内容进行备份,得到所述备份消息;
第一终端设备缓存所述备份消息以及所述备份消息与所述第一消息标识的对应关系。
6.根据权利要求5所述的方法,其特征在于,第一终端设备删除所述第一通知消息的步骤,包括:
第一终端设备根据所述第一消息标识,查找所述第一通知消息的消息内容;
第一终端设备删除所述第一通知消息的消息内容。
7.根据权利要求5所述的方法,其特征在于,所述第二指令携带所述第一消息标识,所述第一终端设备在接收所述第二指令后,删除所述备份消息的步骤,包括:
第一终端设备根据所述第二指令中的所述第一消息标识,查找所述第一消息标识对应的所述备份消息;
第一终端设备删除所述备份消息。
8.根据权利要求2或3所述的方法,其特征在于,第一终端设备接收所述第一通知消息之后,所述方法还包括:
第一终端设备存储所述第一通知消息的消息内容,并获取所述第一通知消息的消息内容在第一终端设备中的第一存储地址;
第一终端设备建立第一消息标识与所述第一存储地址之间的第一映射关系,所述第一消息标识为所述第一通知消息对应的消息标识;
第一终端设备存储所述第一映射关系。
9.根据权利要求8所述的方法,其特征在于,所述第一指令携带所述第一消息标识,所述第一终端设备在接收所述第一指令后,生成所述第一通知消息对应的备份消息,并缓存所述备份消息的步骤,包括:
第一终端设备根据所述第一映射关系查询所述第一消息标识对应的第一存储地址;
第一终端设备建立所述第一消息标识与所述第一存储地址之间的第二映射关系;
第一终端设备缓存所述第二映射关系。
10.根据权利要求9所述的方法,其特征在于,第一终端设备响应于删除所述第一通知消息的操作,删除所述第一通知消息的步骤,包括:
第一终端设备根据所述第一消息标识,查找所述第一映射关系;
第一终端设备删除所述第一映射关系,不删除所述第二映射关系和所述第一通知消息的消息内容。
11.根据权利要求10所述的方法,其特征在于,所述第二指令携带所述第一消息标识,所述第一终端设备在接收所述第二指令后,删除所述备份消息的步骤,包括:
第一终端设备根据所述第一消息标识,查找所述第二映射关系;
第一终端设备删除所述第二映射关系。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
第一终端设备在删除所述第一映射关系和所述第二映射关系后,删除所述第一通知消息的消息内容,以及删除所述第一回复消息的消息内容。
13.一种消息同步方法,其特征在于,包括:
第二终端设备接收第一终端设备发送的第一通知消息,显示所述第一通知消息;
第二终端设备响应于用户回复所述第一通知消息的操作,向第一终端设备发送第一指令;
第二终端设备获取用户输入的第一回复消息;
第二终端设备接收第一终端设备发送的第一删除指令,不删除所述第一通知消息;
第二终端设备响应于用户发送所述第一回复消息的操作,向第一终端设备发送所述第一回复消息,删除所述第一通知消息。
14.根据权利要求13所述的方法,其特征在于,所述第二终端设备响应于用户回复所述第一通知消息的操作,向第一终端设备发送第一指令的步骤,包括:
第二终端设备响应于用户回复所述第一通知消息的操作,激活第一输入框中的光标;其中,所述第一输入框是所述第二终端设备中所述第一回复消息的输入框;
第二终端设备在所述第一输入框中的光标被激活时,向第一终端设备发送所述第一指令。
15.根据权利要求14所述的方法,其特征在于,第二终端设备接收第一终端设备发送的第一删除指令后,所述方法还包括:
如果所述第一输入框中的光标未被激活,第二终端设备删除所述第一通知消息;
如果所述第一输入框中的光标已被激活,第二终端设备在所述光标被取消激活时,删除所述第一通知消息。
16.根据权利要求14所述的方法,其特征在于,在第二终端设备向第一终端设备发送所述第一回复消息之后,所述方法还包括:
第二终端设备将所述第一输入框中的光标取消激活,并向第一终端设备发送第二指令。
17.根据权利要求14所述的方法,其特征在于,所述第二终端设备响应于用户发送所述第一回复消息的操作,向第一终端设备发送所述第一回复消息的步骤,包括:
第二终端设备响应于用户发送所述第一回复消息的操作,将所述第一输入框中的光标取消激活,并向第一终端设备发送所述第一回复消息和第三指令。
18.根据权利要求14所述的方法,其特征在于,在第二终端设备向第一终端设备发送所述第一回复消息之后,所述方法还包括:
第二终端设备将所述第一输入框中的光标取消激活;
第二终端设备在接收第一终端设备发送的回复成功信息后,向第一终端设备发送第二指令。
19.根据权利要求14所述的方法,其特征在于,所述方法还包括:
第二终端设备在所述第一输入框中的光标被激活时,启动计时器并开始计时;
第二终端设备在计时时间大于或等于预设时间阈值,并且所述第一回复消息为空信息时,将所述第一输入框中的光标取消激活,并向第一终端设备发送第二指令。
20.根据权利要求15所述的方法,其特征在于,在第二终端设备向第一终端设备发送所述第一回复消息之前,所述方法还包括:
第二终端设备响应于用户清空所述第一回复消息的操作,如果在先接收到所述第一删除指令,则将所述第一输入框中的光标取消激活,并向第一终端设备发送第二指令;
第二终端设备如果在先未接收到所述第一删除指令,获取用户重新输入的第一回复消息。
21.根据权利要求15所述的方法,其特征在于,在第二终端设备向第一终端设备发送所述第一回复消息之前,所述方法还包括:
第二终端设备在所述第一输入框中的光标被激活时,启动计时器并开始计时;
第二终端设备在计时时间大于或等于预设时间阈值,并且所述第一回复消息为非空信息时,保持所述第一输入框中的光标的激活状态;
第二终端设备响应于用户清空所述第一回复消息的操作,如果在先未接收到所述第一删除指令,将所述计时器清零后重新计时,并获取用户重新输入的第一回复消息。
22.一种终端设备,其特征在于,包括:处理器和存储器;所述存储器存储有程序指令,当所述程序指令被所述处理器执行时,使得所述终端设备执行权利要求1-21任一项所述的消息同步方法。
CN202211055088.8A 2022-08-31 2022-08-31 一种消息同步方法及终端设备 Active CN116055505B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211055088.8A CN116055505B (zh) 2022-08-31 2022-08-31 一种消息同步方法及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211055088.8A CN116055505B (zh) 2022-08-31 2022-08-31 一种消息同步方法及终端设备

Publications (2)

Publication Number Publication Date
CN116055505A true CN116055505A (zh) 2023-05-02
CN116055505B CN116055505B (zh) 2023-10-20

Family

ID=86120620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211055088.8A Active CN116055505B (zh) 2022-08-31 2022-08-31 一种消息同步方法及终端设备

Country Status (1)

Country Link
CN (1) CN116055505B (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080045268A1 (en) * 1998-05-29 2008-02-21 Research In Motion Limited System and Method for Bundling Information
US20090180598A1 (en) * 2006-05-02 2009-07-16 Konstantin Othmer Visual voice messaging state synchronization
AU2012258326A1 (en) * 2007-01-09 2012-12-20 Nuance Communications, Inc. Method of replying to an electronically-received message
CN105072279A (zh) * 2015-08-25 2015-11-18 努比亚技术有限公司 一种基于移动终端的备份装置和方法
US20160094496A1 (en) * 2013-08-14 2016-03-31 Infinite Convergence Solutions, Inc Devices for Instant Message Client Swap
CN108023968A (zh) * 2017-12-21 2018-05-11 东软集团股份有限公司 一种会话信息同步方法、装置及设备
US20190068528A1 (en) * 2017-08-30 2019-02-28 Facebook, Inc. Techniques for efficient messaging client communication
CN109729005A (zh) * 2019-01-02 2019-05-07 腾讯科技(深圳)有限公司 消息处理方法、装置、计算机设备和存储介质
CN110177177A (zh) * 2019-05-29 2019-08-27 努比亚技术有限公司 消息回复方法、移动终端及计算机可读存储介质
CN111130989A (zh) * 2019-11-19 2020-05-08 维沃移动通信有限公司 一种信息显示、发送方法及电子设备
CN111711558A (zh) * 2020-05-28 2020-09-25 腾讯科技(深圳)有限公司 一种消息控制方法及装置
US20210303110A1 (en) * 2020-03-31 2021-09-30 Snap Inc. Reply back mechanism within a messaging system
WO2022052878A1 (zh) * 2020-09-14 2022-03-17 华为技术有限公司 推送消息的管理方法及相关装置
WO2022100556A1 (zh) * 2020-11-11 2022-05-19 华为技术有限公司 一种通知消息的管理方法及电子设备
CN114895861A (zh) * 2018-12-29 2022-08-12 华为技术有限公司 一种消息处理的方法、相关装置及系统

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080045268A1 (en) * 1998-05-29 2008-02-21 Research In Motion Limited System and Method for Bundling Information
US20090180598A1 (en) * 2006-05-02 2009-07-16 Konstantin Othmer Visual voice messaging state synchronization
AU2012258326A1 (en) * 2007-01-09 2012-12-20 Nuance Communications, Inc. Method of replying to an electronically-received message
US20160094496A1 (en) * 2013-08-14 2016-03-31 Infinite Convergence Solutions, Inc Devices for Instant Message Client Swap
CN105072279A (zh) * 2015-08-25 2015-11-18 努比亚技术有限公司 一种基于移动终端的备份装置和方法
US20190068528A1 (en) * 2017-08-30 2019-02-28 Facebook, Inc. Techniques for efficient messaging client communication
CN108023968A (zh) * 2017-12-21 2018-05-11 东软集团股份有限公司 一种会话信息同步方法、装置及设备
CN114895861A (zh) * 2018-12-29 2022-08-12 华为技术有限公司 一种消息处理的方法、相关装置及系统
CN109729005A (zh) * 2019-01-02 2019-05-07 腾讯科技(深圳)有限公司 消息处理方法、装置、计算机设备和存储介质
CN110177177A (zh) * 2019-05-29 2019-08-27 努比亚技术有限公司 消息回复方法、移动终端及计算机可读存储介质
CN111130989A (zh) * 2019-11-19 2020-05-08 维沃移动通信有限公司 一种信息显示、发送方法及电子设备
US20210303110A1 (en) * 2020-03-31 2021-09-30 Snap Inc. Reply back mechanism within a messaging system
CN111711558A (zh) * 2020-05-28 2020-09-25 腾讯科技(深圳)有限公司 一种消息控制方法及装置
WO2022052878A1 (zh) * 2020-09-14 2022-03-17 华为技术有限公司 推送消息的管理方法及相关装置
WO2022100556A1 (zh) * 2020-11-11 2022-05-19 华为技术有限公司 一种通知消息的管理方法及电子设备

Also Published As

Publication number Publication date
CN116055505B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
WO2021043045A1 (zh) 一种网络配置信息的配置方法及设备
EP4110004A1 (en) Wi-fi aware link establishment method and system, electronic device, and storage medium
US11895215B2 (en) Application server access method and terminal
EP4135359A1 (en) Device tracking detection method and electronic device
EP4287048A1 (en) Login authentication method and electronic device
WO2021218936A1 (zh) 一种sa网络5g自动开户的搜网方法及相关装置
CN116055505B (zh) 一种消息同步方法及终端设备
US20240137845A1 (en) Network configuration method and apparatus
WO2020014900A1 (zh) 一种消息的显示方法及终端
CN112015359A (zh) 一种显示方法与电子设备
CN114667750B (zh) 信息上报方法及装置、存储介质
CN116033342A (zh) 地理围栏的处理方法、设备及存储介质
CN115767602B (zh) 设备协议子系统异常自动纠错方法和电子设备
CN116048647B (zh) 一种控制后台应用自启动的方法及电子设备
CN117156597B (zh) 基于自组网的设备处理方法、设备以及存储介质
WO2023186083A1 (zh) 发起bsc链路建立的方法、装置、设备和存储介质
CN114173315B (zh) 蓝牙回连方法及终端设备
CN114697438B (zh) 一种利用智能设备进行通话的方法、装置、设备及存储介质
CN116033341B (zh) 触发围栏事件的方法和装置
WO2022228005A1 (zh) 一种消息提醒方法及终端设备
CN116055636B (zh) 一种陌生来电的显示方法、移动终端及存储介质
CN116347488B (zh) 网络卡顿的处理方法、设备以及存储介质
CN117156603B (zh) 一种求救方法及终端设备
WO2023040951A1 (zh) 寻呼指示方法、装置、终端及网络侧设备
WO2022194105A1 (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