Cross-device application transfer method, electronic device and computer-readable storage medium
By applying cross-device streaming methods, the problem of a single application being unable to independently capture, transmit, and interact is solved, enabling application-level streaming across devices and improving user experience and operational flexibility.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ZTE CORP
- Filing Date
- 2025-10-17
- Publication Date
- 2026-05-21
AI Technical Summary
Existing technologies cannot independently capture, transmit, and interact with individual applications, lacking fine-grained flow control at the application level, which limits user operational flexibility and experience.
This paper provides a method for cross-device application flow, which obtains application information carried by application flow instructions, displays application data in real time and synchronizes user operations, realizes application-level flow across devices, and supports seamless interaction between different operating systems.
It enables application-level seamless switching between devices, improving operational convenience and user experience. Users can switch applications seamlessly between different devices, increasing work efficiency and operational flexibility.
Smart Images

Figure CN2025128480_21052026_PF_FP_ABST
Abstract
Description
Applications of cross-device transfer methods, electronic devices, and computer-readable storage media
[0001] Related applications
[0002] This application claims priority to Chinese patent application No. 202411619201.X, filed on November 13, 2024, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of terminal device technology, and in particular to methods for application cross-device transfer, electronic devices, and computer-readable storage media. Background Technology
[0004] With the rapid development of information technology, mobile devices and personal computers have become indispensable parts of people's daily lives and work. Users often need to switch between different operating systems to use applications to meet diverse work and entertainment needs. This cross-platform application flow not only improves work efficiency but also significantly enhances user experience. Therefore, cross-platform interaction technology has gradually become a research hotspot in the current technology field.
[0005] Related technologies typically project or mirror the entire screen or desktop, but cannot independently capture, transmit, and interact with individual applications. They lack the ability to finely control the flow at the application level, which limits the user's operational flexibility and severely reduces the user experience. Summary of the Invention
[0006] The main objective of this application is to provide an application cross-device transfer method, electronic device, and computer-readable storage medium, aiming to solve the technical problem in related technologies that it is impossible to independently capture, transmit, and interact with individual applications, and that lacks application-level fine-grained transfer control capabilities.
[0007] To achieve the above objectives, this application provides a method for cross-device data transfer, the method being applied to a first device, comprising:
[0008] Upon receiving a first application flow instruction sent by a second device, the application information of the first application carried by the first application flow instruction is obtained;
[0009] Based on the application information of the first application, the first application data generated by running the first application is obtained from the second device, and the first application data is displayed in the first window of the current display interface of the first device.
[0010] Upon detecting a first operation instruction for the first application, first operation information corresponding to the first operation instruction is sent to the second device. The first operation information is used to trigger the first application running on the second device to execute the first operation instruction.
[0011] The first window synchronously displays the updated first application data generated by the first application in response to the first operation command.
[0012] To achieve the above objectives, this application provides a cross-device transfer method, wherein the method is applied to a second device, comprising:
[0013] Upon detecting that the application flow function for the first application has been triggered, a first application flow instruction is sent to the first device. The first application flow instruction carries the application information of the first application, which is an application installed on the second device.
[0014] The first application flow instruction is used to trigger the first device to obtain the first application data generated by running the first application from the second device based on the application information of the first application, and to display the first application data on the first window of the display interface of the first device.
[0015] Upon receiving the first operation information corresponding to the first operation instruction, the running first application is controlled to execute the first operation instruction, and the updated first application data generated by the first application in response to the first operation instruction is sent to the first device so that the first window synchronously displays the updated first application data.
[0016] The first operation instruction is a touch operation instruction triggered on the first device for the first application.
[0017] In addition, to achieve the above objectives, this application also provides an electronic device, which includes: a memory, a processor, and an application cross-device transfer program stored in the memory and executable on the processor. When the application cross-device transfer program is executed by the processor, it implements the steps of the application cross-device transfer method as described above.
[0018] In addition, to achieve the above objectives, this application also provides a computer-readable storage medium storing an application cross-device streaming program, which, when executed by a processor, implements the steps of the application cross-device streaming method as described above.
[0019] In addition, to achieve the above objectives, this application also provides a computer program product, which includes an application cross-device flow program, wherein when the application cross-device flow program is executed by a processor, it implements the steps of the application cross-device flow method as described above. Attached Figure Description
[0020] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0021] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on the structures shown in these drawings without creative effort.
[0022] Figure 1 is a flowchart of the cross-device transfer method provided in Embodiment 1 of this application;
[0023] Figure 2 is a flowchart of the application cross-device transfer method provided in Embodiment 2 of this application;
[0024] Figure 3 is a flowchart of the cross-device transfer method provided in Embodiment 3 of this application;
[0025] Figure 4 is a schematic diagram of cross-device application flow provided in a specific embodiment of this application;
[0026] Figure 5 is a schematic diagram of the Windows device initialization process provided in a specific embodiment of this application;
[0027] Figure 6 is a schematic diagram of the Android device initialization process provided in a specific embodiment of this application;
[0028] Figure 7 is a schematic diagram of the hardware operating environment involved in the cross-device transfer method in the embodiments of this application.
[0029] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0030] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0031] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.
[0032] Early remote desktop and screen sharing technologies were primarily designed for remote work and collaboration, focusing on the overall desktop display rather than individual applications. While technology has advanced over time, these infrastructures often retain these original design principles. Achieving independent capture, transmission, and interaction with individual applications is technically more complex. This involves accurately identifying and isolating application windows, handling complex window hierarchies, and synchronizing application state and data across different operating systems. These issues require significant R&D investment and time to resolve. Furthermore, cross-platform application flow needs to address differences between operating systems, including but not limited to graphics APIs (Application Programming Interfaces), window management mechanisms, and input event handling. Fine-grained control over individual applications significantly increases compatibility and stability challenges, potentially leading to errors or instability in certain environments.
[0033] Technical solutions for multi-device, cross-platform application scenarios typically include:
[0034] (1) Remote Desktop Protocol (RDP): This technology allows users to remotely access and control the desktop environment of another device, but it mainly targets the entire desktop rather than a single application. Moreover, when used across platforms, it may cause problems such as performance degradation, operation delays, and interface incompatibility.
[0035] (2) Screen mirroring technology: such as Miracast and AirPlay, can project the screen of a device onto another device, but can only achieve screen mirroring and cannot perform in-depth application interaction and control.
[0036] Therefore, related technologies typically project or mirror the entire screen or desktop, failing to capture, transmit, and interact with individual applications independently, and lacking the ability to control the flow of applications at a fine level.
[0037] The main solution of this application embodiment is an application cross-device transfer method applied to a first device, comprising: upon receiving a first application transfer instruction sent by a second device, obtaining application information of a first application carried by the first application transfer instruction; based on the application information of the first application, obtaining first application data generated by running the first application from the second device, and displaying the first application data in a first window of the current display interface of the first device; upon detecting a first operation instruction for the first application, sending first operation information corresponding to the first operation instruction to the second device, wherein the first operation information is used to trigger the first application running on the second device to execute the first operation instruction; wherein the first window synchronously displays the updated first application data generated by the first application in response to the first operation instruction.
[0038] This application's embodiments enable application-level workflow between two devices, allowing users to seamlessly run any application between two systems. This enhances the convenience of cross-platform operation, eliminating the need for users to repeatedly launch and operate the same application on different devices, significantly improving work efficiency and user experience. Compared to related technologies that typically involve screen mirroring or projecting the entire screen or desktop, this application's embodiments enable independent capture, transmission, and interaction of individual applications. This effectively improves the fine-grained application-level workflow control during cross-device workflow, enhancing user operational flexibility and ultimately improving the user experience.
[0039] Furthermore, the cross-device application flow method of this application embodiment runs the target application selected by the user in the background of the native system (i.e., the system of the first device), but the interface display and user operation are transferred from the native system to the target system (i.e., the system of the second device). The user interacts with the target application on the second device system. From the user's perspective, the application has been transferred to the target system, thus providing an application-level flow solution that breaks down the isolation between devices. Users can freely switch between multiple operating environments of an application. This is not only suitable for collaboration between personal devices, but also for remote work, development and debugging workflows in enterprise-level scenarios. The cross-device application flow method of this application embodiment opens up many new use cases. For example, during the design process, users can create a design for a target application that needs to be tested or debugged on a PC (Personal Computer), then flow it to an Android mobile device to test touch interaction or mobile UI (User Interface) layout, and then drag it back to the PC for modification.
[0040] The execution subject of this application embodiment is an electronic device, which may include, but is not limited to, mobile terminals such as mobile phones (e.g., cell phones), laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Description), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs (Televisions), desktop computers, etc., or any electronic device capable of performing the above functions. This application embodiment does not specifically limit this. The following uses an electronic device as an example to describe the various embodiments of this application.
[0041] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.
[0042] Example 1
[0043] Please refer to Figure 1, which is a flowchart of the application cross-device transfer method provided in Embodiment 1 of this application.
[0044] In this embodiment, the cross-device transfer method is applied to the first device, including steps S100 to S300.
[0045] Step S100: Upon receiving the first application transfer instruction sent by the second device, obtain the application information of the first application carried by the first application transfer instruction.
[0046] In this embodiment, the first device is distinct from the second device. The first and second devices can be electronic devices running different operating systems; for example, the first device could be a desktop computer running Windows, and the second device could be a smartphone running Android, or a desktop computer running Linux. Alternatively, the first and second devices can be electronic devices running the same operating system; for example, the first device could be a smartphone running Android, and the second device could be a tablet computer running Android, or another smartphone running Android. This embodiment does not limit the scope of the embodiments.
[0047] An application flow instruction is used to flow an application across devices to another device. This instruction carries application information, which may include at least one of the following: application name, window ID (identifier), package name, and task ID. In this embodiment, the first application is an application installed on the second device, and the first application flow instruction is used to flow the first application from the second device to the first device. This instruction carries application information for the first application, which identifies the application.
[0048] In this embodiment, a communication connection is established between the first device and the second device. This connection can be a USB connection, a Wi-Fi (Wireless Fidelity) direct connection, Bluetooth pairing, or other forms of connection, ensuring that the first device and the second device can communicate with each other. When a user wants to transfer a first application from the second device to the first device, the second device can send an application transfer instruction (i.e., a first application transfer instruction) to the first device to transfer the first application from the second device to the first device, thereby allowing the first application to be displayed and interacted with on the first device. After receiving the first application transfer instruction from the second device, the first device extracts the application information of the first application from the instruction, such as the application name, package name, or TASK ID, to ensure that in subsequent cross-device transfers of the first application, it can correctly identify and obtain the application data of the first application from the second device, and accurately send the operation instructions for the first application from the first device to the second device.
[0049] Step S200: Based on the application information of the first application, obtain the first application data generated by running the first application from the second device, and display the first application data in the first window of the current display interface of the first device.
[0050] Application data refers to all visual output data and related status information generated by an application during its operation, typically including visual and audio content. Visual content mainly includes user interface elements such as windows, icons, text, images, animations, and video frames, while audio content mainly includes sounds generated by the application, such as background music, voice prompts, and video audio.
[0051] In this embodiment, the first application data refers to the application data of the first application. The purpose of obtaining the first application data generated by running the first application from the second device based on the application information of the first application in this embodiment is to completely transmit the data generated by the first application running in the background of the second device to the first device, so that the first device can accurately present a state that is almost consistent with the first application running in the foreground of the second device.
[0052] Within the current display interface of the first device, individual windows can be created specifically for displaying application data. The first window is precisely the window created from this current display interface specifically for displaying the first application data.
[0053] In this embodiment, at least one window specifically for displaying application data can be pre-opened on the current display interface of the first device, and one of them can be selected as the first window. Alternatively, after receiving the first application flow instruction, a first window specifically for displaying the first application data can be opened on the current display interface of the first device, so that the first application data is displayed in the first window for the user to interact with the first application on the first device.
[0054] In this embodiment, the acquisition and display of the first application data are performed in real time, ensuring that the user's experience on the first device is consistent with that on the second device, reducing perceived latency. This embodiment allows users to view and control applications on one device while controlling applications on another, increasing operational flexibility and enabling users to operate the same application on different devices, switching freely and breaking down the barriers between devices, greatly expanding the application's usage scenarios. Furthermore, the dedicated window design makes the application display more focused, allowing users to concentrate on operating a single application without being disturbed by other applications.
[0055] To further enhance user experience and ease of operation, this embodiment allows users to choose whether to provide a toolbar menu when displaying the first application data in the first window of the current display interface of the first device. When deciding to provide a toolbar menu, users can choose which functions to provide, such as floating window function, full-screen window function, hiding function, screenshot function, screen recording function, refresh function, return function, and close function.
[0056] For example, in one feasible implementation, the step of displaying the first application data in the first window of the current display interface of the first device in step S200 may include step A10.
[0057] Step A10: Render the preset toolbar menu onto the current display interface of the first device, and display the first application data in the first window of the current display interface of the first device.
[0058] The toolbar menu includes at least one of the following function options: floating window, full-screen window, hide, and close. The floating window function sets the first window to be displayed as a floating window on the current display interface of the first device; the full-screen window function sets the first window to be displayed in full-screen mode on the current display interface of the first device; the hide function hides the display of the first window while keeping the application flow function of the first application enabled; and the close function closes the display of the first window and disables the application flow function of the first application.
[0059] As those skilled in the art will recognize, a toolbar menu is a user interface component that typically contains a series of commonly used function buttons or menu items, providing a range of convenient operations for the application.
[0060] In this embodiment, the user can pre-set a toolbar menu with required functions for the first application on the first device according to their own usage habits. This allows the user-preset toolbar menu to be automatically rendered onto the current display interface when the first application data is displayed in the first window of the current display interface of the first device. Specifically, the toolbar menu can be rendered at the top or bottom of the current display interface, or as a sidebar on the side of the current display interface, or directly rendered into the first window, or as a floating window connected to the first window. This embodiment does not impose too many restrictions, allowing users to flexibly set it according to their own preferences.
[0061] In this embodiment, when the first window is set to be displayed as a floating window on the current display interface using the floating window function, the area size of the first window is smaller than the area size of the current display interface. When the first window is set to be displayed in full screen on the current display interface using the full-screen window function, the area size of the first window is equal to the area size of the current display interface.
[0062] This embodiment provides users with a toolbar menu with various functions when displaying the first application data in the first window of the current display interface of the first device. This allows users to perform common operations more conveniently and efficiently through the various functions provided by the toolbar menu when transferring the first application to the first device. This effectively enhances the practicality of cross-device application transfer and makes the cross-device application transfer method more complete and applicable to more practical application scenarios.
[0063] In addition to pre-setting the toolbar menu for the first application, when the first application is transferred across devices, the user can be prompted and given corresponding options to choose in real time whether a toolbar menu is needed based on current needs, and what functions the toolbar menu should include. The user can also cancel the toolbar menu at any time during the application process and redefine the functions included in the toolbar menu.
[0064] Furthermore, the application flow function in this embodiment refers to the function that allows an application to flow freely between different devices. When an application flows from its original device (i.e., the device where the application is actually installed) to a new device, the application flow function of the application is enabled. When the application is on the original device and has not flowed to the new device, or flows to the new device and then flows back to the original device, the application flow function of the application is disabled.
[0065] When an application that has been migrated to a new device has its app migration feature disabled, the application will be migrated back to the original device. For example, if an application migrates from a second device to a first device, and the user disables the app migration feature of the first application via the close function provided in the toolbar menu or other means, the first application will be migrated back to the second device.
[0066] In step S300, if a first operation instruction for the first application is detected, the first operation information corresponding to the first operation instruction is sent to the second device. The first operation information is used to trigger the first application running on the second device to execute the first operation instruction.
[0067] The first window synchronously displays the updated first application data generated by the first application in response to the first operation command.
[0068] The first operation instruction is an operation instruction for a first application triggered on the first device. The first operation instruction can be an operation instruction generated based on keyboard and mouse events, such as mouse movement, clicking, scrolling, and keyboard key input. Of course, the first operation instruction can also be an operation instruction generated based on touch screen operation or voice input; this embodiment does not specifically limit it in this regard.
[0069] For example, in one feasible implementation, the first operation instruction includes an operation instruction generated by at least one of cursor movement, key input, voice input, click event, swipe event, box selection event, and drag event.
[0070] As those skilled in the art will understand, cursor movement refers to an event in which the position of the cursor on the screen changes using a device such as a mouse, touchpad, or keyboard. Key input refers to an event in which characters, symbols, or shortcut key operations are entered using a keyboard, physical keys, or virtual keys. Voice input refers to an event in which voice commands are input using a microphone. A click event refers to an event in which a button, link, or other interactive element on the screen is activated by clicking with a mouse or tapping on a touchscreen. A swipe event refers to an event in which an object on the screen is moved or screen content is scrolled using a swipe gesture on a touchscreen. A selection event refers to an event in which an area or element on the screen is selected by dragging with a mouse or multi-touch on a touchscreen. A drag event refers to an event in which an object on the screen is moved or screen content is scrolled using a drag-and-drop mechanism.
[0071] In this embodiment, the first operation instruction can be a combination of various types of user interaction behaviors, including but not limited to the aforementioned cursor movement, key input, voice input, click events, swipe events, box selection events, and drag events. These operation instructions are generated on the first device and sent to the second device through appropriate conversion and transmission mechanisms to control the behavior of the corresponding application on the second device.
[0072] In this embodiment, after the first application is transferred from the second device to the first device, the first device will constantly detect the operation instructions generated by the user's various interactive behaviors and identify whether they are the first operation instructions for the first application.
[0073] For example, in one feasible implementation, the application of the cross-device transfer method may further include step B10.
[0074] Step B10: If the touch position corresponding to the touch operation command on the first device is detected to be in the first window, determine that the touch operation command on the first device is a first operation command for the first application.
[0075] Touch operation refers to a human-computer interaction method in which users directly contact the surface of a touch screen. This typically involves using a finger (or stylus) to perform actions such as clicking, swiping, pinching, and rotating on the display screen to trigger corresponding functions or interface changes on the device. In this embodiment, touch operation instructions refer to operation commands generated based on touch operations, and touch position refers to the location on the screen of the electronic device where the user's touch operation occurs.
[0076] In this embodiment, after the first device detects the current touch operation command generated by the user's current touch operation, it records the touch position corresponding to the current touch operation command and checks whether it is within the first window to determine whether the current touch operation command is a first operation command for the first application. If the touch position is within the first window, the current touch operation command is determined to be a first operation command.
[0077] In addition to identifying whether the touch operation command generated at the current moment is the first operation command in the above-mentioned way, it is also possible to identify whether the operation command corresponding to the mouse click event, the operation command corresponding to the key input, the operation command corresponding to the voice input, etc. generated at the current moment is the first operation command by identifying whether the object of the operation command is the first window, or identifying whether the area of the operation command is the first window.
[0078] In this embodiment, the first operation information is an operation instruction used to trigger a first application running in the background of the second device to execute the first operation instruction. When the first operation instruction can be directly understood and executed by the second device, it can be directly sent to the second device as the first operation information. However, when the first operation instruction cannot be directly understood and executed by the second device, it can be converted into an operation instruction that can be understood and executed by the second device, used as the first operation information, and then sent to the second device.
[0079] For example, in one feasible implementation, before the step of sending the first operation information corresponding to the first operation instruction to the second device in step S300, steps C10 to C20 may also be included.
[0080] Step C10: Based on the system function mapping relationship between the first operating system and the second operating system, the first operation instruction is converted into an operation instruction adapted to the processing format of the second operating system, wherein the first operating system is the operating system of the first device and the second operating system is the operating system of the second device.
[0081] Step C20: The operation instruction adapted to the processing format of the second operating system is used as the first operation information corresponding to the first operation instruction.
[0082] System function mapping refers to the mapping relationship between the operation instructions corresponding to the same operation in different operating systems.
[0083] In this embodiment, when the first operating system and the second operating system are different operating systems, and the first operation instruction cannot be directly understood and executed by the second device, it is necessary to use the system function mapping relationship between the first operating system and the second operating system to convert the first operation instruction into an operation instruction adapted to the processing format of the second operating system. That is, the first operation information corresponding to the first operation instruction can be directly understood and executed by the second device, and then sent to the second device to ensure that the first application running in the background of the second device can accurately execute the first operation instruction.
[0084] This implementation method ensures that the second device can directly execute the received operation information through system function mapping without further processing, achieving a seamless connection between the operation of the first device and the actual execution on the second device. This allows the user's operation on the first device to be immediately reflected in the application on the second device, improving the user experience.
[0085] This implementation ensures that different operation instructions for the same operation on different operating systems can be accurately understood and executed, effectively solving the compatibility problem of operation instructions between different operating systems when applications are transferred across devices. This allows users to seamlessly operate the same application on different devices, achieving a consistent operating experience even on different operating systems. It provides a new solution for multi-device collaboration, especially in scenarios requiring cross-platform operation.
[0086] In this embodiment, after the first device detects the first operation command for the first application, it sends the first operation information corresponding to the first operation command to the second device through the communication connection between the first device and the second device, triggering the first application running on the second device to execute the first operation command and generate updated first application data. During this process, the first device continuously obtains the first application data of the first application from the second device in real time, and displays the updated first application data generated by the first application in response to the first operation command in the first window in real time.
[0087] In this embodiment, user actions on the first device can affect the application status on the second device in real time, greatly enhancing the realism of interaction when applications flow across devices. Furthermore, users can seamlessly switch between applications on different devices and operating systems without repeatedly launching and operating the same application on different devices, reducing inconvenience caused by differences in devices or operating systems, enhancing operational continuity, saving users time and effort, and improving work efficiency. Simultaneously, the synchronously updated application data also ensures the continuity of user operations, improving the consistency of the user experience.
[0088] This implementation breaks down the barriers between devices, allowing users to seamlessly continue their work or entertainment activities across different devices. This is especially useful for users who need to switch between multiple devices. This implementation is not only applicable to collaboration between personal devices but also to enterprise-level scenarios such as remote work, development and debugging, and even plays a crucial role in professional scenarios such as design and testing. For example, designers can create design drafts on a PC, then transfer them to an Android phone to test touch interaction and mobile UI layout, and then transfer the application back to the PC for modifications, enabling rapid iteration of design solutions. Similarly, employees can transfer documents they are editing from their laptops to their desktop computers at home to continue working without worrying about version conflicts or file synchronization issues. Furthermore, developers can write code on one device and then test the application's functionality on another device, rapidly iterating the development and testing process through application transfer.
[0089] In summary, the cross-device workflow method of this embodiment, through a series of meticulous designs, enables independent capture, transmission, and interaction of individual applications, thereby effectively improving the fine-grained workflow control capabilities at the application level during cross-device workflow. This makes application-level workflow more precise and controllable, thereby achieving a more flexible, efficient, and consistent user experience and providing users with more operational convenience and possibilities.
[0090] This embodiment, upon receiving a first application flow instruction from a second device, obtains the application information of the first application carried in the first application flow instruction, and based on the application information, retrieves the first application data generated by running the first application from the second device, and displays the first application data in a first window of the current display interface of the first device. Upon detecting a first operation instruction for the first application, it sends the first operation information corresponding to the first operation instruction to the second device. This first operation information is used to trigger the first application running on the second device to execute the first operation instruction. The first window synchronously displays the updated first application data generated by the first application in response to the first operation instruction. This embodiment enables application-level flow between two devices, allowing users to seamlessly flow and run any application between the two systems, improving the convenience of cross-platform operation. Users do not need to repeatedly launch and operate the same application on different devices, significantly improving work efficiency and user experience. Compared to cross-device streaming methods that typically project or mirror the entire screen or desktop in related technologies, this embodiment can independently capture, transmit, and interact with individual applications, thereby effectively improving the application-level fine-grained streaming control capabilities during cross-device streaming, enhancing user operational flexibility, and ultimately improving the user experience.
[0091] Furthermore, the cross-device application flow method in this embodiment runs the target application selected by the user in the background of the native system (i.e., the system of the first device), but the interface display and user operation are transferred from the native system to the target system (i.e., the system of the second device). The user interacts with the target application on the second device's system. From the user's perspective, the application has been transferred to the target system, thus providing an application-level flow solution that breaks down the isolation between devices. Users can freely switch between multiple operating environments of an application. This is not only suitable for collaboration between personal devices, but also for remote work, development and debugging workflows in enterprise-level scenarios. The cross-device application flow method in this embodiment opens up many new use cases. For example, during the design process, a user can create a design on a PC for a target application that needs to be tested or debugged, then flow it to an Android mobile device to test touch interaction or mobile UI layout, and then drag it back to the PC for modification.
[0092] In one feasible implementation, after displaying the first application data in the first window of the current display interface of the first device, step D10 may also be included.
[0093] Step D10: When it is detected that the first window is dragged to the preset flow area in the current display interface as a floating window based on the target touch operation, the display of the first window in the current display interface is turned off, and the application flow function of the first application is turned off.
[0094] The preset flow area is a pre-defined area used to enable or disable the application flow function. The target touch operation is the touch operation on the first device used to drag the first window as a floating window to the preset flow area in the current display interface.
[0095] In this embodiment, when an application is dragged to a preset transfer area, it can be transferred to other devices. When the application is transferred back to the original device from the new device, the application transfer function is turned off, and when the application is transferred from the original device to the new device, the application transfer function is turned on.
[0096] In this embodiment, the current display area of the first device includes a preset flow area. When the first window is dragged to the preset flow area in the current display interface in the form of a floating window, the first window will be canceled, and the application flow function of the first application will also be turned off, thereby transferring the first application back to the second device. That is, the cross-device flow of the first application between the first device and the second device is stopped, the data transmission and interaction of the first application between the two devices are terminated, and the space of the current display interface is released so that the user can focus on other tasks or applications on the first device when the first application does not need to flow.
[0097] This implementation allows users to easily manage cross-device applications through intuitive drag-and-drop actions. A simple drag-and-drop action can close the application flow, simplifying the operation process of cross-device application flow and enhancing the intuitiveness and convenience of operation.
[0098] In addition to dragging the first window as a floating window to a preset transition area in the current display interface via a target touch screen operation, this embodiment also allows dragging the first window as a floating window to the preset transition area, thereby turning off the display of the first window on the current display interface and disabling the application transition function of the first application. Furthermore, the display of the first window on the current display interface and the application transition function of the first application can also be directly turned off via voice input, key input, or other methods.
[0099] Example 2
[0100] Please refer to Figure 2, which is a flowchart of the second embodiment of the cross-device transfer method of this application.
[0101] This embodiment is the second embodiment of the cross-device transfer method proposed in the first embodiment above.
[0102] In this embodiment, the same or similar content as in Embodiment 1 above can be referred to the above description, and will not be repeated hereafter.
[0103] In this embodiment, the application of the cross-device transfer method may further include step S400.
[0104] Step S400: When it is detected that the application flow function for the second application has been triggered, the second application flow instruction is sent to the second device. The second application flow instruction carries the application information of the second application, which is the application installed on the first device.
[0105] The second application flow instruction is used to trigger the second device to obtain the second application data generated by running the second application from the first device based on the application information of the second application, and display the second application data on the second window of the display interface of the second device.
[0106] The second application transfer instruction is used to transfer a second application from the first device to the second device. This instruction carries the application information of the second application. The second application data refers to the application data of the second application. The second window is a window specifically created from the display interface of the second device to display the second application data.
[0107] This embodiment not only supports application transfer from the second device to the first device, but also from the first device to the second device, providing bidirectional transfer capability. This improves operational convenience and user experience consistency, enhancing the flexibility and practicality of application transfer. Through this embodiment, users can switch freely between two devices according to their actual needs, achieving a more flexible work and entertainment style without restarting the application or losing the current operating state. Cross-device application migration can be achieved simply through a trigger operation, resulting in higher work efficiency and a better user experience.
[0108] In this embodiment, the application flow function of the second application can be triggered in various ways, such as through dedicated key input, voice input, touch operation, etc.
[0109] For example, in one feasible implementation, the application of the cross-device transfer method may also include step E10.
[0110] Step E10: If a touch operation is detected that drags the application window of the second application to the preset flow area in the current display interface, the application flow function for the second application is activated.
[0111] As those skilled in the art will know, an application window is a window that appears on the display interface of an electronic device after an application is opened and launched.
[0112] In this embodiment, after the first device detects a touch operation that drags the application window of the second application to a preset flow area in the current display interface, it automatically triggers the application flow function for the second application and generates a second application flow instruction to send to the second device, thereby transferring the second application from the first device to the second device so that the user can display and interact with the second application on the second device.
[0113] This implementation allows users to intuitively trigger application flow functionality through a simple drag-and-drop operation. This method is simple, easy to understand, convenient, and efficient, reducing the cognitive burden on users. Simultaneously, users can immediately see the system's response as they drag the application window to the preset flow area, enhancing the immediacy and feedback of the operation. Furthermore, this operation method is explicit in intent; the system can accurately identify the user's intention, avoiding misoperations and achieving precise cross-device application flow.
[0114] This implementation provides a simple and intuitive way to trigger application migration. Users simply drag and drop the application window to the preset migration area to initiate the process of the application migrating from the first device to the second. This method not only improves the convenience and immediate feedback of the operation but also enhances the user's sense of control and operational consistency. Whether in scenarios such as document editing, game control, or online meetings, users can achieve cross-device migration of applications through simple drag-and-drop operations, thereby achieving higher work efficiency and a better user experience.
[0115] In one feasible implementation, the application of the cross-device transfer method may further include step F10.
[0116] Step F10: If the application flow function for the second application is triggered, the data of the second application will be hidden from display on the current display interface.
[0117] In this embodiment, when the application flow function for the second application is triggered, the second application flows from the first device to the second device. At this time, on the current display interface of the first device, the data of the second application can be selectively hidden, that is, not displayed on the current display interface of the first device. This frees up the display resources of the first device, reduces the graphics processing burden of the first device, improves the overall performance of the system, and effectively utilizes screen space, avoiding unnecessary visual interference, allowing the user to focus on other tasks or applications on the first device. For example, when the data of the second application is hidden on the current display interface, the data of the second application can be displayed on the second device, thereby allowing the relevant matters of the second application to be processed on the second device, realizing multi-device collaborative work.
[0118] This implementation method, when the application flow function for the second application is triggered, masks the display of the second application data on the current screen. This method not only frees up the display resources of the current device and improves system performance, but also reduces visual interference, enhancing the clarity and focus of user operations. Furthermore, masking the display strengthens system security and protects user privacy. Whether in scenarios such as document editing, game control, or online meetings, users can achieve effective management of application data and seamless switching between cross-device operations by masking the display, thereby achieving higher work efficiency and a better user experience.
[0119] In addition to hiding the second application data in the current display interface, this embodiment can also display the second application data simultaneously in the current display screen and the display screen of the second device.
[0120] In one feasible implementation, the application of the cross-device transfer method may also include step G10.
[0121] Step G10: If the application flow function of closing the second application is triggered based on a preset touch operation, the data of the second application is unblocked on the current display interface, and the second application is switched from running in the background to running in the foreground.
[0122] In this embodiment, the preset touch operation is a touch operation used to close the application flow function of an application. For example, if the current display interface has a preset virtual button specifically for closing the application flow function of a second application, the preset touch operation can be touching the virtual button; if the first device has a preset touch gesture specifically for closing the application flow function of a second application, the preset touch operation can be performing the touch gesture on the current display interface.
[0123] This implementation method triggers the application flow closure function through preset touch operations, allowing users to express their intentions very intuitively. This operation method is simple, clear, easy to understand and execute, and users can immediately see the display changes on the current screen after performing the preset touch operation, enhancing the sense of instant feedback.
[0124] This implementation, upon detecting that the application flow function of closing a second application is triggered based on a preset touch operation, removes the masking display of the second application's data and switches the second application from background to foreground operation. This method not only improves the intuitiveness and immediate feedback of the operation but also restores the display resources and performance of the current device, enhancing the continuity and flexibility of the operation. Whether in scenarios such as document editing, game control, or online meetings, users can control the application flow status through simple preset touch operations, thereby achieving effective management of application data and seamless switching between cross-device operations, resulting in higher work efficiency and a better user experience.
[0125] In addition to disabling the application flow function of the second application through preset touch operations, this embodiment can also disable the application flow function of the second application through voice input, key input, or other methods.
[0126] After step S400, step S500 is executed. Upon receiving the second operation instruction, based on the system function mapping relationship, the second operation instruction is converted into an operation instruction adapted to the processing format of the first operating system. The operation instruction adapted to the processing format of the first operating system is used as the second operation information corresponding to the second operation instruction. The second operation instruction is an operation instruction triggered on the second device for the second application.
[0127] In step S600, based on the second operation information, the running second application is controlled to execute the second operation instruction, and the updated second application data generated by the second application in response to the second operation instruction is sent to the second device so that the second window synchronously displays the updated second application data.
[0128] In this embodiment, the second operation instruction is similar to the first operation instruction. It can be an operation instruction generated based on keyboard and mouse events, or an operation instruction generated based on touch screen operation or voice input.
[0129] The second operation information is information that corresponds to the second operation instruction and can be directly understood and executed by the first device, used to trigger the second application running on the first device to execute the second operation instruction.
[0130] Similar to the aforementioned first operation information, in this embodiment, when the second operation instruction can be directly understood and executed by the first device, it can be directly used as the second operation information. However, when the second operation instruction cannot be directly understood and executed by the first device, the second operation instruction can be converted into an operation instruction adapted to the processing format of the first operating system through the system function mapping relationship between the first and second operating systems. This means the second operation instruction corresponds to second operation information that can be directly understood and executed by the first device, ensuring that the second application running in the background of the first device can accurately execute the second operation instruction.
[0131] Similar to the above embodiments, this implementation method synchronizes operation instructions and data in real time, enabling the user's operation on the second device to affect the application status running on the first device in real time and provide real-time feedback to the display interface of the second device. This ensures the immediacy and continuity of the user's operation, thereby ensuring that the user's operation experience remains consistent across different devices. This improves the consistency and smoothness of the user experience, allowing users to seamlessly switch between different devices without worrying about inconsistencies or interruptions in the operation status.
[0132] This implementation ensures that user actions on the second device can affect the application state running on the first device in real time, and the updated application data is synchronously displayed on the second device. This method not only improves the real-time performance and consistency of operations, but also enhances the continuity and flexibility of the user experience. Whether in scenarios such as document editing, game control, or online meetings, users can achieve seamless switching between applications on different devices through real-time synchronized operation commands and data, thereby achieving higher work efficiency and a better user experience.
[0133] In one feasible implementation, the cross-device transfer method may further include step S700.
[0134] Step S700: If a third operation command for a third application is detected, the third application is triggered to execute the third operation command, and the updated third application data generated by the third application in response to the third operation command is synchronously displayed on the current display interface.
[0135] The third application is the application installed on the first device.
[0136] The third operation instruction is an operation instruction for a third application triggered on the first device. Similar to the first operation instruction, the third operation instruction can be an operation instruction generated based on keyboard and mouse events, or an operation instruction generated based on touch screen operation or voice input.
[0137] The third application data refers to the application data of the third application.
[0138] In this embodiment, even if applications from other devices are circulating on the first device, the user can still interact normally with the applications (such as a third application) that are already installed on the first device.
[0139] In one feasible implementation, the application of the cross-device transfer method may further include step H10.
[0140] Step H10: If the touch position corresponding to the touch operation command on the first device is detected to be in the application window of the third application, the touch operation command on the first device is determined to be a third operation command for the third application.
[0141] In this embodiment, similar to step B10 in Embodiment 1 above, it is possible to determine whether the current touch operation instruction is a third operation instruction for the third application by detecting whether the touch position corresponding to the current touch operation instruction is in the application window of the third application, thereby ensuring that the third operation instruction for the third application is correctly identified and executed.
[0142] Accordingly, in addition to identifying whether the touch operation command generated at the current moment is a third operation command in the above-mentioned way, similar methods can also be used to identify whether the operation command corresponding to the mouse click event, the operation command corresponding to the key input, the operation command corresponding to the voice input, etc., generated at the current moment is a third operation command.
[0143] Example 3
[0144] Please refer to Figure 3, which is a flowchart of the cross-device transfer method provided in Embodiment 3 of this application.
[0145] In this embodiment, the same or similar content as in the above embodiments can be referred to the above description, and will not be repeated hereafter.
[0146] In this embodiment, the cross-device transfer method is applied to the second device, including steps S800 to S900.
[0147] In step S800, when it is detected that the application flow function for the first application has been triggered, the first application flow instruction is sent to the first device. The first application flow instruction carries the application information of the first application, which is the application installed on the second device.
[0148] The first application flow instruction is used to trigger the first device to obtain the first application data generated by running the first application from the second device based on the application information of the first application, and to display the first application data on the first window of the display interface of the first device.
[0149] In step S900, upon receiving the first operation information corresponding to the first operation instruction, the first application is controlled to execute the first operation instruction, and the updated first application data generated by the first application in response to the first operation instruction is sent to the first device so that the first window synchronously displays the updated first application data.
[0150] The first operation instruction is an operation instruction triggered on the first device for the first application.
[0151] In one feasible implementation, the step of controlling the first application to execute the first operation instruction in step S900 may include steps I10 to I20.
[0152] Step I10: Based on the system function mapping relationship between the first operating system and the second operating system, the first operation information is converted into operation information in a processing format adapted to the second operating system, wherein the first operating system is the operating system of the first device and the second operating system is the operating system of the second device.
[0153] Step I20: Based on the operation information adapted to the processing format of the second operating system, control the running first application to execute the first operation instruction.
[0154] In this embodiment, the operation information converted from the first operation information and adapted to the processing format of the second operating system is actually an operation instruction that can be directly understood and executed by the second device. It is used to control the first application running in the background of the second device to execute the first operation instruction. The first operation information, however, is an operation instruction that cannot be directly understood and executed by the second device, but can be converted into a processing format adapted to the second operating system through the system function mapping relationship between the first and second operating systems. When the first operation instruction can be directly converted into a processing format adapted to the second operating system through the system function mapping relationship between the first and second operating systems, the first operation information can be the first operation instruction.
[0155] In this embodiment, neither the first operation instruction nor the first operation information can be directly understood and executed by the second device. Therefore, it is necessary to convert the first operation information into a processing format adapted to the second operating system through the system function mapping relationship between the first operating system and the second operating system in order to control the first application running in the background of the second device to execute the first operation instruction.
[0156] In this embodiment, the step of controlling the running first application to execute the first operation instruction based on the operation information adapted to the processing format of the second operating system is actually controlling the first application running in the background in the second device to execute the operation information adapted to the processing format of the second operating system converted from the first operation information, thereby achieving the effect of controlling the first application to execute the first operation instruction in the first device.
[0157] This implementation, through the system function mapping relationship between the first and second operating systems, can convert the first operation information into operation information in a processing format adapted to the second operating system. This ensures the consistency of operation instructions across different operating systems, guaranteeing that different operating systems can understand and execute the same operation instructions, improving system versatility, enabling seamless collaboration between different operating systems, enhancing cross-platform operation capabilities, and maintaining a consistent user experience across different devices, thus improving the consistency and smoothness of the user experience. Through this system function mapping relationship, this implementation can efficiently utilize system resources, achieve reasonable resource allocation, avoid lag or delays caused by excessive load on a single device, and improve system performance.
[0158] This implementation ensures that user commands on the first device can be translated into operational information that the second device can understand and execute through system function mapping, and controls the application running on the second device to perform the corresponding operations. This method not only improves the real-time performance and consistency of operations, but also enhances the continuity and flexibility of the user experience. Whether in scenarios such as document editing, online shopping, or video playback, users can achieve seamless operation of applications across different devices through immediate operation commands and real-time data updates, thereby achieving higher work efficiency and a better user experience.
[0159] In this embodiment, the first operation information can also be an operation instruction that can be directly understood and executed by the second device. In this case, no conversion is required, and the first application running in the background can be directly controlled in the second device to execute the first operation information, thereby achieving the effect of controlling the first application to execute the first operation instruction in the first device.
[0160] Furthermore, in this embodiment, when the first operation instruction can be directly understood and executed by the second device, the first device can directly send the first operation instruction as the first operation information to the second device, and the second device can directly control the running first application to execute the first operation instruction.
[0161] In one feasible implementation, the application of the cross-device transfer method may further include step J10.
[0162] Step J10: When a touch operation is detected that drags the application window of the first application to the preset flow area in the current display interface, the application flow function for the first application is triggered.
[0163] In one feasible implementation, the cross-device transfer method may further include step K10.
[0164] Step K10: When the application flow function for the first application is triggered, the data of the first application is hidden from display on the current display interface.
[0165] In one feasible implementation, the application of the cross-device transfer method may further include step L10.
[0166] Step L10: If the application flow function of the first application is triggered to close based on a preset touch operation, the data of the first application is unblocked on the current display interface, and the first application is switched from running in the background to running in the foreground.
[0167] In one feasible implementation, the cross-device transfer method may further include step M10.
[0168] Step M10: If a fourth operation command for the fourth application is detected, the fourth application is triggered to execute the fourth operation command, and the updated fourth application data generated by the fourth application in response to the fourth operation command is synchronously displayed on the current display interface.
[0169] The fourth application is the application installed on the second device.
[0170] The fourth operation instruction is an operation instruction triggered on the second device for a fourth application. Similar to the first operation instruction in Embodiment 1 above, this fourth operation instruction can be an operation instruction generated based on keyboard and mouse events, or an operation instruction generated based on touch screen operation or voice input.
[0171] The fourth application data is the application data for the fourth application.
[0172] In one feasible implementation, the application of the cross-device transfer method may further include step N10.
[0173] Step N10: If the touch position corresponding to the touch operation command on the second device is detected to be in the application window of the fourth application, the touch operation command on the second device is determined to be the fourth operation command for the fourth application.
[0174] The application cross-device flow method provided in this embodiment can solve the technical problem in related technologies that it is impossible to independently capture, transmit, and interact with individual applications, and lacks application-level fine-grained flow control capabilities. Compared with related technologies, the beneficial effects of the application cross-device flow method provided in this embodiment are the same as those of the application cross-device flow methods provided in the above embodiments, and will not be repeated here.
[0175] To facilitate understanding of the technical concept or principle of the above embodiments of the cross-device transfer method of this application, a specific embodiment is provided.
[0176] In this specific embodiment, to achieve bidirectional application flow between devices, a stable, efficient, and secure network environment needs to be established to ensure the reliability and real-time performance of data transmission. Specifically, this can be achieved through USB (Universal Serial Bus) connection, WIFI connection, local area network connection, etc.
[0177] As shown in Figure 4, this specific embodiment takes the cross-device application flow between an electronic device running a Windows operating system (hereinafter referred to as a Windows device, also known as the first device) and an electronic device running an Android operating system (hereinafter referred to as an Android device, also known as the second device) as an example.
[0178] In this specific embodiment, the software module running on the Windows device includes a flow management module and a flow proxy program, and the Android device also runs a software module that includes a flow management module and a flow proxy program.
[0179] The application flow management module is responsible for managing the creation and location settings of virtual displays, handling the capture and transmission of keyboard and mouse events, and managing application flow, including application detection, window capture, data encoding, and network communication. It comprises the following components.
[0180] Application Management Submodule: Responsible for monitoring application startup, shutdown, and window state changes.
[0181] Window Management Submodule: Responsible for capturing the content of application windows and using the GPU (Graphics Processing Unit) for video encoding.
[0182] Keyboard and mouse sharing submodule: responsible for capturing user keyboard and mouse input events.
[0183] The network communication submodule is responsible for establishing a communication connection and transmitting data with the flow management module of the Android device in the Windows device, and vice versa in the Android device.
[0184] The streaming proxy program on the Windows device is responsible for receiving window data (i.e., the first application data) and input events (i.e., the input events corresponding to the second operation command) from the Android device. When the Android application (i.e., the first application) is transferred to the Windows device, it acts as a proxy program to display the Android application's interface, that is, displaying the first application data in the first window of the current display interface on the first device. On the Android device, it is responsible for receiving window data (i.e., the second application data) and input events (i.e., the input events corresponding to the first operation command) from the Windows device. When the Windows application (i.e., the second application) is transferred to the Windows device, it acts as a proxy program to display the Windows application's interface, that is, displaying the second application data in the second window of the current display interface on the second device. This streaming proxy program is also responsible for providing the user interface, supporting window control (minimize, maximize, close, i.e., floating window function, full-screen window function, and close function) and input processing. It includes the following components.
[0185] Interface display module: In Windows devices, it is responsible for rendering the application interface from Android devices, that is, displaying the first application data in the first window of the current display interface of the first device. In Android devices, it is responsible for rendering the application interface from Windows devices, that is, displaying the second application data in the second window of the current display interface of the second device.
[0186] Input processing module: On the Windows device, it receives user input events within the agent program window (i.e., input events corresponding to the first operation command) and transmits them back to the Android device. Specifically, upon detecting a first operation command for the first application, it sends the first operation information corresponding to the first operation command to the second device. On the Android device, it receives user input events within the agent program window (i.e., input events corresponding to the second operation command) and transmits them back to the Windows device. Specifically, upon detecting a second operation command for the second application, it sends the second operation information corresponding to the second operation command to the first device.
[0187] In Figure 4, the Windows home screen on the Windows device is the current display interface of the first device, the Windows virtual screen is the preset transition area within the current display interface of the first device, the Windows application window is the application window of the second application, and the transition proxy program window is the first window. Similarly, the Android home screen on the Android device is the current display interface of the second device, the Android virtual screen is the preset transition area within the current display interface of the second device, the Android application window is the application window of the first application, and the transition proxy program window is the second window.
[0188] As shown in Figure 4, when a Windows application window is dragged from the Windows home screen to the Windows virtual screen, the flow management module in the Windows device interacts with the flow management module in the Android device. The window data of the Windows application window captured on the Windows device is passed to the Android device, where the flow proxy program uses the Windows application as the flow application and displays its interface in the flow proxy program window on the Android home screen. Similarly, when an Android application window is dragged from the Android home screen to the Android virtual screen, the application flow steps are executed, transferring the Android application to the Windows device for display.
[0189] In this embodiment, cross-device application flow between Windows devices and Android devices requires the initialization of relevant software modules.
[0190] As shown in Figure 5, the initialization process in a Windows device includes the following steps.
[0191] Step S11: Start the workflow management module.
[0192] The first step is to start the flow management module in the Windows device.
[0193] Step S12: Create a Windows virtual screen.
[0194] The second step is to create a Windows virtual screen, which represents the Android home screen on the Android device. The resolution of the Windows virtual screen can be set to be the same as that of the Android home screen on the Android device.
[0195] Step S13: Set the positional relationship between the Windows virtual screen and the Windows main screen.
[0196] The third step is to set the positional relationship between the Windows virtual screen and the Windows main screen, where the position of the Windows virtual screen corresponds to the Android main screen on the Android device.
[0197] Step S14: Start the transfer agent program.
[0198] Fourth step, start the streaming agent program on the Windows device.
[0199] Step S15: Obtain the local IP address and present it as a QR code.
[0200] Step 5: Obtain the local IP address of the Windows device and present it as a QR code.
[0201] Step S16: Start the communication service and wait for the client to connect.
[0202] Step 6: Start the communication service on the Windows device and wait for the client to connect. The client refers to the Android device.
[0203] As shown in Figure 6, the initialization process in an Android device includes the following steps.
[0204] Step S21: Start the workflow management module.
[0205] The first step is to launch the streaming management module on the Android device.
[0206] Step S22: Create an Android virtual screen.
[0207] The second step is to create an Android virtual screen, which represents the Windows home screen on the Windows device. The resolution of the Android virtual screen can be set to be the same as that of the Windows home screen on the Windows device.
[0208] Step S23: Set the positional relationship between the Android virtual screen and the Android main screen.
[0209] The third step is to set the positional relationship between the Android virtual screen and the Android home screen, where the position of the Android virtual screen corresponds to the Windows home screen on the Windows device.
[0210] Step S24: Start the transfer agent program.
[0211] The fourth step is to start the streaming agent program on the Android device.
[0212] Step S25: Scan the QR code on the Windows device to obtain the server IP address.
[0213] Step 5: Use an Android device to scan the QR code displayed on the Windows device to obtain the server's IP address, where "server" refers to the Windows device.
[0214] Step S26: Start the communication service and connect to the server.
[0215] Step 6: Start the communication service on the Android device and connect to the server.
[0216] In this specific embodiment, after successful initialization, the process of transferring the application from the Windows device to the Android device includes the following steps.
[0217] 1. On a Windows device, drag the application window of application A from the Windows home screen to the Windows virtual screen. In other words, drag the first window as a floating window to the preset transition area of the current display interface of the first device.
[0218] 2. The flow management module on the Windows device listens for dragging and dropping of application window A and captures when application window A is dragged to the Windows virtual screen.
[0219] 3. The streaming management module on the Windows device analyzes the window data (i.e., application data) of application A to determine whether application A is a local application (i.e., an application installed locally) or a streaming application (i.e., an application that has been streamed from other devices). The processing flow includes the following steps.
[0220] 3.1 If application A is a streaming application (i.e., application A is the first application), it means that the drag-and-drop operation ends the cross-device streaming of application A. The specific steps are as follows.
[0221] The Windows device's workflow management module first notifies the Android device's workflow management module to move application A from the background to the foreground, i.e., to display application A on the Android device's home screen; then, it clears application A's information records in the Windows device's workflow management module. In other words, the second device's current display interface removes the blocking of the first application's data, switching the first application from background to foreground operation.
[0222] 3.2 If application A is a local application (i.e., application A is a second application), it means that the drag-and-drop operation is to start cross-device flow of application A. The specific steps are as follows.
[0223] 3.2.1 The window management module on the Windows device captures the window data of application A (i.e., the second application data) in real time and sends it to the Android device. In other words, the second application data generated by the first device running the second device in the background is sent to the second device.
[0224] 3.2.2 The streaming agent program on the Android device receives the window data of application A, and overlays the Android application's toolbar menu (i.e., the preset toolbar menu in the second device) onto it and presents it to the user. In other words, the preset toolbar menu in the second device is rendered onto the current display interface of the second device, and the second application data is displayed in the second window of the current display interface of the second device.
[0225] 3.2.3 The window management module on the Windows device obtains the application information of application A (such as application name, ID, window ID, or position coordinates, i.e., the application information of the second application) and sends it to the window management module of the Android device for recording. In other words, the second application flow instruction is sent to the second device, and the second application flow instruction carries the application information of the second application.
[0226] 3.2.4 If multiple Windows applications are transferred to an Android device, the window management module on the Windows device captures the window data of each application in real time and sends it to the transfer agent program on the Android device.
[0227] 3.3 After application A is transferred from a Windows device to an Android device, the processing flow of the keyboard and mouse sharing module includes the following steps.
[0228] 3.3.1 All keyboard and mouse operations (including keyboard and mouse operations) on the Android device are intercepted by the keyboard and mouse sharing module on the Android device.
[0229] 3.3.2 On an Android device, when the mouse moves to the streaming agent window, the keyboard and mouse sharing module on the Android device synchronously sends mouse operation information to the keyboard and mouse sharing module on the Windows device. The keyboard and mouse sharing module on the Windows device displays the mouse position information in real time on the Windows device through Windows system event injection methods, such as reading and writing to / dev / uinput.
[0230] 3.3.3 The mouse input event handling process for mouse operations includes the following steps.
[0231] 3.3.3.1 The keyboard and mouse sharing module on the Android device determines whether a mouse input event belongs to a streaming application response or a local application response based on the streaming application information recorded by the Android device's window management module. It also determines whether the mouse click area belongs to the streaming application's proxy window (i.e., the second window) or the local application's Android application window (i.e., the fourth application's application window). Specifically, if the touch position corresponding to the current touch operation command on the second device is detected to be within the second window, the current touch operation command is determined to be a second operation command for the second application. If the touch position corresponding to the current touch operation command on the second device is detected to be within the application window of the fourth application, the current touch operation command is determined to be a fourth operation command for the fourth application.
[0232] 3.3.3.2 If the mouse input event belongs to a streaming application response, that is, the mouse click area belongs to the streaming application's streaming agent window, the mouse input event is passed through to the Windows device and will eventually be distributed to the corresponding streaming application in the Windows background for processing. In other words, when a second operation command for the second application is detected, the second operation information corresponding to the second operation command is sent to the first device to trigger the second application running in the background of the first device to execute the second operation command.
[0233] 3.3.3.3 If the mouse input event is a local application response, meaning the mouse click area belongs to the Android application window of the local application, the mouse input event is dispatched to the corresponding Android application in the Android device for processing. In other words, upon detecting a fourth operation command for the fourth application, the fourth application is triggered to execute the fourth operation command, and the updated fourth application data generated by the fourth application in response to the fourth operation command is simultaneously displayed on the current display screen of the second device.
[0234] 3.3.4 The keyboard input event handling process includes the following steps.
[0235] 3.3.4.1 The processing logic for all keyboard input events, following mouse input events.
[0236] 3.3.4.2 If the keyboard input event belongs to a streaming application response, the keyboard input event is passed through to the Windows device, and will eventually be distributed to the corresponding streaming application running in the Windows background for processing. That is, when a second operation command for the second application is detected, the second operation information corresponding to the second operation command is sent to the first device to trigger the second application running in the background of the first device to execute the second operation command.
[0237] 3.3.4.3 If the keyboard input event is a local application response, the keyboard input event is dispatched to the corresponding Android application in the Android device for processing. That is, upon detecting a fourth operation command for the fourth application, the fourth application is triggered to execute the fourth operation command, and the updated fourth application data generated by the fourth application in response to the fourth operation command is synchronously displayed on the current display screen of the second device.
[0238] 4. The streaming agent on the Android device receives the real-time window data stream (i.e., the second application data) sent by the window management module of the Windows device, overlays it with the Android application's toolbar menu, and presents it to the user, thus realizing the transfer of the Windows application to the Android device. In other words, it obtains the second application data generated by the second application running in the background from the first device, renders the second device's preset toolbar menu onto the current display interface of the second device, and displays the second application data in the second window of the current display interface of the second device.
[0239] Correspondingly, in this specific embodiment, after successful initialization, the process of the application flowing from the Android device to the Windows device includes the following steps.
[0240] 1. On the Android device, enter the multitasking management interface and drag task B to the Android virtual screen. That is, drag the second window as a floating window to the preset flow area of the current display interface of the second device.
[0241] 2. The flow management module on the Android device listens for dragging and dropping the application window of task B and captures the application window of task B being dragged to the Android virtual screen.
[0242] 3. The flow management module on the Android device analyzes the window data of task B to determine whether task B is a local application or a flow application. The processing flow includes the following steps.
[0243] 3.1 If task B is a streaming application (i.e., task B is a second application), it means that the drag-and-drop operation ends the cross-device streaming of task B. The specific steps are as follows.
[0244] The workflow management module on the Android device first notifies the workflow management module on the Windows device to move task B from the background to the foreground, that is, to move task B to the Windows home screen of the Windows device for display. Then, it clears the information record of task B in the workflow management module of the Android device. In other words, it removes the blocking display of the second application's data from the current display interface of the first device and switches the second application from background running to foreground running.
[0245] 3.2 If task B is a local application (i.e., task B is the first application), it means that the drag-and-drop operation is to start the cross-device flow of task B. The specific steps are as follows.
[0246] 3.2.1 The window management module on the Android device captures the window data (i.e., the first application data) of task B in real time and sends it to the Windows device, that is, the first application data generated by the second device running the first device in the background is sent to the first device.
[0247] 3.2.2 The streaming agent on the Windows device receives the window data of Task B, and overlays the title bar menu of the Windows application (i.e., the preset toolbar menu in the first device) on it, and presents it to the user. In other words, the preset toolbar menu in the first device is rendered on the current display interface of the first device, and the first application data is displayed in the first window of the current display interface of the first device.
[0248] 3.2.3 The window management module on the Android device obtains the application flow information of task B and sends it to the window management module on the Windows device for recording. In other words, the first application flow instruction is sent to the first device, and the first application flow instruction carries the application information of the first application.
[0249] 3.2.4 If multiple Android applications are transferred to a Windows device, the window management module on the Android device will capture the window data of each application in real time and send it to the transfer agent program on the Windows device.
[0250] 3.3 After Task B is transferred from the Android device to the Windows device, the processing flow of the keyboard and mouse sharing module includes the following steps.
[0251] 3.3.1 All keyboard and mouse operations (including keyboard and mouse operations) on Windows devices are intercepted by the keyboard and mouse sharing module on Android devices.
[0252] 3.3.2 On Windows devices, when the mouse moves to the streaming agent window, the keyboard and mouse sharing module on the Windows device synchronously sends mouse operation information to the keyboard and mouse sharing module on the Android device. The keyboard and mouse sharing module on the Android device displays the mouse position information in real time on the Android device through Android system event injection methods, such as reading and writing to / dev / uinput.
[0253] 3.3.3 The mouse input event handling process for mouse operations includes the following steps.
[0254] 3.3.3.1 The keyboard and mouse sharing module on the Windows device determines whether a mouse input event is a response of a streaming application or a local application based on the streaming application information recorded by the window management module of the Windows device. Specifically, it determines whether the mouse click area belongs to the streaming proxy window of the streaming application (i.e., the first window) or to the Windows application window of the local application (i.e., the application window of the third application). In other words, if the touch position corresponding to the current touch operation command on the first device is detected to be within the first window, the touch operation command on the first device is determined to be a first operation command for the first application. If the touch position corresponding to the current touch operation command on the first device is detected to be within the application window of the third application, the current touch operation command is determined to be a third operation command for the third application.
[0255] 3.3.3.2 If the mouse input event belongs to a streaming application response, that is, the mouse click area belongs to the streaming application's streaming proxy window, the mouse input event is passed through to the Android device, and will eventually be distributed to the corresponding streaming application running in the Android background for processing. In other words, when a first operation command is detected for the first application, the first operation information corresponding to the first operation command is sent to the second device to trigger the first application running in the background on the second device to execute the first operation command.
[0256] 3.3.3.3 If the mouse input event is a local application response, meaning the mouse click area belongs to the Windows application window of the local application, the mouse input event is dispatched to the corresponding Windows application in the Windows device for processing. In other words, upon detecting a third operation command targeting a third application, the third application is triggered to execute the third operation command, and the updated third application data generated by the third application in response to the third operation command is simultaneously displayed on the current display interface of the first device.
[0257] 3.3.4 The keyboard input event handling process includes the following steps.
[0258] 3.3.4.1 The processing logic for all keyboard input events, following mouse input events.
[0259] 3.3.4.2 If the keyboard input event belongs to a streaming application response, the keyboard input event is passed through to the Android device, and will eventually be distributed to the corresponding streaming application running in the Android background for processing. That is, when a first operation command for the first application is detected, the first operation information corresponding to the first operation command is sent to the second device to trigger the first application running in the background of the second device to execute the first operation command.
[0260] 3.3.4.3 If the keyboard input event is a local application response, the keyboard input event is dispatched to the corresponding Windows application in the Windows device for processing. That is, upon detecting a third operation command for a third application, the third application is triggered to execute the third operation command, and the updated third application data generated by the third application in response to the third operation command is synchronously displayed on the current display interface of the first device.
[0261] 4. The streaming agent on the Windows device receives the real-time window data stream (i.e., the first application data) sent by the window management module of the Android device, overlays it with the title bar menu of the Windows application, and presents it to the user, thus realizing the streaming of the Android application to the Windows device. In other words, it obtains the first application data generated by the first application running in the background from the second device, renders the toolbar menu preset by the first device onto the current display interface of the first device, and displays the first application data in the first window of the current display interface of the first device.
[0262] This specific embodiment achieves bidirectional application flow between Windows and Android devices through a simple and intuitive user interface design. A unified drag-and-drop operation and instant visual feedback enable users to quickly get started, significantly improving the cross-device application experience. Seamless application switching and multitasking support meet users' collaborative work needs in multi-device environments.
[0263] This specific embodiment achieves true bidirectional application flow, breaking through the unidirectional limitation of related technologies: current technical solutions mainly support unidirectional application interaction from Android devices to Windows systems, and cannot achieve application flow from Windows systems to Android devices. This specific embodiment innovatively achieves bidirectional application flow between Windows and Android systems. Users can transfer Windows applications to Android devices for continued use, and vice versa, truly achieving seamless cross-platform collaboration. Through this specific embodiment, users no longer need to repeatedly open and operate applications on different devices, resulting in a more seamless workflow and more convenient operation. This specific embodiment supports multi-device collaborative work, meeting users' needs in multiple scenarios and with multiple tasks.
[0264] This specific embodiment provides a unified and intuitive interaction method, reducing the learning cost for users: Existing application cross-device switching typically requires complex user settings or relies on specific hardware and software environments, making the operation cumbersome. However, this specific embodiment creates a virtual display in the system, allowing users to switch applications simply by dragging and dropping, resulting in a unified and intuitive operation. With this specific embodiment, users do not need to learn new operating methods, lowering the barrier to entry. This specific embodiment uses the same operating method on both Windows and Android devices, improving the consistency of cross-platform use.
[0265] This specific embodiment enables simultaneous flow and management of multiple application windows, improving multitasking capabilities: related technologies typically only support the flow of a single application, failing to meet users' multitasking needs. This specific embodiment, however, supports the simultaneous flow of multiple application windows, assigning a unique identifier to each window and independently managing its capture, transmission, and display. Through this embodiment, users can handle multiple tasks simultaneously on different devices, conveniently switching and managing applications. This specific embodiment improves work efficiency, enhances system flexibility, and meets user needs in complex scenarios.
[0266] This specific embodiment has made comprehensive innovations in multiple technical fields such as the creation of virtual displays, efficient capture and encoding of window content, cross-system input event synchronization, and secure transmission. The various technical modules work closely together to form an organic whole, producing a synergistic effect that surpasses the sum of the effects of each individual technology.
[0267] This specific embodiment achieves cross-platform, bidirectional, and real-time application flow through comprehensive technological innovation, significantly improving the user experience, which is something that simple combinations of technologies cannot achieve.
[0268] This specific embodiment solves a long-standing technical problem: issues such as bidirectional application flow, real-time interaction, and security, which cannot be effectively addressed by related technologies, are comprehensively resolved in this specific embodiment.
[0269] The above examples are only used to help understand this application and do not constitute a limitation on the cross-device transfer method of this application. Any simple modifications based on this technical concept are within the protection scope of this application.
[0270] In addition, please refer to Figure 7, which is a schematic diagram of the device structure of the hardware operating environment involved in the cross-device transfer method in the embodiments of this application.
[0271] This application also provides an electronic device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the steps of the application cross-device transfer method described above.
[0272] Referring now to Figure 7, a schematic diagram of an electronic device suitable for implementing embodiments of this application is shown. The electronic device in the embodiments of this application may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Description), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs (Televisions), desktop computers, or any electronic device capable of performing the above functions. The electronic device shown in Figure 7 is merely an example and should not impose any limitations on the functions and scope of use of the embodiments of this application.
[0273] As shown in Figure 7, the electronic device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1003 into a random access memory (RAM) 1004. The RAM 1004 also stores various programs and data required for the operation of the electronic device. The processing unit 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: input devices 1007 including, for example, touchscreens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; output devices 1008 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 1003 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1009. Communication device 1009 allows electronic devices to communicate wirelessly or wiredly with other devices to exchange data. While electronic devices with various systems are shown in the figures, it should be understood that implementation or possession of all the systems shown is not required. More or fewer systems may be implemented alternatively.
[0274] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from ROM 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.
[0275] The electronic device provided in this application, employing the application cross-device flow method described in the above embodiments, can solve the technical problem in related technologies that it is impossible to independently capture, transmit, and interact with individual applications, and lacks application-level fine-grained flow control capabilities. Compared with related technologies, the beneficial effects of the electronic device provided in this application are the same as those of the application cross-device flow method provided in the above embodiments, and other technical features of this electronic device are the same as those disclosed in the methods of the above embodiments, and will not be repeated here.
[0276] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.
[0277] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of protection of the above claims.
[0278] In addition, this application also provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to perform the steps of the application cross-device transfer method in the above embodiments.
[0279] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.
[0280] The aforementioned computer-readable storage medium may be included in an electronic device or may exist independently without being assembled into an electronic device.
[0281] The aforementioned computer-readable storage medium carries one or more programs. When the one or more programs are executed by an electronic device, the electronic device performs the following steps: upon receiving a first application flow instruction sent by a second device, it obtains application information of a first application carried by the first application flow instruction; based on the application information of the first application, it obtains first application data generated by running the first application from the second device and displays the first application data in a first window of the current display interface of the first device; upon detecting a first operation instruction for the first application, it sends first operation information corresponding to the first operation instruction to the second device, the first operation information being used to trigger the first application running on the second device to execute the first operation instruction; wherein, the first window synchronously displays the updated first application data generated by the first application in response to the first operation instruction.
[0282] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0283] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0284] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.
[0285] The computer-readable storage medium provided in this application stores computer-readable program instructions (i.e., a computer program) for performing the steps of the above-described application cross-device transfer method. This solves the technical problem in related technologies where independent capture, transmission, and interaction of individual applications are impossible, and where fine-grained application-level transfer control is lacking. Compared to related technologies, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the application cross-device transfer method provided in the above embodiments, and will not be repeated here.
[0286] Furthermore, embodiments of this application also provide a computer program product, including a computer program that, when executed by a processor, implements the steps of the application cross-device transfer method as described in the above embodiments.
[0287] The computer program product provided in this application solves the technical problem in related technologies that it is impossible to independently capture, transmit, and interact with individual applications, and lacks application-level fine-grained flow control capabilities. Compared with related technologies, the beneficial effects of the computer program product provided in this application are the same as the beneficial effects of the application cross-device flow method provided in the above embodiments, and will not be repeated here.
[0288] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.
Claims
1. A method for cross-device flow transfer, the method being applied to a first device, wherein, The method includes: Upon receiving a first application flow instruction sent by a second device, the application information of the first application carried by the first application flow instruction is obtained; Based on the application information of the first application, the first application data generated by running the first application is obtained from the second device, and the first application data is displayed in the first window of the current display interface of the first device. Upon detecting a first operation instruction for the first application, first operation information corresponding to the first operation instruction is sent to the second device. The first operation information is used to trigger the first application running on the second device to execute the first operation instruction. The first window synchronously displays the updated first application data generated by the first application in response to the first operation command.
2. The method for cross-device flow transfer of claim 1, wherein, Before sending the first operation information corresponding to the first operation instruction to the second device, the process includes: Based on the system function mapping relationship between the first operating system and the second operating system, the first operation instruction is converted into an operation instruction adapted to the processing format of the second operating system, wherein the first operating system is the operating system of the first device, and the second operating system is the operating system of the second device; The operation instructions adapted to the processing format of the second operating system are used as the first operation information corresponding to the first operation instructions.
3. The method for cross-device flow transfer of claim 1, wherein, The method further includes: If the touch position corresponding to the touch operation command on the first device is detected to be in the first window, the touch operation command on the first device is determined to be a first operation command for the first application.
4. The method for cross-device stream transfer of claim 1, wherein, The first operation instruction includes an operation instruction generated by at least one of cursor movement, key input, voice input, click event, swipe event, box selection event, and drag event.
5. The method for cross-device stream transfer of claim 1, wherein, Displaying the first application data in a first window of the current display interface of the first device includes: The preset toolbar menu is rendered on the current display interface of the first device, and the first application data is displayed in the first window of the current display interface of the first device; The toolbar menu includes at least one of the following function options: floating window function, full-screen window function, hide function, and close function. The floating window function sets the first window to be displayed as a floating window on the current display interface of the first device; the full-screen window function sets the first window to be displayed in full-screen mode on the current display interface of the first device; the hide function hides the display of the first window while keeping the application flow function of the first application enabled; and the close function disables the display of the first window and disables the application flow function of the first application.
6. The method for cross-device stream transfer of claim 1, wherein, Displaying the first application data in the first window of the current display interface of the first device includes: If a target touch operation is detected, and the first window is dragged as a floating window to a preset flow area in the current display interface, the display of the first window in the current display interface is turned off, and the application flow function of the first application is turned off.
7. The method for cross-device stream transfer of claim 2, wherein, The method further includes: Upon detecting that the application flow function for the second application has been triggered, a second application flow instruction is sent to the second device. The second application flow instruction carries the application information of the second application, which is the application installed on the first device. The second application flow instruction is used to trigger the second device to obtain the second application data generated by the second application from the first device based on the application information of the second application, and to display the second application data on the second window of the display interface of the second device; Upon receiving a second operation instruction, based on the system function mapping relationship, the second operation instruction is converted into an operation instruction adapted to the processing format of the first operating system, and the operation instruction adapted to the processing format of the first operating system is used as the second operation information corresponding to the second operation instruction, wherein the second operation instruction is an operation instruction triggered on the second device for the second application; Based on the second operation information, the running second application is controlled to execute the second operation instruction, and the updated second application data generated by the second application in response to the second operation instruction is sent to the second device so that the second window synchronously displays the updated second application data.
8. The method for cross-device stream transfer of claim 7, wherein, The method further includes: If a touch operation is detected that drags the application window of the second application to a preset flow area in the current display interface, the application flow function for the second application is activated.
9. The method for cross-device stream transfer of claim 7, wherein, The method further includes: When the application flow function for the second application is activated, the data of the second application will be hidden from display on the current display interface.
10. The method for cross-device stream transfer of claim 9, wherein, The method further includes: If the application flow function of the second application is triggered to close based on a preset touch operation, the data of the second application is unblocked on the current display interface, and the second application is switched from running in the background to running in the foreground.
11. The method for cross-device stream transfer of claim 1, wherein, The method further includes: Upon detecting a third operation command for a third application, the third application is triggered to execute the third operation command, and the updated third application data generated by the third application in response to the third operation command is simultaneously displayed on the current display interface. The third application is the application installed on the first device.
12. The method for cross-device stream transfer of claim 11, wherein, The method further includes: If the touch position corresponding to the touch operation command on the first device is detected to be within the application window of the third application, the touch operation command on the first device is determined to be a third operation command for the third application.
13. A method for cross-device workflow, the method being applied to a second device, comprising: Upon detecting that the application flow function for the first application has been triggered, a first application flow instruction is sent to the first device. The first application flow instruction carries the application information of the first application, which is an application installed on the second device. The first application flow instruction is used to trigger the first device to obtain the first application data generated by running the first application from the second device based on the application information of the first application, and to display the first application data on the first window of the display interface of the first device. Upon receiving the first operation information corresponding to the first operation instruction, the running first application is controlled to execute the first operation instruction, and the updated first application data generated by the first application in response to the first operation instruction is sent to the first device so that the first window synchronously displays the updated first application data. The first operation instruction is an operation instruction triggered on the first device for the first application.
14. The method for cross-device stream transfer of claim 13, wherein, The first application, which is under control, executes the first operation instruction, including: Based on the system function mapping relationship between the first operating system and the second operating system, the first operation information is converted into operation information in a processing format adapted to the second operating system, wherein the first operating system is the operating system of the first device, and the second operating system is the operating system of the second device; Based on the operation information adapted to the processing format of the second operating system, the running first application is controlled to execute the first operation instruction.
15. An electronic device, comprising: The electronic device includes: a memory, a processor, and an application cross-device transfer program stored in the memory and executable on the processor, wherein when the application cross-device transfer program is executed by the processor, it implements the steps of the application cross-device transfer method as described in any one of claims 1 to 12, or 13 to 14.
16. A computer readable storage medium, wherein, The computer-readable storage medium stores an application cross-device flow program, which, when executed by a processor, implements the steps of the application cross-device flow method as described in any one of claims 1 to 12, or 13 to 14.
17. A computer program product, wherein, The computer program product includes an application cross-device flow program, which, when executed by a processor, implements the steps of the application cross-device flow method as described in any one of claims 1 to 12, or 13 to 14.