Movatterモバイル変換


[0]ホーム

URL:


CN116737404B - Method and terminal equipment for application connection - Google Patents

Method and terminal equipment for application connection
Download PDF

Info

Publication number
CN116737404B
CN116737404BCN202211197093.2ACN202211197093ACN116737404BCN 116737404 BCN116737404 BCN 116737404BCN 202211197093 ACN202211197093 ACN 202211197093ACN 116737404 BCN116737404 BCN 116737404B
Authority
CN
China
Prior art keywords
application
connection
communication
continuation
terminal device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211197093.2A
Other languages
Chinese (zh)
Other versions
CN116737404A (en
Inventor
房家鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co LtdfiledCriticalHonor Device Co Ltd
Priority to CN202211197093.2ApriorityCriticalpatent/CN116737404B/en
Priority to CN202411003271.2Aprioritypatent/CN119166381A/en
Publication of CN116737404ApublicationCriticalpatent/CN116737404A/en
Application grantedgrantedCritical
Publication of CN116737404BpublicationCriticalpatent/CN116737404B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Classifications

Landscapes

Abstract

The application provides a method for application connection and terminal equipment, which are beneficial to flexibly distributing communication resources for the terminal equipment so as to realize communication between the application and connection service in a computer management home. The method comprises the following steps: responding to the operation of clicking the icon of the first application by a user, and acquiring the identification of a target bit in the shared memory, wherein the target bit is a bit with a first preset value, and the first preset value indicates that a communication channel corresponding to the target bit is not used; determining a communication identifier corresponding to the target bit based on the identifier of the target bit, the communication identifier indicating at least one communication channel for communication between the first application and the computer manager; data transmission between the first application and the computer manager is achieved based on the at least one communication channel.

Description

Translated fromChinese
用于应用接续的方法及终端设备Method and terminal equipment for application connection

技术领域Technical Field

本申请涉及终端领域,尤其涉及一种用于应用接续的方法及终端设备。The present application relates to the field of terminals, and in particular to a method and terminal device for application connection.

背景技术Background technique

目前,跨设备之间的应用接续将成为后续多设备场景中的重要功能。其中,应用接续可以理解为,当用户在个人笔记本(personal computer,PC)上使用某一应用时,用户可以在符合接续条件的手机中接续该应用的使用状态,并继续在手机上使用该应用。At present, cross-device application continuation will become an important function in the subsequent multi-device scenarios. Application continuation can be understood as when a user is using an application on a personal computer (PC), the user can continue the use of the application on a mobile phone that meets the continuation conditions and continue to use the application on the mobile phone.

对于应用接续场景下的PC而言,为实现将应用的使用状态同步至其他设备,或者将其他设备的应用的使用状态同步至PC的需求,PC需要对外提供接续框架和软件开发工具包(software development kit,SDK)以满足此需求。其中,接续框架是为应用提供统一的应用状态同步框架,应用需要通过SDK接入接续框架,实现与接续框架中的接续服务的数据传输,而接续服务以电脑管家为依托为应用提供对外服务能力。在PC中的应用和电脑管家启动之后,应用和电脑管家运行在两个不同的进程,应用需要通过进程间通信(interprocess communication,IPC)和电脑管家中的接续服务通信。For PCs in application continuation scenarios, in order to synchronize the usage status of applications to other devices, or synchronize the usage status of applications on other devices to the PC, the PC needs to provide a continuation framework and software development kit (SDK) to meet this requirement. The continuation framework provides a unified application status synchronization framework for applications. Applications need to access the continuation framework through the SDK to achieve data transmission with the continuation service in the continuation framework, and the continuation service relies on the computer manager to provide external service capabilities for applications. After the application and computer manager in the PC are started, the application and computer manager run in two different processes, and the application needs to communicate with the continuation service in the computer manager through interprocess communication (IPC).

因此,如何在PC侧为应用分配IPC通信资源,以实现应用和电脑管家中的接续服务之间的通信,是一个亟待解决的问题。Therefore, how to allocate IPC communication resources to applications on the PC side to achieve communication between applications and the follow-up services in the computer manager is an urgent problem to be solved.

发明内容Summary of the invention

本申请提供一种用于应用接续的方法及终端设备,有利于为终端设备灵活分配IPC通信资源,以实现应用和电脑管家中的接续服务之间的通信。The present application provides a method and terminal device for application continuation, which is conducive to the flexible allocation of IPC communication resources for the terminal device to achieve communication between the application and the continuation service in the computer manager.

第一方面,提供了一种用于应用接续的方法,应用于终端设备,该终端设备为应用接续的发送端或者接收端,该终端设备安装有第一应用和电脑管家,该方法包括:响应于用户点击第一应用的图标的操作,获取共享内存中目标比特位的标识,目标比特位是值为第一预设值的比特位,第一预设值表示目标比特位对应的通信通道未被使用;基于目标比特位的标识,确定目标比特位对应的通信标识,通信标识指示用于第一应用和电脑管家通信的至少一个通信通道;基于至少一个通信通道实现第一应用与电脑管家之间的数据传输。In a first aspect, a method for application continuation is provided, which is applied to a terminal device, the terminal device being a sending end or a receiving end of the application continuation, the terminal device being installed with a first application and a computer manager, the method comprising: in response to a user clicking on an icon of the first application, obtaining an identifier of a target bit in a shared memory, the target bit being a bit having a value of a first preset value, the first preset value indicating that a communication channel corresponding to the target bit is not in use; based on the identifier of the target bit, determining a communication identifier corresponding to the target bit, the communication identifier indicating at least one communication channel used for communication between the first application and the computer manager; and realizing data transmission between the first application and the computer manager based on the at least one communication channel.

在本申请中,电脑管家中集成有接续服务管理器(下文中也可简称为接续服务),第一应用与电脑管家通信,包括第一应用的接续服务SDK与电脑管家中的接续服务之间的通信。在第一应用和电脑管家启动之后,接续服务在电脑管家中运行,第一应用作为独立进程接入SDK后运行在三方应用中。因此,第一应用需要和电脑管家中的接续服务通过接续服务SDK进行跨进程通信。In this application, a continuation service manager (hereinafter referred to as continuation service) is integrated in the computer manager, and the first application communicates with the computer manager, including the communication between the continuation service SDK of the first application and the continuation service in the computer manager. After the first application and the computer manager are started, the continuation service runs in the computer manager, and the first application runs in the third-party application after connecting to the SDK as an independent process. Therefore, the first application needs to communicate with the continuation service in the computer manager through the continuation service SDK for cross-process communication.

在一些场景下,可能会有至少一个应用接入接续服务以期实现应用接续,在这种场景下,电脑管家需要具备与所有接入接续服务的应用通过IPC通信的能力。在本申请提供的技术方案中,针对接入接续服务的至少一个应用中的第一应用,终端设备可以获取共享内存中的目标比特位的标识,基于目标比特位的标识得到对应的通信标识,为第一应用分配与通信标识对应的至少一个通信通道,以使第一应用通过IPC通信资源与电脑管家中的接续服务进行通信。这样,通过将IPC通信和共享内存结合,终端设备可以灵活地为所有接入接续服务的应用分配IPC通信资源,实现应用接续场景下应用和电脑管家之间的数据传输。In some scenarios, there may be at least one application that accesses the continuation service in order to achieve application continuation. In this scenario, the computer manager needs to have the ability to communicate with all applications that access the continuation service through IPC. In the technical solution provided in the present application, for the first application in at least one application that accesses the continuation service, the terminal device can obtain the identifier of the target bit in the shared memory, obtain the corresponding communication identifier based on the identifier of the target bit, and allocate at least one communication channel corresponding to the communication identifier to the first application, so that the first application can communicate with the continuation service in the computer manager through the IPC communication resources. In this way, by combining IPC communication and shared memory, the terminal device can flexibly allocate IPC communication resources to all applications that access the continuation service, thereby realizing data transmission between applications and the computer manager in the application continuation scenario.

结合第一方面,在第一方面的某些实现方式中,该方法还包括:基于对目标比特位的标识的获取,将目标比特位的值从第一预设值修改为第二预设值,第二预设值表示目标比特位对应的通信通道已被使用。In combination with the first aspect, in certain implementations of the first aspect, the method further includes: based on obtaining an identifier of the target bit, modifying the value of the target bit from a first preset value to a second preset value, the second preset value indicating that the communication channel corresponding to the target bit has been used.

在本申请中,终端设备在确定目标比特位之后,可以将目标比特位的值从第一预设值修改为第二预设值,以标识目标比特位对应的通信通道已被申请或已被使用。这样当再有新的应用接入接续服务之后,终端设备可以为该新的应用申请其他的值为第一预设值的比特位对应的通信通道,实现IPC通信资源的灵活分配。In the present application, after determining the target bit, the terminal device can modify the value of the target bit from the first preset value to the second preset value to indicate that the communication channel corresponding to the target bit has been applied for or used. In this way, when a new application accesses the service, the terminal device can apply for other communication channels corresponding to the bit with the first preset value for the new application, thereby realizing flexible allocation of IPC communication resources.

可选地,终端设备可以响应于用户点击第一应用的图标的操作,对共享内存中的多个比特位的值进行检测,确定多个比特位中的值为第一预设值的目标比特位。在确定目标比特位之后,终端设备可以获取目标比特位的标识。并且,在确定目标比特位之后,终端设备可以将目标比特位的值从第一预设值修改为第二预设值。其中,终端设备获取目标比特位的标识与将目标比特位的值从第一预设值修改为第二预设值执行顺序不作限定。Optionally, in response to a user clicking on the icon of the first application, the terminal device may detect the values of multiple bits in the shared memory and determine a target bit whose value among the multiple bits is a first preset value. After determining the target bit, the terminal device may obtain an identifier of the target bit. Furthermore, after determining the target bit, the terminal device may modify the value of the target bit from the first preset value to the second preset value. The order in which the terminal device obtains the identifier of the target bit and modifies the value of the target bit from the first preset value to the second preset value is not limited.

结合第一方面,在第一方面的某些实现方式中,基于至少一个通信通道实现第一应用与所述电脑管家之间的数据传输,包括:基于至少一个通信通道中的第一通信通道,注册接续服务和回调。In combination with the first aspect, in certain implementations of the first aspect, data transmission between the first application and the computer manager is implemented based on at least one communication channel, including: registering a connection service and a callback based on a first communication channel in the at least one communication channel.

在本申请中,终端设备为第一应用分配的至少一个通信通道中的每个通信通道可用户传输不同类型的消息。其中,第一通信通道用于第一应用注册接续服务和回调。这样使得应用接续场景下的数据传输更加便捷高效。In the present application, each of the at least one communication channel allocated by the terminal device to the first application can be used to transmit different types of messages. Among them, the first communication channel is used for the first application to register for the continuation service and callback. This makes data transmission in the application continuation scenario more convenient and efficient.

结合第一方面,在第一方面的某些实现方式中,该方法还包括:在第一应用的进程退出的情况下,将目标比特位的值从第二预设值修改为第一预设值。In combination with the first aspect, in some implementations of the first aspect, the method further includes: when the process of the first application exits, modifying the value of the target bit from the second preset value to the first preset value.

在本申请中,第一应用的进程退出,包括第一应用的进程正常退出和异常退出两种情况。在第一应用的进程退出后,终端设备可以将目标比特位的值从第二预设值修改为第一预设值,释放被第一应用占用的通信通道,这样在IPC通信资源有限的情况下,其他的应用便可以使用目标比特位对应的通信通道,提高了资源利用率。In the present application, the process exit of the first application includes two situations: normal exit and abnormal exit of the process of the first application. After the process of the first application exits, the terminal device can modify the value of the target bit from the second preset value to the first preset value, releasing the communication channel occupied by the first application, so that when the IPC communication resources are limited, other applications can use the communication channel corresponding to the target bit, thereby improving resource utilization.

结合第一方面,在第一方面的某些实现方式中,该方法还包括:基于该至少一个通信通道中的第二通信通道,解除注册接续服务和回调;基于对接续服务和回调的解除注册,确定第一应用的进程退出。In combination with the first aspect, in some implementations of the first aspect, the method further includes: deregistering the continuation service and the callback based on the second communication channel in the at least one communication channel; and determining the process exit of the first application based on the deregistration of the continuation service and the callback.

在本申请中,在第一应用正常退出的情况下,终端设备可以通过为第一应用分配的第二通信通道解除注册接续服务和回调。当终端设备中的接续服务接收到解除注册接续服务和回调的消息之后,可以确定第一应用的进程正常退出,进而终端设备可以释放为第一应用分配的通信通道。In the present application, when the first application exits normally, the terminal device can unregister the continuation service and callback through the second communication channel allocated to the first application. After the continuation service in the terminal device receives the message of unregistering the continuation service and callback, it can be determined that the process of the first application exits normally, and then the terminal device can release the communication channel allocated to the first application.

结合第一方面,在第一方面的某些实现方式中,该方法还包括:在成功注册接续服务和回调之后,定时查询第一应用的进程是否退出。In combination with the first aspect, in some implementations of the first aspect, the method further includes: after successfully registering the connection service and the callback, periodically querying whether the process of the first application has exited.

在本申请中,终端设备通过定时查询第一应用的进程是否退出,以此来及时监测第一应用的进程的状态。In the present application, the terminal device monitors the status of the process of the first application in a timely manner by periodically querying whether the process of the first application has exited.

示例性地,终端设备通过电脑管家定时向第一应用发送保活包,若第一应用的进程还在运行,则电脑管家可以成功发送保活包;若第一应用的进程异常退出,则电脑管家无法成功发送保活包。终端设备根据电脑管家是否成功发送保活包来确定第一应用的进程是否已经退出。For example, the terminal device sends a keep-alive packet to the first application at regular intervals through the computer manager. If the process of the first application is still running, the computer manager can successfully send the keep-alive packet; if the process of the first application exits abnormally, the computer manager cannot successfully send the keep-alive packet. The terminal device determines whether the process of the first application has exited based on whether the computer manager successfully sends the keep-alive packet.

结合第一方面,在第一方面的某些实现方式中,终端设备为应用接续的发送端;在第一应用先于电脑管家启动,或电脑管家的进程异常退出的情况下,该方法还包括:广播通信回连消息,通信回连消息用于指示第一应用连接电脑管家。基于该至少一个通信通道中的第一通信通道,注册接续服务和回调,包括:在基于至少一个通信通道中的第三通信通道接收到通信回连消息的情况下,基于第一通信通道,注册接续服务和回调。In combination with the first aspect, in some implementations of the first aspect, the terminal device is a sending end of the application continuation; when the first application is started before the computer manager, or the process of the computer manager exits abnormally, the method further includes: broadcasting a communication reconnection message, the communication reconnection message is used to instruct the first application to connect to the computer manager. Based on the first communication channel of the at least one communication channel, registering the continuation service and callback includes: when receiving the communication reconnection message based on the third communication channel of the at least one communication channel, registering the continuation service and callback based on the first communication channel.

在本申请中,电脑管家的接续服务在启动的过程中,可以广播通信回连消息,第一应用在第三通信通道接收到通信回连消息之后,可以确定电脑管家已启动,可以正常连接。因此第一应用可以基于第一通信通道,注册接续服务和回调。In this application, the connection service of the computer manager can broadcast a communication reconnection message during the startup process. After the first application receives the communication reconnection message on the third communication channel, it can be determined that the computer manager has been started and can be connected normally. Therefore, the first application can register the connection service and callback based on the first communication channel.

结合第一方面,在第一方面的某些实现方式中,终端设备为应用接续的接收端;所述响应于用户点击所述第一应用的图标的操作,获取共享内存中目标比特位的标识,包括:响应于用户点击位于终端设备的任务栏的第一应用的图标的操作,获取共享内存中目标比特位的标识。In combination with the first aspect, in certain implementations of the first aspect, the terminal device is the receiving end of the application connection; the obtaining of the identifier of the target bit in the shared memory in response to the user clicking the icon of the first application includes: obtaining the identifier of the target bit in the shared memory in response to the user clicking the icon of the first application located in the taskbar of the terminal device.

在本申请中,作为应用接续接收端,终端设备的任务栏可以显示接续通知,接续通知可以以第一应用的图标形式显示在任务栏。这样,用户可以点击任务栏中的第一应用的图标以启动作为接收端的终端设备上的第一应用,进而为第一应用申请用于与电脑管家通信的通信通道,以使第一应用接续其他设备上的第一应用的接续数据,例如,备忘录的编辑内容、音频数据等。In the present application, as the application connection receiving end, the taskbar of the terminal device can display the connection notification, and the connection notification can be displayed in the taskbar in the form of the icon of the first application. In this way, the user can click the icon of the first application in the taskbar to start the first application on the terminal device as the receiving end, and then apply for a communication channel for the first application to communicate with the computer manager, so that the first application can connect to the connection data of the first application on other devices, such as the edited content of the memo, audio data, etc.

结合第一方面,在第一方面的某些实现方式中,终端设备为应用接续的发送端;响应于用户点击第一应用的图标的操作,获取共享内存中目标比特位的标识,包括:响应于用户点击位于终端设备的桌面或任务栏的第一应用的图标的操作,获取共享内存中目标比特位的标识。In combination with the first aspect, in certain implementations of the first aspect, the terminal device is the sending end of the application connection; in response to the user clicking the icon of the first application, the identifier of the target bit in the shared memory is obtained, including: in response to the user clicking the icon of the first application located on the desktop or taskbar of the terminal device, the identifier of the target bit in the shared memory is obtained.

在本申请中,作为应用接续的发送端,终端设备可以在桌面或者任务栏显示第一应用的图标。当用户点击(例如,双击)桌面或者任务栏中的第一应用的图标之后,终端设备可以启动作为发送端的终端设备上的第一应用,并在第一应用中进行相应的操作,例如,编辑备忘录、播放音乐等。In the present application, as the sending end of the application connection, the terminal device can display the icon of the first application on the desktop or taskbar. When the user clicks (for example, double-clicks) the icon of the first application on the desktop or taskbar, the terminal device can start the first application on the terminal device as the sending end and perform corresponding operations in the first application, for example, editing a memo, playing music, etc.

第二方面,提供一种终端设备,包括用于执行上述第一方面中任一种可能的实现方式中的方法的获取模块和处理模块。In a second aspect, a terminal device is provided, comprising an acquisition module and a processing module for executing the method in any possible implementation manner of the first aspect.

其中,获取模块用于:响应于用户点击所述第一应用的图标的操作,获取共享内存中目标比特位的标识,所述目标比特位是值为第一预设值的比特位,所述第一预设值表示所述目标比特位对应的通信通道未被使用。处理模块用于:基于目标比特位的标识,确定目标比特位对应的通信标识,通信标识指示用于第一应用和电脑管家通信的至少一个通信通道;基于所述至少一个通信通道实现第一应用与电脑管家之间的数据传输。The acquisition module is used to: in response to a user clicking on the icon of the first application, acquire the identifier of a target bit in the shared memory, the target bit being a bit with a first preset value, the first preset value indicating that the communication channel corresponding to the target bit is not in use. The processing module is used to: determine the communication identifier corresponding to the target bit based on the identifier of the target bit, the communication identifier indicating at least one communication channel used for communication between the first application and the computer manager; and implement data transmission between the first application and the computer manager based on the at least one communication channel.

结合第二方面,在第二方面的某些实现方式中,处理模块用于:基于对目标比特位的标识的获取,将目标比特位的值从第一预设值修改为第二预设值,第二预设值表示目标比特位对应的通信通道已被使用。In combination with the second aspect, in certain implementations of the second aspect, the processing module is used to: based on obtaining the identifier of the target bit, modify the value of the target bit from a first preset value to a second preset value, and the second preset value indicates that the communication channel corresponding to the target bit has been used.

结合第二方面,在第二方面的某些实现方式中,处理模块用于:基于至少一个通信通道中的第一通信通道,注册接续服务和回调。In combination with the second aspect, in some implementations of the second aspect, the processing module is used to: register a continuation service and a callback based on a first communication channel in at least one communication channel.

结合第二方面,在第二方面的某些实现方式中,处理模块用于:在第一应用的进程退出的情况下,将目标比特位的值从第二预设值修改为第一预设值。In combination with the second aspect, in some implementations of the second aspect, the processing module is used to: when the process of the first application exits, modify the value of the target bit from the second preset value to the first preset value.

结合第二方面,在第二方面的某些实现方式中,处理模块用于:基于该至少一个通信通道中的第二通信通道,解除注册接续服务和回调;以及,基于对接续服务和回调的解除注册,确定第一应用的进程退出。In combination with the second aspect, in certain implementations of the second aspect, the processing module is used to: deregister the continuation service and the callback based on the second communication channel in the at least one communication channel; and determine the process exit of the first application based on the deregistration of the continuation service and the callback.

结合第二方面,在第二方面的某些实现方式中,处理模块用于:在成功注册接续服务和回调之后,定时查询第一应用的进程是否退出。In combination with the second aspect, in some implementations of the second aspect, the processing module is used to: after successfully registering the connection service and callback, periodically query whether the process of the first application has exited.

结合第二方面,在第二方面的某些实现方式中,终端设备为应用接续的发送端。在第一应用先于电脑管家启动,或电脑管家的进程异常退出的情况下,处理模块用于:广播通信回连消息,通信回连消息用于指示第一应用连接电脑管家;以及,在基于至少一个通信通道中的第三通信通道接收到通信回连消息的情况下,基于第一通信通道,注册接续服务和回调。In conjunction with the second aspect, in some implementations of the second aspect, the terminal device is a sending end of the application continuation. In the case where the first application is started before the computer manager, or the process of the computer manager exits abnormally, the processing module is used to: broadcast a communication reconnection message, the communication reconnection message is used to instruct the first application to connect to the computer manager; and, in the case where the communication reconnection message is received based on a third communication channel among the at least one communication channel, register a continuation service and callback based on the first communication channel.

结合第二方面,在第二方面的某些实现方式中,终端设备为应用接续的接收端。处理模块用于:响应于用户点击位于终端设备的任务栏的第一应用的图标的操作,获取共享内存中目标比特位的标识。In conjunction with the second aspect, in some implementations of the second aspect, the terminal device is a receiving end of the application connection. The processing module is used to: in response to a user clicking an icon of a first application located in a taskbar of the terminal device, obtain an identifier of a target bit in the shared memory.

结合第二方面,在第二方面的某些实现方式中,终端设备为应用接续的发送端。处理模块用于:响应于用户点击位于终端设备的桌面或任务栏的第一应用的图标的操作,获取共享内存中目标比特位的标识。In conjunction with the second aspect, in some implementations of the second aspect, the terminal device is a sending end of the application connection. The processing module is used to: in response to a user clicking an icon of a first application located on a desktop or taskbar of the terminal device, obtain an identifier of a target bit in the shared memory.

第三方面,提供了另一种终端设备,包括处理器和存储器,该处理器与存储器耦合,该存储器可用于存储计算机程序,该处理器可用于调用并执行存储器中的计算机程序,以实现上述第一方面中任一种可能实现方式中的方法。In a third aspect, another terminal device is provided, including a processor and a memory, wherein the processor is coupled to the memory, the memory can be used to store a computer program, and the processor can be used to call and execute the computer program in the memory to implement the method in any possible implementation of the first aspect above.

第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面中任一种可能实现方式中的方法。In a fourth aspect, a processor is provided, comprising: an input circuit, an output circuit and a processing circuit. The processing circuit is used to receive a signal through the input circuit and transmit a signal through the output circuit, so that the processor executes the method in any possible implementation of the first aspect.

在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请对处理器及各种电路的具体实现方式不作限制。In the specific implementation process, the above-mentioned processor can be a chip, the input circuit can be an input pin, the output circuit can be an output pin, and the processing circuit can be a transistor, a gate circuit, a trigger, and various logic circuits. The input signal received by the input circuit can be, for example, but not limited to, received and input by a receiver, and the signal output by the output circuit can be, for example, but not limited to, output to a transmitter and transmitted by the transmitter, and the input circuit and the output circuit can be the same circuit, which is used as an input circuit and an output circuit at different times. This application does not limit the specific implementation of the processor and various circuits.

第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。In a fifth aspect, a processing device is provided, comprising a processor and a memory. The processor is used to read instructions stored in the memory, and can receive signals through a receiver and transmit signals through a transmitter to execute the method in any possible implementation of the first aspect.

可选地,处理器为一个或多个,存储器为一个或多个。Optionally, there are one or more processors and one or more memories.

可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。Optionally, the memory may be integrated with the processor, or the memory may be provided separately from the processor.

在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不作限制。In the specific implementation process, the memory can be a non-transitory memory, such as a read-only memory (ROM), which can be integrated with the processor on the same chip or can be set on different chips. This application does not limit the type of memory and the setting method of the memory and the processor.

应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。It should be understood that the relevant data interaction process, such as sending indication information, can be a process of outputting indication information from a processor, and receiving capability information can be a process of receiving input capability information from a processor. Specifically, the processed output data can be output to a transmitter, and the input data received by the processor can come from a receiver. Among them, the transmitter and the receiver can be collectively referred to as a transceiver.

上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。The processing device in the fifth aspect mentioned above can be a chip. The processor can be implemented by hardware or by software. When implemented by hardware, the processor can be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor can be a general-purpose processor, which is implemented by reading the software code stored in the memory. The memory can be integrated in the processor or can be located outside the processor and exist independently.

第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当该计算机程序代码被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。In a sixth aspect, a computer program product is provided, the computer program product comprising: a computer program code, when the computer program code is executed, enables a computer to execute the method in any possible implementation manner of the above-mentioned first aspect.

第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。In a seventh aspect, a computer-readable storage medium is provided, which stores a computer program. When the computer program is executed, the computer executes the method in any possible implementation of the first aspect.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1是本申请实施例提供的一种场景示意图;FIG1 is a schematic diagram of a scenario provided by an embodiment of the present application;

图2是本申请实施例提供的一种应用接续的界面示意图;FIG2 is a schematic diagram of an interface for application connection provided in an embodiment of the present application;

图3是本申请实施例适用的一种终端设备的结构示意图;FIG3 is a schematic diagram of the structure of a terminal device applicable to an embodiment of the present application;

图4是本申请实施例适用的终端设备的一种软件结构框图;FIG4 is a software structure block diagram of a terminal device to which an embodiment of the present application is applicable;

图5是本申请实施例适用的终端设备的另一种软件结构框图;FIG5 is another software structure block diagram of a terminal device to which an embodiment of the present application is applicable;

图6是本申请实施例提供的一种应用接续方法的示意性流程图;FIG6 is a schematic flow chart of an application connection method provided in an embodiment of the present application;

图7是本申请实施例提供的一种共享内存的通信原理的示意图;FIG7 is a schematic diagram of a communication principle of a shared memory provided in an embodiment of the present application;

图8是本申请实施例提供的一种申请通信通道的示意图;FIG8 is a schematic diagram of an application communication channel provided in an embodiment of the present application;

图9是本申请实施例提供的一种用于应用接续的方法的示意性流程图。FIG. 9 is a schematic flowchart of a method for application continuation provided in an embodiment of the present application.

具体实施方式Detailed ways

下面将结合附图,对本申请中的技术方案进行描述。The technical solution in this application will be described below in conjunction with the accompanying drawings.

为了便于清楚描述本申请实施例的技术方案,以下对本申请实施例中所涉及的部分术语和技术进行简单介绍:In order to clearly describe the technical solutions of the embodiments of the present application, some of the terms and technologies involved in the embodiments of the present application are briefly introduced below:

1、接续策略:接续策略用于确定可接续的设备,各应用程序可以对应各自的接续策略。示例性的,应用程序的接续策略可以与下述的一项或多项字段有关:1. Connection strategy: The connection strategy is used to determine the devices that can be connected. Each application can correspond to its own connection strategy. For example, the connection strategy of an application can be related to one or more of the following fields:

应用程序支持的设备类型、安卓(Android)平台的可接续应用包名、windows平台的可接续进程名、浏览器启动参数、支持接续应用的最小版本号与最小版本等。The device types supported by the application, the connectable application package name on the Android platform, the connectable process name on the Windows platform, the browser startup parameters, the minimum version number and minimum version supported for the connectable application, etc.

接续策略可以对应有用于标识接续策略状态的标志位。例如,标志位为0可以表示不支持接续,标志位为1可以表示应用接续,标志位为3可以表示浏览器接续。可以理解的是,标志位的具体值可以任意设置,能够区分不同的状态即可,本申请实施例不作具体限定。The continuation strategy may correspond to a flag bit for identifying the continuation strategy state. For example, a flag bit of 0 may indicate that continuation is not supported, a flag bit of 1 may indicate application continuation, and a flag bit of 3 may indicate browser continuation. It is understood that the specific value of the flag bit can be set arbitrarily as long as it can distinguish different states, and the embodiments of the present application do not make specific limitations.

2、其他术语2. Other terms

在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一终端设备和第二终端设备是为了区分不同的终端设备,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。In the embodiments of the present application, words such as "first" and "second" are used to distinguish the same or similar items with substantially the same functions and effects. For example, the first terminal device and the second terminal device are used to distinguish different terminal devices, and the order of precedence is not limited. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different.

需要说明的是,本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。It should be noted that in the embodiments of the present application, words such as "exemplarily" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplarily" or "for example" in the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplarily" or "for example" is intended to present related concepts in a specific way.

此外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。In addition, "at least one" means one or more, and "plurality" means two or more. "And/or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and/or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character "/" generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b and c can mean: a, or b, or c, or a and b, or a and c, or b and c, or a, b and c, where a, b, c can be single or multiple.

随着终端技术的发展,用户往往需要在多个终端设备之间进行内容切换,例如,当用户在手机的备忘录里进行内容编辑时,由于手机屏幕较小,此时用户可能希望使用平板电脑或者其他屏幕较大的设备继续编辑备忘录里的内容。With the development of terminal technology, users often need to switch content between multiple terminal devices. For example, when a user is editing content in a memo on a mobile phone, due to the small screen of the mobile phone, the user may want to use a tablet computer or other device with a larger screen to continue editing the content in the memo.

在上述手机内容切换到平板电脑的场景中,当用户想要在切换平板电脑后继续编辑之前在手机中编辑的备忘录内容时,通常需要找到并打开平板电脑中的备忘录,重新编辑手机中的备忘录内容,或者,需要将手机中的备忘录内容通过媒介拷贝到平板电脑上,例如可以通过聊天工具、或者U盘等媒介进行内容的复制粘贴,将手机中的内容切换到平板电脑上。但是上述操作使得设备间的内容切换过程较为繁琐,耗时较长。In the above scenario where the content of the mobile phone is switched to the tablet computer, when the user wants to continue editing the memo content previously edited in the mobile phone after switching to the tablet computer, it is usually necessary to find and open the memo in the tablet computer and re-edit the memo content in the mobile phone, or copy the memo content in the mobile phone to the tablet computer through a medium, such as copying and pasting the content through a chat tool or a USB flash drive, and switching the content in the mobile phone to the tablet computer. However, the above operations make the content switching process between devices more cumbersome and time-consuming.

终端技术的不断发展带动了设备间的互联互通的可能性,而跨设备之间的应用接续也将成为后续多设备场景中的重要功能。其中,应用接续可以理解为,当用户在设备A上使用某一应用时,用户可以在符合接续条件的设备B中接续该应用的使用状态,并继续使用该应用。这种方式使得设备间的内容切换更加简单高效。The continuous development of terminal technology has promoted the possibility of interconnection between devices, and application continuation between devices will also become an important function in subsequent multi-device scenarios. Among them, application continuation can be understood as when a user uses an application on device A, the user can continue the use of the application on device B that meets the continuation conditions and continue to use the application. This method makes content switching between devices simpler and more efficient.

图1是本申请实施例提供的一种场景示意图。该场景示出了个人笔记本(personalcomputer,PC)和手机。其中,PC采用Windows系统,手机采用安卓(Android)系统。用户可以使用手机接续PC中的应用呈现的内容,也可以使用PC接续手机中的应用呈现的内容。FIG1 is a schematic diagram of a scenario provided by an embodiment of the present application. The scenario shows a personal computer (PC) and a mobile phone. The PC uses the Windows system and the mobile phone uses the Android system. A user can use the mobile phone to continue the content presented by the application in the PC, or use the PC to continue the content presented by the application in the mobile phone.

可选地,该场景中还可以包括更多的终端设备,例如大屏、平板电脑等。示例性地,用户可以利用手机、大屏、平板电脑中的至少一个设备接续PC中应用呈现的内容。Optionally, the scenario may also include more terminal devices, such as a large screen, a tablet computer, etc. Exemplarily, the user may use at least one of a mobile phone, a large screen, and a tablet computer to access the content presented by the application in the PC.

下面结合图2,以用户利用PC上的备忘录编辑文字,并且用户想要通过手机继续在备忘录中编辑文字为例进行介绍。In conjunction with FIG. 2 , an example is given below in which a user edits text using a memo on a PC and the user wants to continue editing text in the memo through a mobile phone.

图2是本申请实施例提供的一种应用接续的界面示意图。FIG. 2 is a schematic diagram of an interface for application connection provided in an embodiment of the present application.

参见图2中的A界面,用户在PC上打开备忘录并编辑内容时,PC对外广播接续通知,手机接收到接续通知之后,参见图2中的B界面,手机通过dock栏(或者通过多任务中心)提示用户具有可接续任务,其中,dock栏可以是手机、PC等设备的屏幕下方的一个固定的界面,用户可以将比较常用的应用放在dock栏。若用户有更换设备继续编辑内容的需求,用户可以点击手机dock栏上的接续通知以打开手机上的备忘录进行应用接续。参见图2中的C界面,在手机的备忘录界面中接续显示之前在PC上编辑的内容,光标位置显示在接续之前PC上光标停留的位置,用户可以在手机上继续编辑内容。Refer to interface A in Figure 2. When the user opens the memo on the PC and edits the content, the PC broadcasts a continuation notification. After the mobile phone receives the continuation notification, refer to interface B in Figure 2. The mobile phone prompts the user through the dock bar (or through the multitasking center) that there is a task that can be continued. The dock bar can be a fixed interface at the bottom of the screen of a mobile phone, PC or other device. The user can put the more commonly used applications in the dock bar. If the user needs to change the device to continue editing the content, the user can click the continuation notification on the dock bar of the mobile phone to open the memo on the mobile phone for application continuation. Refer to interface C in Figure 2. The content previously edited on the PC is displayed in the memo interface of the mobile phone. The cursor position is displayed at the position where the cursor on the PC was before the continuation. The user can continue editing the content on the mobile phone.

需要说明的是,图2中示出的PC和手机属于同一个信任环中,属于同一个信任环可以理解为设备之间登录相同的设备账号、设备之间的距离满足一定阈值、并且设备之间均开启蓝牙或无线保真(wireless fidelity,Wi-Fi)。其中,设备账号可以用于设备之间连接时进行设备鉴权;蓝牙或Wi-Fi可以用于设备之间进行设备发现和连接。It should be noted that the PC and mobile phone shown in Figure 2 belong to the same trust ring. Belonging to the same trust ring can be understood as the same device account is logged in between devices, the distance between devices meets a certain threshold, and Bluetooth or wireless fidelity (Wi-Fi) is turned on between devices. Among them, the device account can be used for device authentication when connecting between devices; Bluetooth or Wi-Fi can be used for device discovery and connection between devices.

当用户使用PC在备忘录里进行编辑时,属于同一信任环的手机可以提示用户能够进行应用接续。当用户触发手机确认进行应用接续时,手机中的备忘录可以获取并加载PC中的备忘录数据,进而使用户可以在手机上继续编辑备忘录内容,从而可以为用户提供接续服务,降低用户在进行跨设备应用接续时的操作复杂度,提升用户体验。When a user is editing a memo on a PC, a mobile phone in the same trust circle can prompt the user to continue the application. When the user triggers the mobile phone to confirm the application continuation, the memo in the mobile phone can obtain and load the memo data in the PC, so that the user can continue to edit the memo content on the mobile phone, thereby providing users with continuation services, reducing the complexity of operations when users continue cross-device applications, and improving user experience.

与图2类似的场景还可以包括:将手机上打开的可携带文档格式(portabledocument format,PDF)接续到平板电脑上继续显示;或,将平板电脑上播放的视频接续到手机上继续播放;或,将PC上播放的音乐接续到手机上继续播放等。Scenarios similar to FIG. 2 may also include: continuing to display a portable document format (PDF) opened on a mobile phone on a tablet computer; or continuing to play a video played on a tablet computer on a mobile phone; or continuing to play music played on a PC on a mobile phone, etc.

对于应用接续场景下的PC而言,为实现将应用的使用状态同步至其他设备,或者将其他设备的应用的使用状态同步至PC的需求,PC需要对外提供接续框架和软件开发工具包(software development kit,SDK)以满足此需求。其中,接续框架是为应用提供统一的应用状态同步框架,应用需要通过SDK接入接续框架,实现与接续框架中的接续服务的数据传输。接续服务以电脑管家为依托为应用提供对外服务能力。For PCs in application continuation scenarios, in order to synchronize the usage status of applications to other devices, or synchronize the usage status of applications on other devices to the PC, the PC needs to provide a continuation framework and software development kit (SDK) to meet this requirement. The continuation framework provides a unified application status synchronization framework for applications. Applications need to access the continuation framework through the SDK to achieve data transmission with the continuation service in the continuation framework. The continuation service provides external service capabilities for applications based on PC Manager.

应理解的是,在PC中的应用和接续服务启动之后,应用和接续服务处于两个不同的进程,因此应用需要通过进程间通信(inter process communication,IPC)和接续服务通信。It should be understood that after the application and the connection service in the PC are started, the application and the connection service are in two different processes, so the application needs to communicate with the connection service through inter-process communication (IPC).

然而,如果有多个应用同时接入接续框架,依托电脑管家与接续服务进行通信,这样会占用过多的IPC通信资源。而集成在PC的电脑管家中的接续框架为应用提供的IPC通信资源是有限的,在接入应用过多的情况下,如何灵活地为多个应用分配IPC通信资源是一个亟待解决的问题。However, if multiple applications are connected to the connection framework at the same time, relying on the PC manager to communicate with the connection service, this will occupy too many IPC communication resources. The connection framework integrated in the PC manager provides limited IPC communication resources for applications. When there are too many connected applications, how to flexibly allocate IPC communication resources for multiple applications is an urgent problem to be solved.

本申请实施例以接续应用作为具有接续功能的应用的统称,接续应用的类型可以包括:编辑类应用(或称为文档应用/办公类应用)、浏览类应用、影音娱乐类应用(或称为多媒体播放应用)等。应理解的是,占用电脑管家的IPC通信资源的应用并不全是接续应用,例如还有一些安全防护类应用、引擎类应用等也占用电脑管家的IPC通信资源。In the present application embodiment, the continuation application is used as a general term for applications with a continuation function, and the types of continuation applications may include: editing applications (or document applications/office applications), browsing applications, audio and video entertainment applications (or multimedia playback applications), etc. It should be understood that not all applications occupying the IPC communication resources of the computer manager are continuation applications, for example, some security protection applications, engine applications, etc. also occupy the IPC communication resources of the computer manager.

有鉴于此,本申请实施例提供一种应用接续方法,当有多个应用同时接入接续框架,依托PC的电脑管家与接续服务进行通信时,PC可以为每个应用申请共享内存中的地址,基于申请到的共享内存的地址为每个应用分配通信资源,应用可基于该通信资源接入接续服务并与接续服务进行数据传输。In view of this, an embodiment of the present application provides an application continuation method. When multiple applications access the continuation framework at the same time and rely on the PC's computer manager to communicate with the continuation service, the PC can apply for an address in the shared memory for each application, and allocate communication resources to each application based on the applied shared memory address. The application can access the continuation service based on the communication resources and transmit data to the continuation service.

图3是本申请实施例适用的一种终端设备的结构示意图。FIG3 is a schematic diagram of the structure of a terminal device applicable to an embodiment of the present application.

终端设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。The terminal device may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

可以理解的是,本申请实施例示意的结构并不构成对终端设备的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。It is to be understood that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the terminal device. In other embodiments of the present application, the terminal device may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and/or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.

处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从上述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

在一些实施例中,处理器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)接口等。In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver/transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input/output (GPIO) interface, a subscriber identity module (SIM) interface, and/or a universal serial bus (USB) interface, etc.

可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备的结构限定。在本申请另一些实施例中,终端设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present application is only a schematic illustration and does not constitute a structural limitation on the terminal device. In other embodiments of the present application, the terminal device may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

终端设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。The terminal device implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.

终端设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。The terminal device can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.

外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal device. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function. For example, files such as music and videos can be stored in the external memory card.

内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备的各种功能应用以及数据处理。例如,可以执行本申请实施例的应用接续方法。The internal memory 121 can be used to store computer executable program codes, and the executable program codes include instructions. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the terminal device (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the terminal device by running instructions stored in the internal memory 121, and/or instructions stored in a memory provided in the processor. For example, the application continuation method of an embodiment of the present application may be executed.

本申请的终端设备可以作为发送端,也可以作为接收端。终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例的图4以分层架构的Android系统为例,示例性说明本申请实施例的终端设备的软件结构。The terminal device of the present application can be used as a transmitting end or a receiving end. The software system of the terminal device can adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. FIG. 4 of the embodiment of the present application takes the Android system of the layered architecture as an example to exemplarily illustrate the software structure of the terminal device of the embodiment of the present application.

如图4所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口进行数据的传输与通信。在一些实施例中,将Android系统分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库、硬件抽象层(hardware abstract layer,HAL),以及内核层。As shown in FIG4 , the layered architecture divides the software into several layers, each with clear roles and division of labor. Data is transmitted and communicated between layers through software interfaces. In some embodiments, the Android system is divided into five layers, from top to bottom, namely, the application layer, the application framework layer, the Android runtime and system library, the hardware abstract layer (HAL), and the kernel layer.

应用程序层可以包括一系列应用程序包。如图4所示,应用程序包可以包括三方应用、接续服务SDK、蓝牙、Wi-Fi、备忘录、视频、游戏等应用程序。例如本申请实施例中,在应用程序层中,接续应用可以接入接续服务SDK,接续应用可以为终端设备中的系统应用,也可以为三方应用,备忘录、视频、游戏等应用也可以为系统应用或三方应用。The application layer may include a series of application packages. As shown in FIG4 , the application package may include third-party applications, connection service SDK, Bluetooth, Wi-Fi, memo, video, game and other applications. For example, in the embodiment of the present application, in the application layer, the connection application may access the connection service SDK, the connection application may be a system application in the terminal device, or a third-party application, and the memo, video, game and other applications may also be system applications or third-party applications.

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。The application framework layer provides an application programming interface (API) and a programming framework for the applications in the application layer. The application framework layer includes some predefined functions.

如图4所示,应用程序框架层可以包括接续服务管理器、通信服务管理器、鉴权服务管理器、通知管理器、窗口管理器、资源管理器、内容提供器和视图系统等。其中,管理器在一些应用场景中也可以称为模块。As shown in Figure 4, the application framework layer may include a connection service manager, a communication service manager, an authentication service manager, a notification manager, a window manager, a resource manager, a content provider, and a view system, etc. The manager may also be referred to as a module in some application scenarios.

接续服务管理器可以负责接续任务的管理,为接续应用提供继续服务,是接续框架的核心。例如本申请实施例中,接续服务管理器可以负责接续应用的接入、接续应用的鉴权、接续应用的图标管理以及接续数据跨设备间的传输。The continuation service manager can be responsible for the management of continuation tasks and provide continuation services for continuation applications, and is the core of the continuation framework. For example, in the embodiment of the present application, the continuation service manager can be responsible for the access of continuation applications, the authentication of continuation applications, the icon management of continuation applications, and the transmission of continuation data across devices.

通信服务管理器可以用于实现跨设备间的数据传输,例如本申请实施例中,通信服务管理器可以实现同账号设备的安全认证与账号鉴权、设备的自发现与自组网、设备间的数据传输以及通信服务的接入等。The communication service manager can be used to realize data transmission across devices. For example, in the embodiment of the present application, the communication service manager can realize security authentication and account authentication of devices with the same account, self-discovery and self-organizing networking of devices, data transmission between devices, and access to communication services.

鉴权服务管理器可以负责应用的合法性校验,例如本申请实施例中,在鉴权服务管理器校验通过后可以允许应用接入接续服务。The authentication service manager may be responsible for verifying the legitimacy of the application. For example, in an embodiment of the present application, the application may be allowed to access the subsequent service after the authentication service manager passes the verification.

通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息、发出提示音、终端设备振动、指示灯闪烁等。例如本申请实施例中,当终端设备接收到接续通知时,通知管理器可以在任务栏中显示接续通知。The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can automatically disappear after a short stay without user interaction. For example, the notification manager is used to notify the completion of downloads, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as a notification of an application running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is prompted in the status bar, a prompt tone is issued, the terminal device vibrates, an indicator light flashes, etc. For example, in an embodiment of the present application, when the terminal device receives a follow-up notification, the notification manager can display the follow-up notification in the taskbar.

窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏、锁定屏幕、触摸屏幕、拖拽屏幕、截取屏幕等。The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, touch the screen, drag the screen, capture the screen, etc.

资源管理器为应用程序提供各种资源,例如本地化字符串、图标、图片、布局文件、视频文件等等。The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.

内容提供器用于在不同的应用程序之间实现数据共享的功能,允许一个程序访问另一个程序中的数据,同时还能保证被访问的数据的安全性。Content providers are used to implement data sharing between different applications, allowing one program to access data in another program while ensuring the security of the accessed data.

视图系统可以负责应用程序的界面绘制和事件处理。例如本申请实施例中,视图系统可以用于处理用户点击接续应用的通知图标后的事件处理。The view system can be responsible for the interface drawing and event processing of the application program. For example, in the embodiment of the present application, the view system can be used to process the event processing after the user clicks the notification icon of the subsequent application.

Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。Android runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system.

核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.

应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.

系统库可以包括多个功能模块。例如:媒体库(Media Libraries)、函数库(Function Libraries)图形处理库(例如:OpenGL ES)等。The system library may include multiple functional modules, such as media libraries, function libraries, graphics processing libraries (such as OpenGL ES), etc.

媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.

函数库为开发者提供多种服务的API接口,方便开发者快速集成并实现各种功能。The function library provides developers with API interfaces for multiple services, making it easy for developers to quickly integrate and implement various functions.

图形处理库用于实现图形绘图、图像渲染、合成和图层处理等。The graphics processing library is used to implement graphics drawing, image rendering, synthesis and layer processing.

硬件抽象层是介于内核层和Android runtime之间的抽象出来的一层结构。硬件抽象层可以是对硬件驱动的一个封装,为上层应用的调用提供统一接口。硬件抽象层可以包括蓝牙模块、Wi-Fi模块、硬件配置模块等。例如本申请实施例中,硬件抽象层中的蓝牙模块和Wi-Fi模块可以屏蔽内核层中蓝牙驱动和Wi-Fi驱动的具体硬件实现细节,上层应用在不必知道内核层硬件驱动的具体实现方式的情况下就可以通过调用接口实现蓝牙功能和Wi-Fi功能。The hardware abstraction layer is an abstracted structure between the kernel layer and the Android runtime. The hardware abstraction layer can be a package of the hardware driver, providing a unified interface for the call of the upper layer application. The hardware abstraction layer may include a Bluetooth module, a Wi-Fi module, a hardware configuration module, etc. For example, in an embodiment of the present application, the Bluetooth module and the Wi-Fi module in the hardware abstraction layer can shield the specific hardware implementation details of the Bluetooth driver and the Wi-Fi driver in the kernel layer, and the upper layer application can implement the Bluetooth function and the Wi-Fi function by calling the interface without having to know the specific implementation method of the kernel layer hardware driver.

内核层是硬件和软件之间的层。内核层可以包括显示驱动、摄像头驱动、音频驱动、蓝牙驱动、Wi-Fi驱动、中央处理器驱动等。例如本申请实施例中,通信服务管理器可以通过蓝牙驱动以及Wi-Fi驱动等相关模块进行跨设备间的连接,实现设备的自发现与自组网。The kernel layer is the layer between hardware and software. The kernel layer may include display drivers, camera drivers, audio drivers, Bluetooth drivers, Wi-Fi drivers, CPU drivers, etc. For example, in the embodiment of the present application, the communication service manager can connect across devices through related modules such as Bluetooth drivers and Wi-Fi drivers to achieve self-discovery and self-organizing networking of devices.

可以理解的是,本申请实施例的发送端或接收端也可以采用Windows系统,如图5所示,与Android系统不同的是Windows系统的分层架构主要分为用户态和内核态,用户态可以包括用户应用程序进程,以及系统进程与服务进程等;内核态可以包括内核和设备驱动层,以及硬件抽象层等。It can be understood that the sending end or the receiving end of the embodiment of the present application can also adopt the Windows system. As shown in Figure 5, the difference from the Android system is that the layered architecture of the Windows system is mainly divided into user state and kernel state. The user state can include user application processes, system processes, service processes, etc.; the kernel state can include the kernel and device driver layer, as well as the hardware abstraction layer, etc.

用户应用程序进程可以执行一系列应用程序。具体可执行的应用程序类型可以与Android系统中应用程序层中的应用程序类型相同,在此不再赘述。The user application process can execute a series of applications. The specific executable application types can be the same as the application types in the application layer of the Android system, which will not be repeated here.

系统进程与服务进程中可以包括接续服务管理器、通信服务管理器、鉴权服务管理器、系统进程、通知管理器、窗口管理器等,可以为用户应用程序进程的执行提供相应服务。具体与本申请实施例相关的接续服务管理器、通信服务管理器、鉴权服务管理器等进程的作用可参见Android中的相关管理器描述,在此不再赘述。The system process and service process may include a connection service manager, a communication service manager, an authentication service manager, a system process, a notification manager, a window manager, etc., which can provide corresponding services for the execution of user application processes. The functions of the connection service manager, the communication service manager, the authentication service manager and other processes related to the embodiment of the present application can be found in the description of the relevant managers in Android, which will not be repeated here.

此外,系统进程与服务进程中还可以包括通道管理服务器,通道管理服务器用于对应用程序的通信通道进行管理,包括对通信通道的定时查询、对通信通道的释放等。In addition, the system process and the service process may also include a channel management server, which is used to manage the communication channels of the application programs, including timed query of the communication channels, release of the communication channels, etc.

内核层和设备驱动层可以包括蓝牙驱动、Wi-Fi驱动、显示驱动等,硬件抽象层可以包括蓝牙模块、Wi-Fi模块、硬件配置模块等。具体的功能模块的作用可参见Android中的相关描述,在此不再赘述。下面结合终端设备之间在应用接续过程中进行接续通知显示的场景,示例性说明Windows系统分层框架中的接续数据的传输流程。The kernel layer and device driver layer may include Bluetooth driver, Wi-Fi driver, display driver, etc., and the hardware abstraction layer may include Bluetooth module, Wi-Fi module, hardware configuration module, etc. The functions of the specific functional modules can be found in the relevant description in Android, which will not be repeated here. The following is an example of the transmission process of connection data in the Windows system layered framework, combined with the scenario of displaying connection notifications between terminal devices during the application connection process.

如图5所示,在发送端的应用程序层中,应用程序通过接入接续服务SDK进行初始化。接续服务SDK为应用程序申请共享内存的地址,确定应用程序的通信标识(identification,ID)。这样接续服务SDK可以向应用程序返回初始化成功。在确定应用程序的通信ID之后,应用程序可以通过接入接续服务SDK实现与接续服务的数据传输。接续服务SDK可以在通信ID指示的通信通道上向接续服务管理器发送绑定接续服务以及应用注册接续服务的请求,进而实现应用程序层与应用程序框架层之间的接续应用注册与绑定的数据传输。As shown in Figure 5, in the application layer of the sending end, the application is initialized by accessing the continuation service SDK. The continuation service SDK applies for the address of the shared memory for the application and determines the communication identification (ID) of the application. In this way, the continuation service SDK can return the initialization success to the application. After determining the communication ID of the application, the application can realize data transmission with the continuation service by accessing the continuation service SDK. The continuation service SDK can send a request to bind the continuation service and register the continuation service for the application to the continuation service manager on the communication channel indicated by the communication ID, thereby realizing the continuation application registration and binding data transmission between the application layer and the application framework layer.

在应用程序框架层中,接续服务管理器可以通过与通信服务管理器进行信令传输与数据传输完成通信服务的绑定。接续服务管理器还可以与鉴权服务管理器进行绑定鉴权服务以及应用鉴权。In the application framework layer, the connection service manager can complete the binding of communication services by performing signaling transmission and data transmission with the communication service manager. The connection service manager can also bind authentication services and application authentication with the authentication service manager.

在接续应用注册成功后,通信服务管理器可以调用硬件抽象层提供的蓝牙模块接口以及Wi-Fi模块接口实现设备的自发现与自组网,并通过内核层和设备驱动层中的蓝牙驱动和Wi-Fi驱动实现终端设备间的会话连接、消息传递,以及接续内容的传输等。After the follow-up application is successfully registered, the communication service manager can call the Bluetooth module interface and Wi-Fi module interface provided by the hardware abstraction layer to realize device self-discovery and self-organizing networking, and realize session connection, message transmission, and transmission of follow-up content between terminal devices through the Bluetooth driver and Wi-Fi driver in the kernel layer and device driver layer.

当接收端基于内核层和设备驱动层接收到发送端传递过来的接续相关的数据后,可以将数据传输给硬件抽象层中的相关模块。在接收端的应用程序框架层中,通信服务管理器可以通过硬件抽象层中提供的接口获取传输过来的接续数据,并与接续服务管理器进行信令传输与数据传输。接续服务管理器在接收到接续相关的数据后,可以与鉴权服务管理器进行绑定鉴权服务以及应用鉴权。进一步地,接续服务管理器可以指示桌面启动器以图标形式显示接续通知。When the receiving end receives the connection-related data transmitted from the sending end based on the kernel layer and the device driver layer, the data can be transmitted to the relevant modules in the hardware abstraction layer. In the application framework layer of the receiving end, the communication service manager can obtain the transmitted connection data through the interface provided in the hardware abstraction layer, and perform signaling and data transmission with the connection service manager. After receiving the connection-related data, the connection service manager can bind the authentication service and apply authentication with the authentication service manager. Furthermore, the connection service manager can instruct the desktop launcher to display the connection notification in the form of an icon.

下面将结合实现跨设备间的应用接续方法的系统详细说明各模块之间的交互过程。下面的实施例可以相互结合或独立实施,对于相同或相似的概念或过程可能在某些实施例中不再赘述。The following will describe the interaction process between the modules in detail in conjunction with a system for implementing a method for connecting applications across devices. The following embodiments may be combined with each other or implemented independently, and the same or similar concepts or processes may not be described in detail in some embodiments.

图6是本申请实施例提供的一种应用接续方法的示意性流程图。实现跨设备间的应用接续方法的系统中可以包括第一终端设备和第二终端设备,第一终端设备可以作为发送端,具有如图3和图5所示的结构,第二终端设备可以作为接收端,具有如图3和图4所示的结构。第一终端设备与第二终端设备中均可以包括实现接续服务的各个功能模块,例如,可以包括接续服务SDK、接续服务管理器、通信服务管理器以及鉴权服务管理器等。FIG6 is a schematic flow chart of an application continuation method provided in an embodiment of the present application. A system for implementing a cross-device application continuation method may include a first terminal device and a second terminal device, the first terminal device may serve as a transmitter, and have a structure as shown in FIG3 and FIG5 , and the second terminal device may serve as a receiver, and have a structure as shown in FIG3 and FIG4 . The first terminal device and the second terminal device may each include various functional modules for implementing a continuation service, for example, a continuation service SDK, a continuation service manager, a communication service manager, and an authentication service manager, etc.

本申请实施例的第一终端设备可以具体为采用Windows系统的设备,如PC,第二终端设备可以具体为采用Android系统的设备,如手机、平板电脑等。The first terminal device in the embodiment of the present application can be specifically a device using the Windows system, such as a PC, and the second terminal device can be specifically a device using the Android system, such as a mobile phone, a tablet computer, etc.

为了便于描述,后续将第一终端设备的接续应用称为第一接续应用,第一终端设备的接续服务SDK称为第一接续服务SDK,第一终端设备的接续服务管理器称为第一接续服务管理器第一终端设备的通道服务管理器称为第一通道服务管理器,第一终端设备的通信服务管理器称为第一通信服务管理器,第一终端设备的鉴权服务管理器称为第一鉴权服务管理器。For the sake of ease of description, the connection application of the first terminal device will be referred to as the first connection application, the connection service SDK of the first terminal device will be referred to as the first connection service SDK, the connection service manager of the first terminal device will be referred to as the first connection service manager, the channel service manager of the first terminal device will be referred to as the first channel service manager, the communication service manager of the first terminal device will be referred to as the first communication service manager, and the authentication service manager of the first terminal device will be referred to as the first authentication service manager.

将第二终端设备的接续应用称为第二接续应用,第二终端设备的接续服务SDK称为第二接续服务SDK,第二终端设备的接续服务管理器称为第二接续服务管理器,第二终端设备的通信服务管理器称为第二通信服务管理器,第二终端设备的鉴权服务管理器称为第二鉴权服务管理器。The continuation application of the second terminal device is called the second continuation application, the continuation service SDK of the second terminal device is called the second continuation service SDK, the continuation service manager of the second terminal device is called the second continuation service manager, the communication service manager of the second terminal device is called the second communication service manager, and the authentication service manager of the second terminal device is called the second authentication service manager.

本申请实施例的应用接续方法的实现过程可以分为四个阶段,第一阶段为接续应用的初始化、第二阶段为接续应用的注册与绑定,第三阶段为接续通知的显示,第四阶段为接续数据的获取与加载。下面结合图6分别介绍各阶段。The implementation process of the application continuation method of the embodiment of the present application can be divided into four stages: the first stage is the initialization of the continuation application, the second stage is the registration and binding of the continuation application, the third stage is the display of the continuation notification, and the fourth stage is the acquisition and loading of the continuation data. The following describes each stage in conjunction with FIG6.

第一阶段、初始化。Phase 1: Initialization.

第一终端设备的第一接续服务管理器在电脑管家中运行,应用作为独立进程接入接续服务SDK后运行在三方应用中,因此,第一接续服务管理器需要和第一接续应用跨进程通信。当第一终端设备的第一接续应用监控到一些用户行为时,第一接续应用可以调用第一接续服务SDK的初始化接口,以申请可用于第一接续应用与第一接续服务管理器跨进程通信的通信通道。在申请到通信通道之后,第一接续应用可以接收到第一接续服务SDK返回的初始化成功的消息。The first continuation service manager of the first terminal device runs in the PC Manager. The application is connected to the continuation service SDK as an independent process and then runs in the third-party application. Therefore, the first continuation service manager needs to communicate with the first continuation application across processes. When the first continuation application of the first terminal device monitors some user behaviors, the first continuation application can call the initialization interface of the first continuation service SDK to apply for a communication channel that can be used for cross-process communication between the first continuation application and the first continuation service manager. After applying for the communication channel, the first continuation application can receive a successful initialization message returned by the first continuation service SDK.

用户行为可以为用户点击第一接续应用的图标启动第一接续应用,也可以为用户在第一接续应用中进行编辑等操作,还可以为用户在第一接续应用中点击播放按钮进行视频播放、音乐播放或其他媒体播放等操作,具体所监控的用户行为可以由接续应用进行自定义设置,本申请实施例不作限制。The user behavior may be that the user clicks on the icon of the first continuation application to launch the first continuation application, or may be that the user performs editing and other operations in the first continuation application, or may be that the user clicks on the play button in the first continuation application to perform operations such as video playback, music playback or other media playback. The specific monitored user behavior may be customized by the continuation application, and the embodiments of the present application are not limited thereto.

在第一终端设备为应用接续的发送端时,第一接续应用的图标可以显示在第一终端设备的桌面或者任务栏(或称为dock栏)。When the first terminal device is the sending end of the application connection, the icon of the first connection application can be displayed on the desktop or task bar (or dock bar) of the first terminal device.

第一接续服务SDK在接收到初始化请求之后,可以去读取共享内存,确定共享内存中未被申请的比特位。下面结合图7,对共享内存的通信原理进行介绍。After receiving the initialization request, the first connection service SDK can read the shared memory to determine the unused bits in the shared memory. The communication principle of the shared memory is introduced below in conjunction with FIG7 .

图7是本申请实施例提供的一种共享内存的通信原理的示意图。如图7所示,共享内存是进程间通信的方式之一,允许多个进程访问同一块内存。进程A和进程B都有属于自己的进程控制块(process control block,PCB)和地址空间(address space),并且都有一个与之对应的页表,负责将进程的虚拟地址与物理地址进行映射,通过内存管理单元(memory management unit,MMU)进行管理。两个不同的虚拟地址通过页表映射到物理空间的同一区域,它们所指向的这块区域即为共享内存。FIG7 is a schematic diagram of a communication principle of a shared memory provided by an embodiment of the present application. As shown in FIG7, shared memory is one of the ways of inter-process communication, allowing multiple processes to access the same memory. Process A and process B each have their own process control block (PCB) and address space, and each has a corresponding page table, which is responsible for mapping the virtual address of the process to the physical address and is managed by the memory management unit (MMU). Two different virtual addresses are mapped to the same area of the physical space through the page table, and the area they point to is the shared memory.

当进程A和进程B通过页表将虚拟地址映射到物理地址时,在物理地址中有一块共同的内存区,即共享内存,这块内存可以被进程A和进程B同时看到。这样一个进程进行写操作,另一个进程进行读操作就可以实现进程间通信。When process A and process B map virtual addresses to physical addresses through page tables, there is a common memory area in the physical address, namely shared memory, which can be seen by both process A and process B. In this way, inter-process communication can be achieved when one process performs a write operation and the other performs a read operation.

图8是本申请实施例提供的一种申请通信通道的示意图。第一接续服务SDK在确定共享内存中未被申请的比特位时,按照顺序读取共享内存中各个比特位的值,每个比特位的值第一预设值或者第二预设值,值为第一预设值的比特位对应的通信通道未被申请或者未被使用,值为第二预设值的比特位对应的通信通道已被申请或者已被使用。示例性地,第一预设值可以为“0”,第二预设值可以为“1”。FIG8 is a schematic diagram of applying for a communication channel provided by an embodiment of the present application. When determining the unapplied bits in the shared memory, the first connection service SDK reads the values of the bits in the shared memory in sequence, and the value of each bit is the first preset value or the second preset value. The communication channel corresponding to the bit with the first preset value is not applied for or is not used, and the communication channel corresponding to the bit with the second preset value is applied for or has been used. Exemplarily, the first preset value can be "0" and the second preset value can be "1".

如图8中的a所示,共享内存区域中的第一个比特位和第二个比特位的值“1”,表示这两个比特位对应的通信通道已经被应用A和应用B占用。As shown in a of FIG. 8 , the values of the first bit and the second bit in the shared memory area are “1”, indicating that the communication channels corresponding to these two bits have been occupied by application A and application B.

如图8中的b所示,当第一接续应用(应用C)接入第一接续服务SDK时,第一接续服务SDK检测到共享内存区域的第三个比特位的值为“0”,因此第一接续服务SDK可以确定第三个比特位为目标比特位,并向第一接续服务SDK返回比特空位的标识n,也即返回第三个比特空位的标识。其中,比特空位表示值为“0”的比特位。As shown in b of FIG8 , when the first connection application (application C) accesses the first connection service SDK, the first connection service SDK detects that the value of the third bit of the shared memory area is "0", so the first connection service SDK can determine that the third bit is the target bit, and returns the bit vacancy identifier n to the first connection service SDK, that is, returns the identifier of the third bit vacancy. Wherein, the bit vacancy indicates a bit with a value of "0".

示例性地,第一个比特位的标识n为1,第二个比特位的标识n为2,第三个比特位的标识n为3,依次类推。Exemplarily, the identifier n of the first bit is 1, the identifier n of the second bit is 2, the identifier n of the third bit is 3, and so on.

在第一接续服务SDK检测到第三个比特位的值为“0”,确定第三个比特位为目标比特位之后,第一接续服务SDK可以将目标比特位的值修改为“1”,以指示目标比特位对应的通信通道已被申请或已被使用。After the first connection service SDK detects that the value of the third bit is "0" and determines that the third bit is the target bit, the first connection service SDK can modify the value of the target bit to "1" to indicate that the communication channel corresponding to the target bit has been applied for or used.

第一接续服务SDK在接收到比特空位的标识n之后,根据比特空位的标识n计算通信ID,例如,通信ID=M+n×N,其中M、N为预设值,N的数值表示申请到的通信通道所支持的消息的种类数。After receiving the bit position identifier n, the first connection service SDK calculates the communication ID according to the bit position identifier n, for example, communication ID=M+n×N, where M and N are preset values, and the value of N represents the number of message types supported by the applied communication channel.

应理解的是,第一接续服务SDK计算得到的通信ID是一个起始的通信ID,从起始的通信ID开始的N个连续的通信ID所标识的通信通道都可以被第一接续服务SDK使用,N为预设值。也即,第一接续服务SDK根据计算得到的通信ID可确定多个通信通道,多个通信通道的数量为N,每个通信通道支持传输一种消息类别,消息类别例如:注册接续服务和回调的消息、解除注册接续服务和回调的消息、广播接续通知的消息、通信回连的消息等。It should be understood that the communication ID calculated by the first connection service SDK is a starting communication ID, and the communication channels identified by N consecutive communication IDs starting from the starting communication ID can be used by the first connection service SDK, where N is a preset value. That is, the first connection service SDK can determine multiple communication channels based on the calculated communication ID, and the number of multiple communication channels is N. Each communication channel supports the transmission of a message category, such as: messages for registering connection services and callbacks, messages for unregistering connection services and callbacks, messages for broadcasting connection notifications, messages for communication reconnection, etc.

下面以N=3,M=0对通信ID进行举例说明。The following takes N=3, M=0 as an example to illustrate the communication ID.

例如,应用A的接续服务SDK读取共享内存,检测到共享内存区域中的第一个比特位的值为“0”,第一个比特位的标识n=1,因此共享内存向应用A的接续服务SDK返回的比特空位的标识即为第一个比特位的标识n=1。应用A的接续服务SDK根据通信ID=M+n×N计算得到的通信ID为3,通信ID为3对应三个通信通道,三个通信通道的通信ID分别为3、4、5。For example, the connection service SDK of application A reads the shared memory and detects that the value of the first bit in the shared memory area is "0", and the identifier of the first bit is n = 1, so the identifier of the bit space returned by the shared memory to the connection service SDK of application A is the identifier of the first bit n = 1. The connection service SDK of application A calculates the communication ID as 3 based on the communication ID = M + n × N. The communication ID 3 corresponds to three communication channels, and the communication IDs of the three communication channels are 3, 4, and 5 respectively.

例如,应用B的接续服务SDK读取共享内存,检测到共享内存区域中的第二个比特位的值为“0”,第二个比特位的标识n=2,因此共享内存向应用A的接续服务SDK返回的比特空位的标识即为第二个比特位的标识n=2。应用B的接续服务SDK根据通信ID=M+n×N计算得到的通信ID为6,通信ID为6对应三个通信通道,三个通信通道的通信ID分别为6、7、8。For example, the connection service SDK of application B reads the shared memory and detects that the value of the second bit in the shared memory area is "0", and the identifier of the second bit is n = 2. Therefore, the identifier of the bit space returned by the shared memory to the connection service SDK of application A is the identifier of the second bit n = 2. The connection service SDK of application B calculates the communication ID as 6 based on the communication ID = M + n × N. The communication ID 6 corresponds to three communication channels, and the communication IDs of the three communication channels are 6, 7, and 8 respectively.

类似地,第一接续应用(应用C)的接续服务SDK根据通信ID=M+n×N计算得到的通信ID为9,通信ID为9对应三个通信通道,三个通信通道的通信ID分别为9、10、11。Similarly, the connection service SDK of the first connection application (application C) calculates the communication ID as 9 according to the communication ID=M+n×N. The communication ID 9 corresponds to three communication channels, and the communication IDs of the three communication channels are 9, 10, and 11 respectively.

应理解的是,每个应用申请到的多个通信通道中的每个通信通道上传输的是预定义的消息类型,例如,通信ID+1所标识的通信通道用于传输通信回连消息,即在上面的例子中,应用A可以通过通信ID为4所标识的通信通道接收通信回连消息、应用B可以通过通信ID为7所标识的通信通道接收通信回连消息、应用C可以通过通信ID为10所标识的通信通道接收通信回连消息。It should be understood that a predefined message type is transmitted on each of the multiple communication channels applied for by each application. For example, the communication channel identified by communication ID+1 is used to transmit the communication return message. That is, in the above example, application A can receive the communication return message through the communication channel identified by communication ID 4, application B can receive the communication return message through the communication channel identified by communication ID 7, and application C can receive the communication return message through the communication channel identified by communication ID 10.

在第一接续应用接收到初始化成功的消息之后,第一接续应用可以在申请到的通信通道与第一接续服务管理器进行交互,以便执行后续的应用接续的流程。After the first connection application receives the message of successful initialization, the first connection application may interact with the first connection service manager on the applied communication channel to execute the subsequent application connection process.

第二阶段、接续应用的注册与绑定。The second stage is to register and bind the subsequent application.

第一接续应用可以通过调用第一接续服务SDK的注册接口接入接续服务。可以理解的是,第一接续应用在注册接续服务时可以携带第一接续应用的包名、版本号等信息。The first connection application can access the connection service by calling the registration interface of the first connection service SDK. It is understandable that the first connection application can carry information such as the package name and version number of the first connection application when registering the connection service.

可能的实现中,第一接续服务SDK可以通过第一接续服务管理器与其他功能管理器进行数据交互。示例性地,第一接续服务SDK可以通过通信ID为1所标识的通信通道向第一接续服务管理器发送绑定接续服务以及应用注册接续服务的请求,第一接续服务管理器在接收到第一接续服务SDK的请求后,可以与第一通信服务管理器交互进而绑定通信服务,在绑定成功后,第一接续服务管理器则可以接收到第一通信服务管理器回复的绑定成功的消息。In a possible implementation, the first connection service SDK can exchange data with other function managers through the first connection service manager. For example, the first connection service SDK can send a request to bind the connection service and apply the registration connection service to the first connection service manager through the communication channel identified by the communication ID 1. After receiving the request from the first connection service SDK, the first connection service manager can interact with the first communication service manager to bind the communication service. After the binding is successful, the first connection service manager can receive a successful binding message from the first communication service manager.

第一接续服务管理器在接收到第一接续服务SDK的应用注册接续服务的请求后,可以通知第一通道服务管理器对发送该请求的通信通道的通信ID进行标记,表示该通信ID对应的通信通道已被使用。After receiving the request for application registration of the connection service from the first connection service SDK, the first connection service manager may notify the first channel service manager to mark the communication ID of the communication channel sending the request, indicating that the communication channel corresponding to the communication ID has been used.

进一步地,第一接续服务管理器可以通过调用第一鉴权服务管理器所提供的接口进行绑定鉴权服务以及应用鉴权。第一鉴权服务管理器接收鉴权请求后,可以通过与云端鉴权服务器进行数据交互完成第一接续应用的绑定与鉴权。可以理解的是,在绑定鉴权服务的过程中,云端鉴权服务器可以根据第一接续应用的包名获取用户标识(useridentification,UID),进而根据UID进行应用鉴权。当第一鉴权服务管理器对第一接续应用鉴权成功后,云端鉴权服务器中可以存储第一接续应用的图标等应用信息,并给第一接续服务管理器返回鉴权结果。Furthermore, the first connection service manager can bind the authentication service and perform application authentication by calling the interface provided by the first authentication service manager. After the first authentication service manager receives the authentication request, it can complete the binding and authentication of the first connection application by exchanging data with the cloud authentication server. It can be understood that in the process of binding the authentication service, the cloud authentication server can obtain the user identification (UID) according to the package name of the first connection application, and then perform application authentication based on the UID. When the first authentication service manager successfully authenticates the first connection application, the cloud authentication server can store the application information such as the icon of the first connection application, and return the authentication result to the first connection service manager.

第一接续服务管理器接收到第一接续应用鉴权结果后,会将该消息传递给第一接续应用。其中,鉴权结果可以包括鉴权成功和鉴权失败,如果第一接续应用接收到的结果为鉴权成功,则说明应用注册成功,可以继续执行应用接续的方法;如果第一接续应用接收到的结果为鉴权失败,则说明应用注册失败,不会继续执行应用接续的方法。After receiving the authentication result of the first connection application, the first connection service manager will pass the message to the first connection application. The authentication result may include authentication success and authentication failure. If the result received by the first connection application is authentication success, it means that the application registration is successful and the application connection method can continue to be executed; if the result received by the first connection application is authentication failure, it means that the application registration fails and the application connection method will not be executed.

第一接续服务管理器接收到第一接续应用鉴权结果,鉴权结果为鉴权成功之后,还会通知第一通道服务管理器应用已注册。第一通道服务管理器在接收到应用已注册的消息之后,启动对第一接续应用的状态的定时查询,向第一接续服务SDK发送定时查询消息。其中,第一接续应用的状态包括进程仍在存活或者进程已退出。具体地,第一通道服务管理器向第一接续服务SDK发送定时查询消息可以包括:第一通道服务管理器定时向第一接续服务SDK发送保活包,成功发送保活包则表示第一接续应用的进程仍在存活,未成功发送保活包则表示第一接续应用的进程已退出。After the first connection service manager receives the authentication result of the first connection application and the authentication result is successful, it will also notify the first channel service manager that the application has been registered. After receiving the message that the application has been registered, the first channel service manager starts a scheduled query on the status of the first connection application and sends a scheduled query message to the first connection service SDK. The status of the first connection application includes whether the process is still alive or the process has exited. Specifically, the first channel service manager sending a scheduled query message to the first connection service SDK may include: the first channel service manager regularly sends a keep-alive packet to the first connection service SDK, and successfully sending the keep-alive packet indicates that the process of the first connection application is still alive, and failing to send the keep-alive packet indicates that the process of the first connection application has exited.

在第一终端设备的应用注册成功之后,第一通信服务管理器与第二通信服务管理器可以通过蓝牙或者Wi-Fi进行自发现与自组网,以及进行账号鉴权。进一步地,第一通信服务管理器可以向第一接续服务管理器发送用于表示第二终端设备上线的信息。例如,用于表示第二终端设备上线的信息可以包括第二终端设备的设备标识(deviceidentification,DevID)等信息。After the application registration of the first terminal device is successful, the first communication service manager and the second communication service manager can perform self-discovery and self-networking through Bluetooth or Wi-Fi, as well as account authentication. Furthermore, the first communication service manager can send information indicating that the second terminal device is online to the first connection service manager. For example, the information indicating that the second terminal device is online may include information such as the device identification (DevID) of the second terminal device.

在第一接续服务管理器接收到第一通信服务管理器发送的用于表示第二终端设备上线的信息后,可以将第二终端设备的信息进行存储与管理,以便执行进行后续的应用接续的流程。After the first connection service manager receives the information sent by the first communication service manager indicating that the second terminal device is online, the information of the second terminal device can be stored and managed to execute the subsequent application connection process.

第三阶段、接续通知的显示。The third stage is the display of the follow-up notification.

当第一接续应用注册成功后,则可以周期性向第一接续服务管理器发送广播接续通知。其中,广播接续通知中可以携带第一接续应用的包名、接续策略,以及接续内容概要(如标题)等信息。第一接续服务管理器可以根据第一接续应用的接续策略确认可接续的设备。When the first connection application is successfully registered, a broadcast connection notification may be periodically sent to the first connection service manager. The broadcast connection notification may carry information such as the package name of the first connection application, the connection policy, and the connection content summary (such as the title). The first connection service manager may confirm the connectable device according to the connection policy of the first connection application.

示例性地,当接续策略为包括应用程序所支持的设备类型时,例如,接续策略中包括第一接续应用可以支持在手机、平板电脑、电视、电脑等上实现接续服务,则第一接续服务管理器在确认第二终端设备为手机、平板电脑、电视或电脑等时,第一接续服务管理器可以指示第一通信服务管理器和第二通信服务管理器建立会话通路。Exemplarily, when the connection policy includes the device types supported by the application, for example, the connection policy includes that the first connection application can support the implementation of connection services on mobile phones, tablet computers, televisions, computers, etc., then when the first connection service manager confirms that the second terminal device is a mobile phone, tablet computer, television or computer, etc., the first connection service manager can instruct the first communication service manager and the second communication service manager to establish a session path.

示例性地,当接续策略为包括最小版本号或最小版本时,例如,接续策略中包括第一接续应用可以支持最小版本号为A,或最小版本为B,则第一接续服务管理器在确认第二接续应用的版本号大于或等于A时,或者第二接续应用的版本大于或等于B时,第一接续服务管理器可以指示第一通信服务管理器和第二通信服务管理器建立会话通路。Exemplarily, when the continuation policy includes a minimum version number or a minimum version, for example, the continuation policy includes that the first continuation application can support a minimum version number of A, or a minimum version of B, then when the first continuation service manager confirms that the version number of the second continuation application is greater than or equal to A, or the version of the second continuation application is greater than or equal to B, the first continuation service manager can instruct the first communication service manager and the second communication service manager to establish a session path.

第一通信服务管理器和第二通信服务管理器之间则可以建立起会话通路,以便进行应用接续相关的消息传递和数据传输。A session path may be established between the first communication service manager and the second communication service manager to facilitate application connection-related message delivery and data transmission.

会话通路建立成功后,第一通信服务管理器可以向第一接续服务管理器指示通道建立成功,第一接续服务管理器可以根据第一接续应用发送的广播接续通知,将携带有第一接续应用的包名以及接续内容概要等信息的广播接续通知给到第一通信服务管理器,第一通信服务管理器通过建立好的会话通路将第一接续应用的包名以及接续内容概要等信息发送给第二通信服务管理器,第二通信服务管理器进一步将第一接续应用的包名以及接续内容概要等信息上报到第二接续服务管理器。After the session channel is successfully established, the first communication service manager can indicate to the first connection service manager that the channel is successfully established. The first connection service manager can, based on the broadcast connection notification sent by the first connection application, send a broadcast connection notification carrying information such as the package name of the first connection application and a summary of the connection content to the first communication service manager. The first communication service manager sends information such as the package name of the first connection application and a summary of the connection content to the second communication service manager through the established session channel. The second communication service manager further reports information such as the package name of the first connection application and a summary of the connection content to the second connection service manager.

第二接续服务管理器可以解析第一接续应用的包名,并携带第一接续应用的包名信息与第二鉴权服务管理器进行绑定与鉴权,绑定与鉴权相关的实现同第一终端设备中的鉴权步骤类似,在此不再赘述。The second connection service manager can parse the package name of the first connection application, and carry the package name information of the first connection application to bind and authenticate with the second authentication service manager. The implementation related to binding and authentication is similar to the authentication steps in the first terminal device, which will not be repeated here.

在应用鉴权成功之后,第二接续服务管理器可以通过任意可能的实现获取应用图标。After the application authentication is successful, the second connection service manager may obtain the application icon through any possible implementation.

一种可能的实现中,第二接续服务管理器可以根据得到的第一接续应用的包名等应用信息在第二终端设备中查找本地是否存储有第一接续应用的图标。若可以查找到第一接续应用的图标,则第二接续服务管理器可以通知桌面启动器使用第一接续应用的图标显示接续通知;若未查找到第一接续应用的图标,则第二接续服务管理器可以通过云端鉴权服务器获取第一接续应用的图标等相关信息。进一步地,在云端鉴权服务器将第一接续应用的图标发送给第二接续服务管理器时,则第二接续服务管理器可以在第二终端设备的本地存储第一接续应用的图标等相关信息,以及第二接续服务管理器可以通知桌面启动器在第二终端设备上显示接续通知。In a possible implementation, the second connection service manager can search whether the icon of the first connection application is stored locally in the second terminal device based on the application information such as the package name of the first connection application. If the icon of the first connection application can be found, the second connection service manager can notify the desktop launcher to use the icon of the first connection application to display the connection notification; if the icon of the first connection application is not found, the second connection service manager can obtain the icon of the first connection application and other related information through the cloud authentication server. Furthermore, when the cloud authentication server sends the icon of the first connection application to the second connection service manager, the second connection service manager can store the icon of the first connection application and other related information locally on the second terminal device, and the second connection service manager can notify the desktop launcher to display the connection notification on the second terminal device.

另一种可能的实现中,第二接续服务管理器可以通过云端鉴权服务器获取第一接续应用的图标等相关信息。In another possible implementation, the second connection service manager may obtain relevant information such as the icon of the first connection application through the cloud authentication server.

再一种可能的实现中,第二接续服务管理器可以在第二终端设备中查找与第一接续应用包名相同的第二接续应用。若可以查找到第二接续应用,则第二接续服务管理器可以通知桌面启动器使用第二终端设备本地存储的第二接续应用的图标显示接续通知;若未查找到第二接续应用,则第二接续服务管理器可以通过上述在第二终端设备的本地或者在云端鉴权服务器中查找应用信息的方式获取第一接续应用的图标等相关信息,并通知桌面启动器使用第一接续应用的图标显示接续通知。In another possible implementation, the second connection service manager can search for a second connection application with the same package name as the first connection application in the second terminal device. If the second connection application can be found, the second connection service manager can notify the desktop launcher to use the icon of the second connection application stored locally on the second terminal device to display the connection notification; if the second connection application is not found, the second connection service manager can obtain the icon and other related information of the first connection application by searching for application information locally on the second terminal device or in the cloud authentication server, and notify the desktop launcher to use the icon of the first connection application to display the connection notification.

可以理解的是,桌面启动器控制显示接续通知时,接续通知可以在第二终端设备的最近任务、任务栏、快捷窗口或者其他界面入口中显示,具体显示接续通知的方式,本申请实施例不作限制。接续通知可以以接续应用图标的形式显示,也可以通过应用名称、提示语或者其他形式显示,具体显示接续通知的形式,本申请实施例不作限制。It is understandable that when the desktop launcher controls the display of the continuation notification, the continuation notification can be displayed in the recent tasks, task bar, quick window or other interface entrance of the second terminal device, and the specific way of displaying the continuation notification is not limited by the embodiment of the present application. The continuation notification can be displayed in the form of a continuation application icon, or can be displayed by the application name, prompt or other forms, and the specific way of displaying the continuation notification is not limited by the embodiment of the present application.

第四阶段、接续数据的获取与加载。The fourth stage is to obtain and load the subsequent data.

当第二终端设备接收到用户点击接续应用图标的事件后,可能的实现中,若第二终端设备中未安装有第二接续应用,则第二终端设备中可以提示用户安装第二接续应用,具体的提示安装应用的方式,本申请实施例不作限制。若第二终端设备中已安装有第二接续应用,或基于提示完成第二接续应用的安装,则可以执行下述的步骤。When the second terminal device receives the event that the user clicks the icon of the continuation application, in a possible implementation, if the second continuation application is not installed in the second terminal device, the second terminal device may prompt the user to install the second continuation application. The specific method of prompting the user to install the application is not limited in the embodiment of the present application. If the second continuation application is already installed in the second terminal device, or the installation of the second continuation application is completed based on the prompt, the following steps may be performed.

第二接续服务管理器可以拉起第二接续应用,并指示第二接续应用加载过渡动画效果,则第二接续应用可以启动并加载过渡动效,过渡动效例如可以包括“加载中…”等提示信息。进一步地,第二接续应用可以通过调用第二接续服务SDK的注册接口接入接续服务,可以理解的是,第二接续应用在注册接续服务时可以携带第二接续应用的包名等信息。The second connection service manager can pull up the second connection application and instruct the second connection application to load the transition animation effect, and the second connection application can start and load the transition animation effect, and the transition animation effect can include prompt information such as "loading...". Further, the second connection application can access the connection service by calling the registration interface of the second connection service SDK. It is understandable that the second connection application can carry information such as the package name of the second connection application when registering the connection service.

第二接续服务SDK可以向第二接续服务管理器发送绑定接续服务的请求,第二接续服务管理器在接收到绑定接续服务的请求后,可以向第二通信服务管理器发送绑定通信服务的请求。当第二通信服务管理器绑定成功后,第二通信服务管理器可以通过第二接续服务管理器向第二接续服务SDK发送绑定成功的消息。第二接续服务SDK在接收到绑定成功的消息后,向第二接续服务管理器发送注册接续服务的消息,第二接续服务管理器在注册成功后,可以将注册成功的消息通过第二接续服务SDK返回给第二接续应用。The second connection service SDK can send a request to bind the connection service to the second connection service manager. After receiving the request to bind the connection service, the second connection service manager can send a request to bind the communication service to the second communication service manager. When the second communication service manager is successfully bound, the second communication service manager can send a binding success message to the second connection service SDK through the second connection service manager. After receiving the binding success message, the second connection service SDK sends a registration message to the second connection service manager. After the second connection service manager is successfully registered, the registration success message can be returned to the second connection application through the second connection service SDK.

在第二接续应用启动过程中,第二接续服务管理器还可以通过第一终端设备与第二终端设备之间所建立的会话通路向第一接续服务管理器发送请求接续数据,当第一接续服务管理器接收到请求接续数据后,可以通过第一接续服务SDK将请求接续数据上报给第一接续应用,则第一接续应用可以将接续内容等相关接续数据进行打包和加密,并通过第一接续服务SDK将接续数据发送给第一接续服务管理器,第一接续服务管理器可以通过第一终端设备与第二终端设备之间所建立的会话通路将接续数据发送给第二接续服务管理器。During the startup of the second continuation application, the second continuation service manager can also send request continuation data to the first continuation service manager through the session path established between the first terminal device and the second terminal device. After the first continuation service manager receives the request continuation data, it can report the request continuation data to the first continuation application through the first continuation service SDK. The first continuation application can package and encrypt related continuation data such as the continuation content, and send the continuation data to the first continuation service manager through the first continuation service SDK. The first continuation service manager can send the continuation data to the second continuation service manager through the session path established between the first terminal device and the second terminal device.

进一步地,第二接续服务管理器通过第二接续服务SDK向第二接续应用通知接续数据,第二接续应用在注册成功之后,可以加载接续数据并控制第二终端设备显示接续数据,以及向第一终端设备的第一接续应用传递用于指示接续成功的信息,进而第一接续应用可以执行退出第一接续应用的页面等流程。Furthermore, the second continuation service manager notifies the second continuation application of the continuation data through the second continuation service SDK. After successful registration, the second continuation application can load the continuation data and control the second terminal device to display the continuation data, and transmit information indicating the successful continuation to the first continuation application of the first terminal device, so that the first continuation application can execute processes such as exiting the page of the first continuation application.

在上文中描述的各阶段执行的过程中,可能存在以下几种场景。During the execution of the stages described above, the following scenarios may occur.

场景一、第一接续应用正常退出。Scenario 1: The first subsequent application exits normally.

示例性地,第一接续应用可以在接收到接续成功通知之后退出。在该场景下,第一接续应用可以通过调用第一接续服务SDK的应用解除注册接口以解除注册。第一接续服务SDK通过申请的通信通道向第一接续服务管理器发送应用解除注册的请求,第一接续服务管理器在接收到第一接续服务SDK的请求后,可以通知第一通道服务管理器应用已退出,第一通道服务管理器停止对第一接续应用的定时查询,并清理共享内存中的占用位。例如,第一接续服务SDK在申请通信通道时,将共享内存区域的第三个比特位的值修改为“1”,因此在清理时,第一通道服务管理器将共享内存区域的第三个比特位的值修改为“0”,表示第三个比特位对应的通信通道未被使用或未被申请,可以被其他的应用申请使用,这样有利于高效利用有限的IPC通信资源,提高通信资源的利用率。Exemplarily, the first continuation application can exit after receiving the notification of successful continuation. In this scenario, the first continuation application can deregister by calling the application deregistration interface of the first continuation service SDK. The first continuation service SDK sends an application deregistration request to the first continuation service manager through the applied communication channel. After receiving the request of the first continuation service SDK, the first continuation service manager can notify the first channel service manager that the application has exited, and the first channel service manager stops the scheduled query of the first continuation application and cleans up the occupied bits in the shared memory. For example, when applying for a communication channel, the first continuation service SDK modifies the value of the third bit of the shared memory area to "1". Therefore, when cleaning, the first channel service manager modifies the value of the third bit of the shared memory area to "0", indicating that the communication channel corresponding to the third bit is not used or applied for, and can be applied for by other applications. This is conducive to efficient use of limited IPC communication resources and improving the utilization rate of communication resources.

进一步地,第一通道服务管理器通知第一接续服务管理器应用断开成功,第一接续服务管理器在接收到应用断开成功的消息之后,通过第一接续服务SDK向第一接续应用发送解除注册成功的消息。Furthermore, the first channel service manager notifies the first connection service manager that the application is disconnected successfully. After receiving the message of successful application disconnection, the first connection service manager sends a message of successful deregistration to the first connection application through the first connection service SDK.

场景二、第一接续应用异常退出。Scenario 2: The first subsequent application exits abnormally.

示例性地,第一接续应用卡顿退出、用户在后台任务管理器强制停止应用等情况下可能导致第一接续应用异常退出。在该场景下,第一通道服务管理器无法成功向第一接续服务SDK发送保活包,第一接续服务SDK未向第一接续服务管理器解除注册,导致第一接续应用一直占用通信通道,在IPC通信资源有限的情况下,可能使得其他的应用无法及时申请到可用的通信通道,造成通信资源的浪费。For example, the first connection application may exit abnormally due to a freeze or the user forcibly stops the application in the background task manager. In this scenario, the first channel service manager cannot successfully send a keep-alive packet to the first connection service SDK, and the first connection service SDK does not unregister with the first connection service manager, causing the first connection application to occupy the communication channel all the time. In the case of limited IPC communication resources, other applications may not be able to apply for available communication channels in time, resulting in a waste of communication resources.

在本申请实施例中,第一通道服务管理器在确定定时查询失败之后,通知第一接续服务管理器应用已退出。第一通道服务管理器停止对第一接续应用的定时查询,并清理共享内存中的占用位,这样有利于避免对通信资源的浪费。In the embodiment of the present application, after determining that the scheduled query fails, the first channel service manager notifies the first connection service manager that the application has exited. The first channel service manager stops the scheduled query of the first connection application and clears the occupied bits in the shared memory, which helps to avoid wasting communication resources.

场景三、第一接续应用先于第一接续服务管理器启动。Scenario 3: The first connection application is started before the first connection service manager.

第一接续应用先于第一接续服务管理器启动,也即第一接续应用先于电脑管家启动。在该场景中,第一接续应用可以申请到通信通道,但是可能无法成功注册接续服务,因为第一接续服务管理器还未启动或者已异常退出。示例性地,用户可以手动打开电脑管家以启动第一接续服务管理器,在第一接续服务管理器启动的过程中,第一接续服务管理器在共享内存中所有可用于传输通信回连消息的通信通道上发送通信回连消息。The first connection application is started before the first connection service manager, that is, the first connection application is started before the computer manager. In this scenario, the first connection application can apply for a communication channel, but may not be able to successfully register the connection service because the first connection service manager has not been started or has exited abnormally. Exemplarily, the user can manually open the computer manager to start the first connection service manager. During the startup of the first connection service manager, the first connection service manager sends a communication back-connection message on all communication channels in the shared memory that can be used to transmit the communication back-connection message.

例如,第一接续服务SDK在通信ID+1所标识的通信通道上接收到第一接续服务管理器广播的通信回连消息,如果第一接续应用有跨设备进行应用接续的需求,第一接续应用可以确定启动接续应用的注册与绑定,第一接续服务管理器根据回连的通信通道的通信ID,维护共享内存区域的数据为最近状态。For example, the first continuation service SDK receives a communication return connection message broadcast by the first continuation service manager on the communication channel identified by the communication ID+1. If the first continuation application has a need for cross-device application continuation, the first continuation application can determine to start the registration and binding of the continuation application. The first continuation service manager maintains the data in the shared memory area in the most recent state based on the communication ID of the return communication channel.

场景四、第一接续服务管理器异常退出。Scenario 4: The first connection service manager exits abnormally.

该场景下的处理流程与场景三的处理流程类似,此处不再赘述。The processing flow in this scenario is similar to that in scenario 3 and will not be repeated here.

以上结合图6描述了第一终端设备作为发送端,第二终端设备作为接收端的内部交互流程,下面介绍第一终端设备作为接收端,第二终端设备作为发送端的内部交互流程。其中,第一终端设备可以具有如图3和图5所示的结构,第二终端设备可以具有如图3和图4所示的结构。The above describes the internal interaction process when the first terminal device is used as a transmitter and the second terminal device is used as a receiver in combination with FIG6. The following describes the internal interaction process when the first terminal device is used as a receiver and the second terminal device is used as a transmitter. The first terminal device may have the structure shown in FIG3 and FIG5, and the second terminal device may have the structure shown in FIG3 and FIG4.

第一终端设备作为接收端的前提是第一终端设备的电脑管家要先于第一接续应用启动,这样第一终端设备才可以正常进行设备的自发现与自组网等相关的应用接续流程。The premise for the first terminal device to act as a receiving end is that the computer manager of the first terminal device must be started before the first connection application, so that the first terminal device can normally perform the application connection process related to device self-discovery and self-organizing network.

与第一终端设备作为发送端的内部交互类似,第二终端设备在作为发送端时可以执行上述阶段二以后的流程,在图4的层级架构下,第二终端设备中的第二接续服务SDK与第二接续服务管理器之间不涉及跨进程的通信,因此第二接续服务SDK无需去共享内存中申请通信通道。Similar to the internal interaction when the first terminal device acts as a sender, the second terminal device can execute the process after the above-mentioned stage two when acting as a sender. Under the hierarchical architecture of Figure 4, there is no cross-process communication between the second connection service SDK in the second terminal device and the second connection service manager. Therefore, the second connection service SDK does not need to apply for a communication channel in the shared memory.

第二终端设备可以打开第二接续应用,执行接续应用的注册与绑定、广播接续通知、绑定鉴权服务以及应用鉴权、与第一终端设备的第一通信服务管理器建立会话通路,具体流程可参照上文针对图6的描述,此处不再赘述。在建立会话通路之后,第一通信服务管理器和第二通信服务管理器通过建立好的会话通路进行消息传输,消息中包括第二接续应用的包名等信息。第一接续服务管理器与第一鉴权服务管理器根据第二接续应用的包名绑定鉴权服务、进行应用鉴权。在应用鉴权成功之后,第一接续服务管理器获取应用图标,通知第一终端设备的桌面启动器以图标形式显示接续通知。The second terminal device can open the second continuation application, perform registration and binding of the continuation application, broadcast the continuation notification, bind the authentication service and application authentication, and establish a session path with the first communication service manager of the first terminal device. The specific process can refer to the description of Figure 6 above, which will not be repeated here. After the session path is established, the first communication service manager and the second communication service manager transmit messages through the established session path. The message includes information such as the package name of the second continuation application. The first continuation service manager and the first authentication service manager bind the authentication service according to the package name of the second continuation application and perform application authentication. After the application authentication is successful, the first continuation service manager obtains the application icon and notifies the desktop launcher of the first terminal device to display the continuation notification in the form of an icon.

在第一终端设备为应用接续的接收端时,第一接续应用的图标可以显示在第一终端设备的任务栏(或称为dock栏)。When the first terminal device is the receiving end of the application connection, the icon of the first connection application can be displayed in the task bar (or dock bar) of the first terminal device.

当第一终端设备接收到用户点击接续应用图标的事件后,若第一终端设备中已安装第一接续应用且第一接续应用未启动,则第一接续服务管理器拉起第一接续应用,并指示第一接续应用加载过渡动画动效,则第一接续应用可以启动并加载过渡动效。When the first terminal device receives an event that the user clicks on the continuation application icon, if the first continuation application has been installed in the first terminal device and the first continuation application has not been started, the first continuation service manager pulls up the first continuation application and instructs the first continuation application to load the transition animation effect. The first continuation application can then be started and load the transition animation effect.

进一步地,第一终端设备可以执行与图6中的初始化阶段和接续应用的注册与绑定阶段类似的流程,此处不再赘述。Furthermore, the first terminal device may execute a process similar to the initialization phase and the registration and binding phase of the subsequent application in FIG. 6 , which will not be described in detail here.

在第一接续应用启动的过程中,第一接续服务管理器可以通过第一终端设备与第二终端设备之间所建立的会话通路向第二接续服务管理器请求接续数据。具体请求接续数据的流程可参照上文针对图6的描述,此处不再赘述。During the startup of the first connection application, the first connection service manager can request connection data from the second connection service manager through the session path established between the first terminal device and the second terminal device. The specific process of requesting connection data can refer to the description of FIG. 6 above, which will not be repeated here.

进一步地,第一接续服务管理器在接收到接续数据之后,在申请到的用于传输接续数据的通信通道上通过第一接续服务SDK向第一接续应用通知接续数据。例如,通信ID对应的N个通信通道中通信ID+2所标识的通信通道用于传输接续数据,则第一接续服务管理器可以在通信ID+2所标识的通信通道上向第一接续应用发送接续数据。Further, after receiving the connection data, the first connection service manager notifies the first connection application of the connection data through the first connection service SDK on the communication channel applied for transmitting the connection data. For example, if the communication channel identified by the communication ID+2 among the N communication channels corresponding to the communication ID is used to transmit the connection data, the first connection service manager can send the connection data to the first connection application on the communication channel identified by the communication ID+2.

综合上文对应用接续的内部交互流程的描述,如图9所示,本申请实施例提供一种用于应用接续的方法900,方法900可以由终端设备执行,该终端设备可以具有如图3和图5所示的结构,但本申请实施例对此不作限定。该终端设备安装有第一应用和电脑管家。该终端设备对应上述第一终端设备,可以作为应用接续的发送端,也可以作为应用接续的接收端。方法900包括如下步骤:Based on the above description of the internal interaction process of application continuation, as shown in Figure 9, an embodiment of the present application provides a method 900 for application continuation, which can be executed by a terminal device, and the terminal device can have a structure as shown in Figures 3 and 5, but the embodiment of the present application is not limited to this. The terminal device is installed with a first application and a computer manager. The terminal device corresponds to the above-mentioned first terminal device, and can be used as a sending end of the application continuation, and can also be used as a receiving end of the application continuation. Method 900 includes the following steps:

S901,响应于用户点击第一应用的图标的操作,获取共享内存中目标比特位的标识,目标比特位是值为第一预设值的比特位,第一预设值表示目标比特位对应的通信通道未被使用。S901, in response to a user clicking on an icon of a first application, obtaining an identifier of a target bit in a shared memory, where the target bit is a bit whose value is a first preset value, and the first preset value indicates that a communication channel corresponding to the target bit is not in use.

在本步骤中,第一应用可以为上述第一接续应用,示例性地,第一预设值为“0”,如果共享内存中的第一个比特位的值为“0”时,则第一个比特位为目标比特位,终端设备可以获取第一个比特位的标识n=1;如果共享内存中的第一个比特位的值为“1”,第二个比特位的值为“0”时,则第二个比特位为目标比特位,终端设备可以获取第二个比特位的标识n=2。In this step, the first application can be the above-mentioned first succession application. Exemplarily, the first preset value is "0". If the value of the first bit in the shared memory is "0", the first bit is the target bit, and the terminal device can obtain the identifier of the first bit n=1; if the value of the first bit in the shared memory is "1" and the value of the second bit is "0", the second bit is the target bit, and the terminal device can obtain the identifier of the second bit n=2.

S902,基于目标比特位的标识,确定目标比特位对应的通信标识,通信标识指示用于第一应用和电脑管家通信的至少一个通信通道。S902, based on the identifier of the target bit, determine the communication identifier corresponding to the target bit, the communication identifier indicates at least one communication channel used for communication between the first application and the computer manager.

结合上文的描述,终端设备在获取到目标比特位的标识之后,可以基于预设规则计算得到目标比特位对应的通信标识,通信标识对应至少一个通信通道,这样终端设备为第一应用申请到可以用于与电脑管家通信的IPC通信资源。具体对通信通道的描述可参见上文,此处不再赘述。Combined with the above description, after obtaining the identifier of the target bit, the terminal device can calculate the communication identifier corresponding to the target bit based on the preset rules. The communication identifier corresponds to at least one communication channel, so that the terminal device applies for the IPC communication resources that can be used to communicate with the computer manager for the first application. The specific description of the communication channel can be found above and will not be repeated here.

S903,基于所述至少一个通信通道实现第一应用与电脑管家之间的数据传输。S903, realizing data transmission between the first application and the computer manager based on the at least one communication channel.

在本步骤中,第一应用与电脑管家之间的数据传输可以包括上文所描述的注册接续服务和回调、广播接续通知、请求接续数据、应用解除注册、广播通信回连消息等。In this step, data transmission between the first application and the computer manager may include the registration and continuation services and callbacks, broadcast continuation notifications, request continuation data, application deregistration, broadcast communication reconnection messages, etc. described above.

在本申请实施例中,终端设备可以将IPC通信与共享内存相结合,为接入电脑管家中的接续服务的至少一个应用灵活分配IPC通信资源,以实现应用和电脑管家中的接续服务之间的通信。In an embodiment of the present application, the terminal device can combine IPC communication with shared memory to flexibly allocate IPC communication resources for at least one application that accesses the connection service in the computer manager to achieve communication between the application and the connection service in the computer manager.

应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It should be understood that the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art will appreciate that the modules and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and modules described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the modules is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。In addition, each functional module in each embodiment of the present application may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

以上所述,仅为本申请的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应所述以权利要求的保护范围为准。The above is only a specific implementation of the present application, but the protection scope of the embodiments of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the embodiments of the present application, which should be included in the protection scope of the embodiments of the present application. Therefore, the protection scope of the embodiments of the present application should be based on the protection scope of the claims.

Claims (12)

The method comprises the steps that a request of registering a connection service of a first application is sent to a connection service manager of a terminal device through a communication channel, after the first application is registered successfully, the connection service manager of the terminal device indicates the communication service manager of the terminal device and a communication service manager of a receiving end of application connection to establish a session path so as to carry out message transmission and data transmission related to application connection, wherein the application connection refers to the use state of the application which can be continued in a second device meeting connection conditions when a user uses the application on the first device, and the application is continuously used.
CN202211197093.2A2022-09-282022-09-28 Method and terminal equipment for application connectionActiveCN116737404B (en)

Priority Applications (2)

Application NumberPriority DateFiling DateTitle
CN202211197093.2ACN116737404B (en)2022-09-282022-09-28 Method and terminal equipment for application connection
CN202411003271.2ACN119166381A (en)2022-09-282022-09-28 Method and terminal equipment for application connection

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN202211197093.2ACN116737404B (en)2022-09-282022-09-28 Method and terminal equipment for application connection

Related Child Applications (1)

Application NumberTitlePriority DateFiling Date
CN202411003271.2ADivisionCN119166381A (en)2022-09-282022-09-28 Method and terminal equipment for application connection

Publications (2)

Publication NumberPublication Date
CN116737404A CN116737404A (en)2023-09-12
CN116737404Btrue CN116737404B (en)2024-07-30

Family

ID=87917427

Family Applications (2)

Application NumberTitlePriority DateFiling Date
CN202211197093.2AActiveCN116737404B (en)2022-09-282022-09-28 Method and terminal equipment for application connection
CN202411003271.2APendingCN119166381A (en)2022-09-282022-09-28 Method and terminal equipment for application connection

Family Applications After (1)

Application NumberTitlePriority DateFiling Date
CN202411003271.2APendingCN119166381A (en)2022-09-282022-09-28 Method and terminal equipment for application connection

Country Status (1)

CountryLink
CN (2)CN116737404B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN114090289A (en)*2021-11-172022-02-25国汽智控(北京)科技有限公司 Shared memory data calling method, device, electronic device and storage medium
CN115033319A (en)*2021-06-082022-09-09华为技术有限公司Distributed display method and terminal of application interface

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN102710774B (en)*2012-06-042014-12-17深圳市宏电技术股份有限公司Method and system for data transmission
CN109508301B (en)*2017-09-142021-10-29中国移动通信集团重庆有限公司 Terminal, application data processing method, data processing device and storage medium
CN110569130B (en)*2019-07-292021-12-14华为技术有限公司 A method, apparatus and device for cross-process communication
CN111030990B (en)*2019-11-052022-04-12华为技术有限公司Method for establishing communication connection, client and server
WO2021218751A1 (en)*2020-04-302021-11-04华为技术有限公司Cloud phone-based media data processing method and terminal device
CN113760560A (en)*2020-06-052021-12-07华为技术有限公司 An inter-process communication method and inter-process communication device
CN114924671B (en)*2022-07-182023-04-11荣耀终端有限公司Application connection method and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN115033319A (en)*2021-06-082022-09-09华为技术有限公司Distributed display method and terminal of application interface
CN114090289A (en)*2021-11-172022-02-25国汽智控(北京)科技有限公司 Shared memory data calling method, device, electronic device and storage medium

Also Published As

Publication numberPublication date
CN119166381A (en)2024-12-20
CN116737404A (en)2023-09-12

Similar Documents

PublicationPublication DateTitle
CN108536538A (en)Processor core scheduling method and device, terminal and storage medium
JP7100154B6 (en) Processor core scheduling method, device, terminal and storage medium
CN114741008B (en)Distributed cross-device cooperation method, electronic device and communication system
WO2022053062A1 (en)Method and terminal for managing iot device
WO2024088268A1 (en)Rdma event management methods, and device and storage medium
CN114217759B (en)Screen projection method and device, storage medium and electronic equipment
WO2025060715A1 (en)Method for managing system services, and related apparatus
CN116737404B (en) Method and terminal equipment for application connection
CN116662270B (en)File analysis method and related device
CN116700552B (en) Application connection method and terminal device
CN116028005B (en)Audio session acquisition method, device, equipment and storage medium
CN116319681B (en)Inter-device communication method, electronic device, and computer-readable storage medium
CN114489826B (en)Chip operation method and device, storage medium and electronic equipment
CN116033158A (en)Screen projection method and electronic equipment
CN117319476A (en)Implementation method, service end, application capability end and system of multi-system terminal
CN116366957B (en) A virtualized camera enabling method, electronic device and collaborative working system
CN111159734A (en)Communication terminal and multi-application data inter-access processing method
CN116049096B (en) Data migration method, electronic device and storage medium
CN117784988B (en)Application connection method and terminal equipment
CN117714279B (en) Device management method, router and readable storage medium
CN116700660B (en) Audio playing method and electronic device
CN115982060B (en)Memory recycling method and related device
CN115250261B (en)Information display method and electronic equipment
CN116737258B (en)Method and related device for unloading application
CN117827043A (en) A content continuation method and related device

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant
CP03Change of name, title or address
CP03Change of name, title or address

Address after:Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after:Honor Terminal Co.,Ltd.

Country or region after:China

Address before:3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong

Patentee before:Honor Device Co.,Ltd.

Country or region before:China


[8]ページ先頭

©2009-2025 Movatter.jp