WO2023005784A1 - Procédé de transmission inter-système d'un objet cible, et dispositif - Google Patents

Procédé de transmission inter-système d'un objet cible, et dispositif Download PDF

Info

Publication number
WO2023005784A1
WO2023005784A1 PCT/CN2022/106970 CN2022106970W WO2023005784A1 WO 2023005784 A1 WO2023005784 A1 WO 2023005784A1 CN 2022106970 W CN2022106970 W CN 2022106970W WO 2023005784 A1 WO2023005784 A1 WO 2023005784A1
Authority
WO
WIPO (PCT)
Prior art keywords
target object
application program
host
operating system
window
Prior art date
Application number
PCT/CN2022/106970
Other languages
English (en)
Chinese (zh)
Inventor
王晓东
闫靖波
王海山
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023005784A1 publication Critical patent/WO2023005784A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Definitions

  • the embodiments of the present application relate to the field of electronic technology, and in particular to a method and device for transferring target objects across systems.
  • Android Android applications on mobile phones can run on Windows operating systems through virtualization technology, so that users can easily use Android applications on Windows operating systems.
  • the user drags document 1 in window 01 of the Windows application to the shared folder, and then the user opens the Android application The window 02 of the program, and then the user clicks the add control 03, selects the shared folder, selects the document 1 in the shared folder, and then adds the document 1 to the window of the Android application, and the user needs to perform a series of complicated operations.
  • the embodiment of the present application provides a method and device for transferring target objects across systems, which can realize the application of the first operating system based on the simple operation of the user when the application program of the second operating system is running on the first operating system.
  • the file or text interaction between the program and the application program of the second operating system, and the file or text interaction between different application programs of the second operating system, and this operation is more in line with the user's usage habits based on the first operating system, and the user The experience is better.
  • the embodiment of the present application provides a method for transmitting a target object, which is applied to an electronic device, where the electronic device runs a first operating system, an application program of the first operating system runs on the first operating system, and the first An application program of the second operating system runs on the operating system based on the emulator.
  • the method includes: the electronic device displays a first interface, the first interface includes a window of a first application program and a window of a second application program, the window of the first application program includes a target object, and the window of the second application program does not include a target object object.
  • at least one of the first application program or the second application program is an application program of the second operating system.
  • the electronic device transmits the target object to the second application program in response to a drag event in which the target object is dragged from the window of the first application program to the window of the second application program and the drag is released.
  • the drag event may be triggered by a user's drag operation.
  • the electronic device can realize the target object interaction between the application program of the first operating system and the application program of the second operating system based on the simple drag operation of the user, and different applications of the second operating system on the first operating system Interaction of target objects between programs.
  • the simple operation of the user is more in line with the user's usage habits based on the first operating system, and the user experience is better.
  • the target object may include a file, text, or other transferable object.
  • the method further includes: the electronic device displays the second interface in response to a drag event in which the target object is dragged from the window of the first application to the window of the second application and the drag is released, and the second interface is displayed.
  • the second interface includes a window of the first application program and a window of the second application program, and the window of the second application program includes the target object.
  • the target object may be displayed in the window of the second application program.
  • one of the first application program or the second application program is an application program of the second operating system
  • the target object includes one or more files
  • the electronic device includes the first operating system and the second operating system System shared folders.
  • the electronic device transmitting the target object to the second application program includes: the electronic device transmitting the target object to the second application program based on the shared folder.
  • the target object is a target file
  • the target object in the first application program can be transferred to the second application program through a shared folder.
  • the first application program is the application program of the first operating system
  • the second application program is the application program of the second operating system
  • the first operating system is the host end Host of the emulator
  • the second operating system The system is the client Guest of the emulator.
  • the electronic device transmits the target object to the second application program based on the shared folder, including: the host host Host copies the target object to the shared folder; the client Guest obtains the target object from the shared folder; Two drag events on the operating system side to transfer the target object to the second application program.
  • the target object in the application program of the first operating system can be transferred to the application program of the second operating system.
  • the method before the host-side Host copies the target object to the shared folder, the method further includes: the host-side Host notifies the client-side Guest of a drag event based on pipeline communication; Finally, based on the pipeline communication, the client Guest is notified of the coordinates of the dragging and releasing position and the identification of the side window of the second operating system corresponding to the dragging and releasing window, and the transmission type; Transfer between applications of two operating systems. If the client Guest determines that dragging is allowed at the release position according to the coordinates of the drag release position and the second operating system side window identifier corresponding to the drag release window, then based on the transfer type, the host host is notified to transfer the target object through pipeline communication.
  • the host-side Host copies the target object to the shared folder, including: the host-side Host copies the target object to the shared folder, and notifies the client-side Guest of the copy completion message based on the pipeline communication.
  • the client Guest acquires the target object from the shared folder, including: the client Guest acquires the target object from the shared folder after receiving the copy completion message.
  • communication and interaction between the first operating system and the second operating system can be performed based on the pipe communication, so as to transmit the target object in the application program of the first operating system to the application program of the second operating system.
  • the host-side Host copies the target object to the shared folder, and notifies the client-side Guest of the copy completion message based on pipeline communication, including: every time the host-side Host copies a single file in the target object to After the folder is shared, the copy completion message is notified to the client Guest based on the pipeline communication.
  • the client Guest acquires the target object from the shared folder, including: each time the client Guest receives a copy completion message, it acquires a file of the target object from the shared folder.
  • the client Guest builds the drag event on the second operating system side according to the target object, so as to transfer the target object to the second application program, including: the client Guest builds the drag event on the second operating system side according to a single file in the target object event to transfer each file in the target object to the second application individually.
  • the electronic device may transmit a single file in the target file to the second application program respectively.
  • the copy completion message includes the file name of the copied file; or, the copy completion message includes file name information and time stamp of the copied file.
  • the client Guest can obtain the target object based on the file name and timestamp of the file.
  • the method further includes: after the dragging position enters the window of the third application program, the third application program is an application program of the second operating system, and the third application program and the second application program The same or different, the electronic device displays a drag-and-drop permission mark or a drag-and-drop mark according to whether the third application program allows the target object to be dragged in.
  • the electronic device can prompt the user in real time whether dragging of the target object is allowed at the current location by displaying a drag-and-drop permission mark or a drag-and-drop mark.
  • the first application program is an application program of the second operating system
  • the second application program is an application program of the first operating system
  • the first operating system is the host end Host of the emulator
  • the second operating system The system is the client Guest of the emulator.
  • the electronic device transmits the target object to the second application program based on the shared folder, including: the host-side Host builds a drag event on the first operating system side; the client-side Guest copies the target object to the shared folder; the host-side Host cancels the second A drag event on the operating system side cuts the target object from the shared folder to the second application program.
  • the electronic device may cut the target object in the application program of the second operating system to the second application program based on the shared folder in response to the user's dragging.
  • the client Guest copies the target object to the shared folder, including: the client Guest takes a single file as the granularity and copies the target object Each file in the object is copied to the shared folder individually.
  • the Host at the host end cuts the target object from the shared folder to the second application program, including: the Host at the host end cuts each file in the target object from the shared folder to the second application program.
  • the electronic device can respond to the user's drag and drop, and based on the shared folder, cut the single file included in the target object in the application program of the second operating system to the first file. Two applications.
  • the first application program is an application program of the second operating system
  • the second application program is an application program of the first operating system
  • the first operating system is the host end Host of the emulator
  • the second operating system The system is the client Guest of the emulator.
  • the electronic device transmits the target object to the second application program based on the shared folder, including: the host-side Host constructs a drag event on the first operating system side; the client-side Guest copies the target object to the shared folder;
  • the folder acquires the target object; the host-side Host transmits the target object to the second application program based on the drag event on the first operating system side, and ends the drag event on the first operating system side.
  • the electronic device transmits the target object in the application program of the second operating system to the second application program based on the shared folder and the constructed drag event.
  • the method before the client-side Guest copies the target object to the shared folder, the method further includes: the client-side Guest notifies the host-side Host of a drag event based on pipeline communication; after the drag-and-drop is released, if Drag and drop the window to be the window of the application program of the first operating system, then the host end Host notifies the client Guest of the transmission type based on the pipeline communication; the transmission type is used to indicate that the target object is between the application program of the first operating system and the second operating system After receiving the transfer type, the client-side Guest notifies the host-side Guest to transfer the target object based on the pipeline communication. After the client Guest copies the target object to the shared folder, the method further includes: the client Guest notifies the host host of a copy completion message.
  • the communication and interaction between the first operating system and the second operating system are performed based on pipeline communication, so that the target object in the application program of the second operating system is transferred to the application program of the first operating system.
  • the copy completion message includes the file name of the copied file; or, the copy completion message includes file name information and time stamp of the copied file.
  • the host can obtain the target object based on the file name and timestamp of the file.
  • the method further includes: the client-side Guest notifies the target object's file name information and drag-and-drop icon to The host-side Host; the host-side Host constructs a drag event on the first operating system side according to the file name information, and sets a drag-and-drop icon.
  • the electronic device can display the dragging icon on the interface in real time.
  • the first application program and the second application program are applications of the second operating system, and the target object includes one or more files; the electronic device transmits the target object to the second application program, including: The electronic device transmits the target object to the second application program based on the pipe communication.
  • the electronic device may transmit the target object in the first application program in the second operating system to the second application program based on pipe communication.
  • the electronic device transmits the target object to the second application program based on the pipeline communication, including: the client Guest informs the host terminal Host of a drag event based on the pipeline communication.
  • the host-side Host constructs a drag event on the first operating system side.
  • the host side Host determines that the drag and drop window is the window of other application programs in the second operating system according to the coordinates of the release position, then based on the pipeline communication, the second operating system side window ID corresponding to the drag source window, drag Notify the client Guest of the dragging position, the identifier of the second operating system side window corresponding to the dragging window, and the transmission type.
  • the transfer type is used to indicate that the target object is transferred between different applications in the second operating system. If the client Guest determines that dragging is allowed at the release position according to the drag release position and the second operating system side window identifier corresponding to the drag release window, then the host-side Host is notified to transmit the target object based on the pipeline communication. The client Guest obtains the target object, and constructs a drag event on the second operating system side according to the target object, so as to transfer the target object to the second application program.
  • the electronic device can transfer the target object between different application programs of the second operating system based on the constructed drag event.
  • the Guest side stores the file name information of the target object.
  • the client Guest after the client Guest notifies the host Host of the drag event based on pipeline communication, it notifies the host Host of the file name information of the target object; after the drag and drop is released, the host Host notifies the client Guest of the file name information.
  • the client Guest acquires the target object, including: the client Guest acquires the target object according to the file name information.
  • the file name information of the target object can be transferred between the second operating system and the first operating system, or the second operating system can store it in advance, so that the target object can be obtained according to the file name information after dragging and dropping , which is transferred to the second application.
  • the method further includes: after the dragging position enters the window of the third application program, the third application program is an application program of the second operating system, and the third application program and the second application program The same or different, the electronic device displays a drag-and-drop permission mark or a drag-and-drop mark according to whether the third application program allows the target object to be dragged in.
  • the electronic device may prompt the user whether dragging is allowed at the current location by displaying a dragging allowed sign or a dragging prohibited sign.
  • the method further includes: the electronic device saves the target object to a directory corresponding to the drag-and-drop position in the window of the second application program or, the electronic device sends the target object to the contact object through the second application program.
  • the second application program can save the target object obtained by the transmission, or send the target object to the contact object.
  • the drag event is an event triggered by a user's drag operation using a mouse, or an event triggered by a user's drag operation based on a touch screen.
  • the user can drag and drop the transfer target object through a mouse or through a touch operation on a touch screen.
  • the target object is target text
  • the electronic device transmits the target object to the second application program, including: the electronic device transmits the target object to the second application program based on channel communication.
  • the electronic device in response to the user's drag operation, can transmit the target file in the first application program to the second application program based on pipe communication.
  • the first application program is an application program of the first operating system
  • the second application program is an application program of the second operating system.
  • the electronic device transmits the target object to the second application program based on the pipeline communication, including: the host-side Host notifies the client-side Guest of a drag event based on the pipeline communication. After the drag and drop, the host host host notifies the client Guest of the coordinates of the drag and drop position and the second operating system side window ID, transfer type, and text content of the target object corresponding to the drag release window based on pipeline communication; the transfer type is used for Indicates that the target object is transferred between the application program of the first operating system and the application program of the second operating system.
  • a drag event on the second operating system side is constructed based on the text content, so as to The target object is transferred to the second application.
  • the electronic device can transmit the target object to the second application program of the second operating system based on the pipe communication and the constructed drag event on the second operating system side.
  • the first application program is an application program of the second operating system
  • the second application program is an application program of the first operating system.
  • the electronic device transmits the target object to the second application program based on the pipeline communication, including: the client Guest notifies the host-side Host of a drag event based on the pipeline communication, and notifies the host-side Host of the text content of the target object; the host-side Host builds Drag event on the first operating system side.
  • the host side Host determines that the drag release window is the window of the first operating system application program according to the coordinates of the release position, then the transfer type is notified to the client Guest based on the pipeline communication; the transfer type is used to indicate that the target object is in The application program of the first operating system is transferred between the application program of the second operating system. If the drag-and-drop window is the resource manager window of the first operating system, the host-side Host cancels the drag event on the first operating system side based on the transmission type, and clips the target object to the second application program.
  • the host-side Host transfers the target object to the second application program through the drag event on the second operating system side based on the transfer type, and ends the process on the first operating system side. drag event.
  • the electronic device can transmit the target object in the application program of the second operating system to the application program of the first operating system based on the pipe communication and the constructed drag event.
  • the first application program and the second application program are different application programs of the second operating system
  • the electronic device transmits the target object to the second application program based on pipeline communication, including:
  • the pipeline communication notifies the Host of the drag event, and notifies the Host of the text content of the target object.
  • the host-side Host constructs a drag event on the first operating system side.
  • the host side Host determines that the drag and drop window is the window of other application programs in the second operating system according to the coordinates of the release position, then based on the pipeline communication, the second operating system side window ID corresponding to the drag source window, drag Notify the client Guest of the location of the drag and drop, the ID of the side window of the second operating system corresponding to the window of the drag and release, the transfer type, and the text content; the transfer type is used to indicate that the target object is transferred between different applications of the second operating system.
  • the client Guest determines that the release position allows dragging according to the drag release position and the second operating system side window identifier corresponding to the drag release window, then obtains the target object based on the transfer type, and constructs a drag event on the second operating system side according to the target object, to transfer the target object to the second application.
  • the electronic device can transfer the target object between different application programs of the second operating system based on the pipe communication and the constructed drag event.
  • the text content of the target object is stored on the Guest side; or, the client Guest notifies the host-side Host of the drag event based on pipeline communication, and then notifies the host-side Host of the text content of the target object; After dragging and releasing, the host-side Host notifies the client-side Guest of the text content; the client-side Guest obtains the target object, including: the client-side Guest obtains the text content.
  • the text content of the target object can be transferred between the second operating system and the first operating system, or the second operating system can store it in advance, so that the text content can be transferred to the second application after dragging and dropping program.
  • an embodiment of the present application provides a method for transmitting a target object, which is applied to an electronic device, where the electronic device runs a first operating system, an application program of the first operating system runs on the first operating system, and the first operating system runs an application program of the first operating system.
  • An application program of a second operating system runs on an emulator based on an operating system.
  • the method includes: the electronic device displays a first interface, the first interface includes a window of a first application program and a window of a second application program, the window of the first application program includes a target object, and the window of the second application program does not include a target object object; wherein, the first application program and the second application program are application programs in different operating systems, and the target object includes one or more files.
  • the electronic device transmits the target object to the second application in response to a target event, including a copy event or a cut event, for the target object in the window of the first application, and a paste event in the window of the second application.
  • the copy event or cut event may be triggered by a user's simple target operation, for example, the target operation may be a copy operation or a cut operation.
  • the electronic device can realize the target object interaction between the application program of the first operating system and the application program of the second operating system based on the simple target operation of the user, and the different application programs of the second operating system on the first operating system interaction between target objects.
  • the simple operation of the user is more in line with the user's usage habits based on the first operating system, and the user experience is better.
  • the target object may include a file, text, or other transferable object.
  • the electronic device includes a shared clipboard and a shared folder of the first operating system and the second operating system.
  • the electronic device transmits the target object to the second application program in response to the target event for the target object in the window of the first application program and the paste event in the window of the second application program, including: the electronic device responds to the target object for the first application program A target event of the target object in the window of the program, and a paste event in the window of the second application program, transfer the target object to the second application program based on the shared clipboard.
  • the electronic device can transfer the target object across systems based on the shared clipboard.
  • the first application program is the application program of the first operating system
  • the second application program is the program of the second operating system
  • the first operating system is the host end Host of the emulator
  • the second operating system For the client Guest of the emulator
  • the electronic device responds to the target event for the target object in the window of the first application program, and the paste event in the window of the second application program, and transmits the target object to the second application program, including:
  • the host end Host stores the path information of the target object in the clipboard of the first operating system in response to the target event of the target object in the window of the first application program.
  • the host side Host synchronizes the path information in the clipboard of the first operating system to the shared clipboard.
  • the client Guest in response to the paste event in the window of the second application program, notifies the host-side Host to transfer the target object based on the pipeline communication.
  • the host-side Host copies the target object corresponding to the path information in the shared clipboard to the shared folder, and notifies the client-side Guest of a copy completion message. After receiving the copy completion message, the client Guest copies the target object from the shared folder to the second application program.
  • the electronic device may transfer the target object from the application program of the first operating system to the application program of the second operating system based on the shared clipboard.
  • the client-side Guest notifies the host-side Host to transfer the target object based on pipeline communication, including: the target path to be pasted corresponding to the second application program by the client-side Guest, and the path information corresponding to the path information in the shared clipboard.
  • the target object performs a pre-check, and after the pre-check passes, the host-side Host is notified to transmit the target object based on the pipeline communication.
  • the host-side Host copies the target object corresponding to the path information in the shared clipboard to the shared folder, including: the host-side Host determines whether the source target object exists, and if it exists, copies the target object corresponding to the path information in the shared clipboard to Shared folder.
  • the electronic device needs to perform relevant transmission checks first, and the target object can be successfully transmitted only after the check is passed.
  • the first application program is an application program of the second operating system
  • the second application program is a program of the first operating system
  • the first operating system is the host end Host of the emulator
  • the second operating system It is the client Guest of the emulator.
  • the electronic device transmits the target object to the second application program in response to the target event for the target object in the window of the first application program and the paste event in the window of the second application program, including: the client Guest responds to the target object for the first application program
  • the target event of the target object in the window of the application program stores the path information of the target object into the clipboard of the second operating system.
  • the client Guest synchronizes the path information in the clipboard of the second operating system to the shared clipboard.
  • the host-side Host In response to the paste operation in the window of the second application program, the host-side Host notifies the client-side Guest to transmit the target object based on the pipeline communication.
  • the client-side Guest copies the target object corresponding to the path information in the shared clipboard to the shared folder, and notifies the host-side Host of a copy completion message.
  • the Host at the host After receiving the copy completion message, the Host at the host end copies the target object from the shared folder to the second application program.
  • the electronic device may transmit the target object in the application program of the second operating system to the application program of the first operating system based on the shared clipboard.
  • the host-side Host notifies the client-side Guest to transfer the target object based on pipeline communication, including: the host-side Host corresponds to the destination path to be pasted to the second application program, and the path information corresponding to the path information in the shared clipboard.
  • the target object is pre-checked, and after the pre-check is passed, the client Guest is notified to transmit the target object based on the pipeline communication.
  • the client Guest copies the target object corresponding to the path information in the shared clipboard to the shared folder, including: the client Guest determines whether the source target object exists, and if it exists, copies the target object corresponding to the path information in the shared clipboard to Shared folder.
  • the electronic device needs to perform relevant transmission checks first, and the target object can be successfully transmitted only after the check is passed.
  • the method further includes: the electronic device saves the target object to a directory corresponding to the drag-and-drop position in the window of the second application program or, the electronic device sends the target object to the contact object through the second application program.
  • the second application program can save the target object obtained by the transmission, or send the target object to the contact object.
  • the target event is a copy event
  • the copy event is triggered by any of the following operations: the user uses a keyboard shortcut to copy the target object, the user uses the right The object selects the copy operation after long pressing the left mouse button, or the user selects the copy operation after long pressing the target object based on the touch screen.
  • the paste event is triggered by any of the following operations: the user uses a keyboard shortcut to paste the target object, the user uses the right mouse button to select the paste operation on the target object, the user selects the paste operation after long pressing the left mouse button on the target object, or Select the paste operation after long pressing the target object on the touch screen.
  • the electronic device can transmit the target object in the first application program to the second application program in response to the user's copy operation and paste operation, and retain the target object in the first application program.
  • the target event is a cut event
  • the method further includes: the electronic device deletes the target object in the first application program.
  • the electronic device may transmit the target object in the first application program to the second application program and delete the target object in the first application program in response to the user's cut operation and paste operation.
  • the shared folder is a Virtio-9p shared folder and the pipe communication is Qemu Pipe.
  • the target object can be transferred between the first application program and the second application program based on the Virtio-9p shared folder and Qemu Pipe.
  • the first operating system is a Windows operating system
  • the second operating system is an Android operating system
  • the target object can be transferred across systems between the applications of the Windows operating system and the Android operating system, or the target object can be transferred between different application programs of the Android operating system.
  • an embodiment of the present application provides an apparatus for transmitting a target object, the apparatus is included in an electronic device, and the apparatus has a function of implementing the behavior of the electronic device in any method in the above aspects and possible designs.
  • This function may be implemented by hardware, or may be implemented by executing corresponding software on the hardware.
  • Hardware or software includes at least one module or unit corresponding to the above functions. For example, a display module or unit, a transmission module or unit, a processing module or unit, and the like.
  • an embodiment of the present application provides an electronic device, which may include a screen for displaying an interface; one or more processors; memory; and one or more computer programs; wherein, one or more The computer program is stored in the memory, and one or more computer programs include instructions; when the instructions are executed by the processor, the electronic device is made to execute the target object transmission method in any possible design of the above aspects.
  • an embodiment of the present application provides an electronic device, which may include one or more processors; memory; and one or more computer programs; wherein, one or more computer programs are stored in the memory , one or more computer programs include instructions; when the instructions are executed by the processor, the electronic device is made to execute the target object transmission method in any possible design of the above aspects.
  • an embodiment of the present application provides a computer-readable storage medium, including computer instructions.
  • the computer instructions When the computer instructions are run on the electronic device, the electronic device performs the transmission of the target object in any possible design of the above aspects. method.
  • an embodiment of the present application provides a computer program product, which, when the computer program product is run on a computer, causes the computer to execute the target object transmission method in any possible design of the above aspect.
  • FIG. 1A is a schematic diagram of a cross-system file transfer process interface provided by the prior art
  • FIG. 1B is a schematic diagram of a cross-system file transfer process provided by the prior art
  • FIG. 2 is a schematic diagram of a transmission architecture of a target object provided by an embodiment of the present application
  • FIG. 3 is a schematic structural diagram of an electronic device provided in an embodiment of the present application.
  • FIG. 4 is a schematic diagram of another target object transmission architecture provided by the embodiment of the present application.
  • Fig. 5 is a schematic diagram of a group of interfaces provided by the embodiment of the present application.
  • FIG. 6A is a schematic diagram of a transmission process of a target object provided by an embodiment of the present application.
  • FIG. 6B is a flow chart of the transmission of a target object provided by the embodiment of the present application.
  • FIG. 6C is a flow chart of another target object transmission provided by the embodiment of the present application.
  • FIG. 7A is a schematic interface diagram of a group of drag-and-drop transfer files provided by the embodiment of the present application.
  • FIG. 7B is a schematic interface diagram of another group of drag-and-drop transfer files provided by the embodiment of the present application.
  • Fig. 7C is a schematic diagram of an interface of a group of drag-and-drop transfer texts provided by the embodiment of the present application.
  • FIG. 8A is a schematic diagram of a transmission process of a target object provided by the embodiment of the present application.
  • FIG. 8B is a flow chart of the transmission of a target object provided by the embodiment of the present application.
  • FIG. 8C is a flow chart of another target object transmission provided by the embodiment of the present application.
  • FIG. 9 is a schematic diagram of an interface of a group of drag-and-drop transfer files provided by the embodiment of the present application.
  • Fig. 10 is a set of flow charts for determining that the destination is Windows Explorer provided by the embodiment of the present application.
  • FIG. 11A is a schematic diagram of a transmission process of a target object provided by an embodiment of the present application.
  • Fig. 11B is a flow chart of the transmission of a target object provided by the embodiment of the present application.
  • FIG. 11C is a flow chart of another target object transmission provided by the embodiment of the present application.
  • Fig. 12 is a schematic diagram of an interface of a group of drag-and-drop transfer files provided by the embodiment of the present application.
  • FIG. 13A is a flow chart of a target object transmission provided by the embodiment of the present application.
  • FIG. 13B is a flow chart of another target object transmission provided by the embodiment of the present application.
  • Fig. 14 is a schematic interface diagram of a group of copied files provided by the embodiment of the present application.
  • Fig. 15 is a schematic interface diagram of a group of cut files provided by the embodiment of the present application.
  • Fig. 16 is a schematic interface diagram of a group of copied texts provided by the embodiment of the present application.
  • Fig. 17 is a flow chart of the transmission of a target object provided by the embodiment of the present application.
  • Fig. 18 is a schematic interface diagram of a group of copied files provided by the embodiment of the present application.
  • Fig. 19 is a flow chart of the transmission of a target object provided by the embodiment of the present application.
  • FIG. 20 is a schematic diagram of an interface of a group of copied files provided by the embodiment of the present application.
  • first and second are used for descriptive purposes only, and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of indicated technical features. Thus, a feature defined as “first” and “second” may explicitly or implicitly include one or more of these features. In the description of this embodiment, unless otherwise specified, “plurality” means two or more.
  • Android applications can run on Windows operating systems based on virtualization technologies such as Android emulators.
  • virtualization technologies such as Android emulators.
  • the user needs to perform multi-step and complicated operations, and the user experience is poor.
  • the file transfer between the Android side and the Windows side can be realized through an Android debug bridge (android debug bridge, adb) tool.
  • Android debug bridge android debug bridge, adb
  • the essence of file transfer through adb is socket-based TCP/IP communication, limited by bandwidth, network delay and other factors, the file transfer speed is slow; and file transfer depends on the adb process, once the adb port is occupied or adb is not If it runs successfully, the communication between the Android side and the Windows side will be disconnected, and the file cannot be transferred successfully.
  • the embodiment of the present application provides a method for transmitting a target object across systems, which can be applied to electronic devices.
  • the electronic device runs a first operating system, and an application program of a second operating system runs on the first operating system based on a simulator.
  • the electronic device can realize the target object interaction between the application program of the first operating system and the application program of the second operating system based on the simple operation of the user, and the difference between the second operating system on the first operating system Interaction of target objects between applications.
  • the target object may include files, text or other transferable objects.
  • the simple operation of the user is more in line with the user's usage habits based on the first operating system, and the user experience is better.
  • the user's simple operation may be a one-step drag operation, or the user's simple operation may be a copy/cut operation, a paste operation, and the like.
  • the method provided by the embodiment of the present application does not rely on factors such as adb, socket communication, and network capabilities, and is not limited by these factors, so the file transfer speed is fast, safe and reliable.
  • the first operating system and the second operating system are different operating systems.
  • the first operating system can be Windows operating system, Linux operating system, Unix operating system, DOS operating system or Mac OS operating system, etc.
  • the second operating system can be Android operating system, iOS operating system, Hongmeng Harmony operating system, Cypriot operating system, etc.
  • the embodiment of the present application does not limit specific types of the first operating system and the second operating system.
  • the user's operating habits may also be different.
  • the first operating system is the Windows operating system.
  • the second operating system is an Android operating system.
  • users For devices such as mobile phones running a Windows operating system, users usually do not use a mouse or shortcut keys to transfer files.
  • the electronic device shown in FIG. 2 may be a desktop computer, a notebook computer, a desktop computer, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC) or a netbook, etc., and the embodiment of the present application does not make any specific types of electronic devices. any restrictions.
  • the electronic device can be realized by the computer system 300 shown in FIG. 3 .
  • the computer system 300 includes a display screen 30 , at least one processor 301 , a communication bus 302 , a memory 303 and at least one communication interface 304 .
  • the display screen 30 is used to display images, videos and the like.
  • the display screen 30 includes a display panel.
  • the display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active matrix organic light emitting diode or an active matrix organic light emitting diode (active-matrix organic light emitting diode, AMOLED), flexible light-emitting diode (flex light-emitting diode, FLED), Miniled, MicroLed, Micro-oLed, quantum dot light emitting diodes (quantum dot light emitting diodes, QLED), etc.
  • the display screen 30 may be used to display multiple windows, including windows of application programs of the first operating system, and/or windows of application programs of the second operating system.
  • the processor 301 can be a general-purpose central processing unit (central processing unit, CPU), a microprocessor, a specific application integrated circuit (application specific integrated circuit, ASIC), or one or more integrated circuits for controlling the execution of the program program of this application. circuit.
  • the processor 301 may run a first operating system, and an application program of a second operating system may run on the first operating system based on an emulator.
  • Communication bus 302 may include a path for communicating information between the components described above.
  • Communication interface 304 using any device such as a transceiver, for communicating with other devices or communication networks, such as Ethernet, radio access network (radio access network, RAN), wireless local area networks (wireless local area networks, WLAN), etc. .
  • a transceiver for communicating with other devices or communication networks, such as Ethernet, radio access network (radio access network, RAN), wireless local area networks (wireless local area networks, WLAN), etc. .
  • the memory 303 can be a read-only memory (read-only memory, ROM) or other types of static storage devices that can store static information and instructions, RAM or other types of dynamic storage devices that can store information and instructions, or can be electronically Erasable programmable read-only memory (electrically erasable programmable read-only memory, EEPROM), read-only disc (compact disc read-only memory, CD-ROM) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, Digital Versatile Disc, Blu-ray Disc, etc.), magnetic disk storage medium or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited to this.
  • the memory can exist independently and be connected to the processor through the bus. Memory can also be integrated with the processor.
  • the memory 303 is used to store the application program code for executing the solution of the present application, and the execution is controlled by the processor 301 .
  • the processor 301 is used to execute the application program code stored in the memory 303, so as to control the computer system 300 to implement the file interaction method provided by the following embodiments of the present application, so as to be based on one-step drag operation, or based on copy/cut and paste operation, etc.
  • the user's simple operation realizes the interaction between the application program of the first operating system and the application program of the second operating system, and between different application programs of the second operating system.
  • the computer-executed instructions in the embodiments of the present application may also be referred to as application program codes, which is not specifically limited in the embodiments of the present application.
  • the processor 301 may include one or more CPUs, such as CPU0 and CPU1 in FIG. 3 , and each CPU may support multiple virtual CPUs, and a virtual CPU is also called a VCPU.
  • the computer system 300 may include multiple processors, such as the processor 301 and the processor 307 in FIG. 3 .
  • processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor.
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • the computer system 300 may further include an output device 305 and an input device 306 .
  • Output device 305 is in communication with processor 301 and can display information in a variety of ways.
  • the output device 305 may be a liquid crystal display (liquid crystal display, LCD), a light emitting diode (light emitting diode, LED) display device, a cathode ray tube (cathode ray tube, CRT) display device, or a projector (projector) wait.
  • the input device 306 communicates with the processor 301 and can accept user input in various ways.
  • the input device 306 may be a mouse, a keyboard, a touch screen device, or a sensing device, among others.
  • the first operating system runs on the electronic device
  • the application program based on the first operating system (referred to as the application program of the first operating system) runs on the first operating system
  • the first operating system runs based on the emulator.
  • the electronic device may adopt a multi-window form and run application programs of the first operating system.
  • the electronic device can determine the corresponding window on the second operating system side according to the window identifier on the first operating system side, or determine the corresponding first operation window based on the window identifier on the second operating system side. Windows on the system side.
  • the communication and interaction between the first operating system run by the emulator and the second operating system can be based on the pipeline communication technology, so that the application program of the first operating system and the application program of the second operating system can
  • the related information is exchanged during the process of transferring the target object between the different application programs of the second operating system, and the related information is exchanged during the process of transferring the target object between different application programs of the second operating system.
  • target objects can be shared between the first operating system and the second operating system.
  • the source operating system can automatically save the target object to be transferred into the shared folder, and the destination operation
  • the system can automatically obtain the target object from the shared folder and transfer it to the window of the target application.
  • the embodiment of the present application can realize the target object between the application program of the first operating system and the application program of the second operating system. Interaction, and interaction of target objects between different applications of a second operating system running on a first operating system.
  • the target object may include files, text or other transferable objects.
  • the file may be a video file, an audio file, a document, a picture, a shortcut or a compressed file, etc.
  • the text may be a piece of text, a number, or a string. That is to say, combined with the pipeline communication and shared folder technology between the first operating system and the second operating system, the first operating system and the second operating system can exchange information and share files, text or other transferable objects , so that the application programs of the first operating system and the application programs of the second operating system can interact with files, texts or other transferable objects, and realize the communication between different application programs of the second operating system running on the first operating system Interactive files, text or other transportable objects.
  • Qemu pipeline communication Qemu Pipe Communication
  • Qemu Pipe communication realizes the communication between the second operating system and the emulator through the virtual device, and the communication speed is fast and the stability is high.
  • the communication speed is fast and the stability is high.
  • the shared folder technology can be realized by various technologies, such as plan 9 folder sharing over Virtio-I/O virtualization framework (plan 9 folder sharing over Virtio-I/O virtualization framework, Virtio-9p shared folder) based on the virtio-i/o virtualization framework (referred to as 9p shared folder), virtual block device (virtual block device, VBD), network file system (network file system, NFS) and public Internet file system (common internet file system, CIFS), or virtual machine shared file system ( shared file system for virtual machines, Virtio-Fs) technologies, etc., are not limited.
  • Virtio-9p uses the existing 9p protocol (a network file system protocol) and the Virtio-driven architecture to implement a server (Server) on the back end of Qemu to connect with a specific file system, and truly realize the connection between the Guest and the Host. File sharing and access, so it is called Virtio-9p.
  • Virtio-9p can provide complete functional support and good performance.
  • NFS or CIFS data transmission needs to be copied multiple times, and a layer of network overhead is added, resulting in a large loss in performance.
  • the network file system is not specially designed for virtualization, so its supported functions are not perfect enough.
  • the shared folder is a bridge between Android and Windows data.
  • the emulator Android application needs to access Windows data but cannot directly obtain it. You must first call up the Android side storage to find the file. At this time, the first folder in the storage on the Android side is named "Shared Folder", which is convenient for users to access directly.
  • create a shared folder locally on the Windows side which is essentially the same folder as the folder in the storage on the Android side. After the user drags the file to be transferred into the folder on the Windows side, the Android application can be uploaded from the Android side. The file is found in storage.
  • the first operating system will be the Windows operating system
  • the second operating system will be the Android operating system
  • the electronic device runs the Windows operating system
  • the Windows operating system runs Android applications based on the Android emulator.
  • Program, Qemu Pipe communication is adopted between the Host side and the Guest side of the emulator, the shared folder technology adopts Virtio-9p, and the electronic device is a computer as an example, the method for the cross-system transmission target object provided by the embodiment of the present application is described.
  • the Android application program used to interact with the target object can be a system application of the Android operating system (such as Android file management), or a third-party application (such as a social application (such as WeChat, QQ), a gallery, a news application, Video applications (such as Douyin, Kuaishou, etc.) or game applications).
  • the Windows application program used for the target object can also be a system application of the Windows operating system (such as Windows Explorer, (text editor), etc.), or a third-party application (such as a browser application, video application or game application, etc.) .
  • the embodiment of the present application does not limit the specific types of the Android application program and the Windows application program used to interact with the target object.
  • the Android application program can run on the Windows operating system in the form of multiple windows.
  • the Windows operating system can determine the corresponding window ID on the Android side (for example, the Android side virtual display (VirtualDisplay) displayid of the window); the Android operating system may also determine the corresponding window ID on the Windows side according to the window ID on the Android side.
  • the window on the Windows side is identified as a window handle
  • the window on the Android side is identified as a virtual display (VirtualDisplay) window displayid
  • the window correspondence is a one-to-one correspondence between the window handle on the Windows side and the window displayid on the Android side
  • the window ID on the Windows side is the window displayid corresponding to the window handle
  • the window ID on the Android side is the window displayid
  • the window correspondence is a one-to-one correspondence between the window displayid on the Windows side and the window displayid on the Android side .
  • the icon such as the icon 51 of Windows Explorer and the network connection icon 52 etc.
  • the icon of Android application program such as Android (Android) icon 53 for file management, icon 54 for news headlines and icon 55 for social software, etc.
  • a window 501 of Windows Explorer is displayed on the screen.
  • the computer runs the Android file management, and as shown in (b) in FIG. 5 , a window 503 of the Android file management is also displayed on the screen.
  • the Windows operating system may also be referred to as a host (Host) of the Android emulator, and the Android operating system may also be referred to as a client (Guest) of the Android emulator. Since the Android emulator runs on the Windows operating system, the Android emulator can be understood as an application program on the Windows side. The interaction between the Android emulator and the Android application program can also be understood as the interaction between the Host side and the Guest side of the Android emulator.
  • the Android emulator and the Android operating system can communicate and interact based on Qemu Pipe, so that the Windows application program and the Android application program can Interact related information during the process of transferring target objects between different Android applications, and exchange related information during the process of transferring target objects between different Android applications.
  • related information refers to information such as messages or signaling exchanged between the Host side and the Guest side during the transmission process of the target object, in addition to the data content of the target object.
  • the target object can be shared between the Windows operating system and the Android operating system.
  • the source operating system can automatically save the target object to be transferred into the 9p shared folder, and the target operating system can automatically save the target object from the 9p
  • the shared folder acquires the target object and transfers it to the window of the target application.
  • the computer can realize the interactive target object between the Android application program and the Windows application program based on the user's one-step drag operation, or the user's simple operations such as copy/cut and paste operations, and different Android applications. Interaction target object between applications. Moreover, the simple operation for the user to trigger the interactive target object conforms to the user's usage habits based on the Windows operating system, so the user experience is better.
  • the user can drag and drop the target object in the Windows application window displayed on the computer screen to the Android application window through an input device such as a mouse or a touch screen.
  • the computer transmits the target object in the Windows application program to the Android application program in response to the user's drag operation, so as to realize the copying of the target object from the Windows application program to the Android application program.
  • the communication interaction between the Host side and the Guest side of the Android emulator is based on Qemu Pipe.
  • the Windows-side drag event such as object linking and embedding Drag/Drop (OLE Drag/Drop) drag event
  • the target file is transferred from the Windows application to the Windows Explorer , Windows Explorer copies the target file to the 9p shared folder.
  • the Guest side reads the target file from the 9p shared folder, obtains the uniform resource identifier (Uniform Resource Identifier, URI) of the target file, and realizes the transfer of the target file inside Android, thereby transferring the target file to the Android application.
  • URI Uniform Resource Identifier
  • the Host side and the Guest side of the Android emulator communicate and interact based on Qemu Pipe, and after the Host side generates a Windows-side drag event (such as an OLE Drag/Drop drag event), The target text is notified to the Guest side based on Qemu Pipe.
  • the Guest side realizes the transmission of the target text inside the Android, so that the target text is transmitted to the Android application program.
  • the method for transferring a target object across systems may include the following process: the target object is dragged into the window of a Windows application program such as Windows Explorer. Window of an Android application. Perform the following steps in a loop until the target object moves out of the window of the Android application or the target object is dragged and released: the Host side of the Android emulator will notify the Guest side (that is, the Android system) of the drag-in event based on the pipeline communication Qemu Pipe, including notification dragging Information such as location coordinates, the ID of the Android side window entered by the dragged location, and the target object type.
  • the target object type is used to indicate the type of the dragged target object.
  • the target object type can be a file or text, etc.
  • the Guest side is based on Qemu Pipe replies to the Host side whether drag-in is allowed
  • the Host side displays the drag-and-drop style (or drag-and-drop logo) according to the information of whether the drag-and-drop is allowed or not replied by the Guest side, for example, the drag-and-drop style includes the prohibit/allow drag-and-drop logo, etc.
  • the Host side After the target object is released, the Host side notifies the Guest side of the drag release event based on the Qemu Pipe, including the notification of the Android side window ID corresponding to the drag release position, the coordinates of the drag release position, the type of the target object, and the target object as the target file When the target file includes the number of files and the total file size, as well as the text length and text content when the target object is the target text.
  • the Guest side determines that the dragging release position allows dragging, an empty dragging start event is constructed.
  • the Guest side replies to the Host side based on the Qemu Pipe whether dragging is allowed. If the Host side determines that the drag-in is not allowed according to the reply from the Guest side, the Host side ends the drag-and-drop; if it determines that the drag-in is allowed, the subsequent process is executed.
  • the Host side copies the individual files in the target file to the 9p shared folder successively, and notifies the Guest side that the single file copy is completed; the Host side obtains the single file URI, read files through URI, and build a drag event for a single file.
  • the Host side notifies the Guest side after all files of the target file are copied; the Guest side transfers the target file to the specified Android application window for dragging and dropping through a drag event. If the type of the target object is text, see FIG.
  • the Guest side constructs a drag event according to the text content, and transmits the target text to the specified Android application window for drag and drop. Then, continuing to refer to FIG. 6B , the Guest side constructs an empty drag end event, thereby ending the drag transfer process of the target object.
  • variable (atler, Alt) in FIG. 6B indicates that the target object type can be changed, which can be "file” or "text".
  • the Host side detects that the target object in the Windows application window is triggered to be dragged.
  • the Host side detects that a mouse event corresponding to the dragging is triggered, and the mouse event is used to indicate that the target object is started to be dragged from the window of the Windows application program.
  • the user selects the target object in the window 701 of the Windows Explorer with the mouse (for example, the target object includes document 1 and document 2), and starts to drag the target object , at this time, the host side detects the mouse event corresponding to the trigger drag.
  • the Host side can obtain the window ID (such as handle) of the drag source window, and then traverse the corresponding relationship of the maintained window ID, if there is a window ID corresponding to the window ID of the drag source window in the corresponding relationship , it can be judged that the dragging source window is an Android application window; otherwise, the dragging source window is a Windows application window.
  • the dragging source window is a window of a Windows application.
  • the host side can display the dragging icon corresponding to the target object, and the dragging icon is determined by the dragging source window. For example, referring to (a) in FIG. 7A , during the dragging process, a dragging icon 702 is displayed in real time at the cursor position of the mouse.
  • the computer may also prompt the user whether the current dragging position allows the target object to be dragged in, and the method may also include steps 602-604:
  • the Host side notifies the Guest side of the dragging information 1 based on the Qemu Pipe.
  • the dragging information 1 includes the dragging position coordinates and the Android side corresponding to the dragging position Window ID and target object type.
  • the dragging position refers to the position of the target object during the dragging process.
  • the Android application window is registered as an OLE Drag/Drop window.
  • OLE Drag/Drop event enters the Android application window, it will trigger the IDropTarget::DragEnter() interface, through which the target object's Drag the location into the window of the Android application.
  • the Host side After the dragging position of the target object enters the window of the Android application, the Host side notifies the Guest side that a dragging event (or a dragging event) occurs.
  • the Host side can notify the Guest side of the drag information 1 .
  • the Host side can notify the Guest side of the type of the target object, so that the Guest side can know the type of the target object to be transferred, and determine whether the dragging position or the releasing position allows the dragging of this type of target object.
  • This target object type can include transferable objects such as files or text.
  • the target text can be transmitted across systems through Qemu Pipe, while the target file needs to be transferred through the 9p shared folder to achieve cross-system transmission.
  • the Host side can also notify the Guest side of the Android side window identifier corresponding to the dragging position, so that the Guest side can determine whether the Android application corresponding to the dragging position is allowed to drag in the target object.
  • the Host side can also notify the Guest side of the coordinates of the dragging position, so that the Android application program on the Guest side can determine whether the current dragging position allows dragging in the target object.
  • the dragging information 1 may also include other relevant information about the current dragging, which is not limited here.
  • the Guest side judges whether the Android side window corresponding to the drag position and the drag position allow the target object corresponding to the target object type to be dragged in, and notifies the Host side of the judgment result based on the Qemu Pipe.
  • the Guest side can judge whether the current drag position in the Android side window is Allows dragging in target objects.
  • the Host side prompts the user whether the dragging position in the current Android side window is allowed to drag in the target object.
  • the Host side notifies the dragging source window of the judgment result from the Guest side, and the source window changes the state of the dragging icon through corresponding logic, thereby prompting the user whether the dragging position in the current Android side window allows dragging into the target object.
  • the computer can prompt the user by displaying a prohibition of dragging; if the Android side window where the dragging position is located allows dragging the target object , the computer will not display the no-drag sign.
  • the drag-and-drop indication may refer to the indication 703 shown in (a) in FIG. 7A .
  • the computer can display a prohibition of dragging and dropping the sign to prompt the user; if the Android side window where the drag position is located allows the target object to be dragged in, Then the computer may display a drag-and-drop permission sign to prompt the user.
  • the user can intuitively know whether the target object can be released at the current drag position in the current Android side window according to the flag.
  • the IDropTarget::DragOver() interface When the drag position moves within the window of the Android application, the IDropTarget::DragOver() interface will be triggered, through which it can be learned that the drag position is currently moving within the window of the Android application.
  • the Host side notifies the Guest side of the real-time drag position coordinates after the move based on the Qemu Pipe.
  • the Guest side judges whether the current drag position allows dragging in the target object, and notifies the Host side of the judgment result based on the Qemu Pipe. According to the judgment result notified by the Guest side, the Host side prompts the user whether the current dragging position is allowed to drag the target object.
  • the IDropTarget::DragLeave() interface will be triggered, through which it can be known that the drag position has moved out of the Android application window.
  • the Host side will handle it according to the dragging process of the Windows operating system.
  • the host side After the host side detects that the dragged target object is released, if the dragged release window is a window of an Android application, the host side notifies the guest side of the dragging information 2 based on the Qemu Pipe, and the dragging information 2 includes Drag and drop location coordinates, Android side window ID corresponding to the drag and drop window, target object type, and transmission type.
  • the host side detects a mouse event corresponding to the release, and the mouse event is used to indicate that the dragged target object is released.
  • the mouse event is used to indicate that the dragged target object is released.
  • the Host side detects a mouse event corresponding to the release.
  • the Host side can notify the Guest side of the drag release event based on the Qemu Pipe. Wherein, the Host side may notify the Guest side of the drag information 2 .
  • the drag information 2 may include the coordinates of the drag release location, the Android side window identifier corresponding to the drag release window, the type of the target object, and the transmission type.
  • the dragging information 2 may also include other information related to dragging, such as the number of files and the total file size when the target object is a target file; and information such as text content or text length when the target file is a target text.
  • the embodiment of the present application does not limit the specific content of the drag information 2 .
  • the number of texts can be used to prompt the user how many files to drag in total, which file is currently being transferred, and other information during the drag-and-drop transfer process.
  • the total file size can be used to prompt the user of the current transfer progress during the drag-and-drop transfer process.
  • the text length can be used by the destination end to compare the text length with the actual length of the text content acquired by the transmission, so as to confirm whether the text content transmitted by the drag and drop is correctly received.
  • the Host side can transfer the target text (i.e. text content) to the Guest side after dragging and dragging into the Android application window;
  • the target text is transmitted to the Guest side;
  • the target text can also be transmitted to the Guest side after dragging and dropping on the Android application window; or, the Host side can also transmit the target text to the Guest side at other timings, which is not limited.
  • the transmission type includes a transmission between a Windows application program and an Android application program, or a transmission between Android application programs, and the like.
  • the Guest side can perform corresponding transmission processing on the target object according to the specific transmission type.
  • the IDropTarget::Drop() interface When the drag position is released in the window of the Android application, the IDropTarget::Drop() interface will be triggered, through which it can be learned that the dragged target object is released in the window of the Android application.
  • step 605 if the drag-and-drop window is an Android application window, since the drag source window is a Windows application window, the transfer type is a transfer between a Windows application and an Android application.
  • the target object type is a file
  • the target object is the target file.
  • the Host side can also transfer the file name of the target file, the total size of the target file, and the files included in the target file based on Qemu Pipe. The quantity and other information are notified to the Guest side, so that the drag destination on the Guest side can know other relevant information of the target file to be transferred.
  • the target object type is text
  • the target object is the target text
  • the Host side can also notify the Guest side of information such as the length of the target text based on the Qemu Pipe.
  • the file name of the target file, the total size of the target file and the number of files included in the target file, or information such as text length can also be entered into the Android application at the drag position before the drag is released.
  • the host side After the window, the host side notifies the guest side; or, the host side notifies the guest side at other timings, which is not limited.
  • the Guest side determines whether the drag release window and the release position allow dragging of the target object according to the drag information 2, and constructs an empty drag start event if drag entry is allowed.
  • the Guest side can determine whether the drag-and-drop Android application window allows to drag in the target object corresponding to the target object type according to the Android side window identifier corresponding to the drag-and-drop window.
  • the Guest side can determine whether the release position allows dragging in the target object corresponding to the target object type according to the coordinates of the drag release position.
  • an empty drag-and-drop start event is constructed on the Guest side.
  • the purpose of constructing an empty drag start event is to obtain the window where the drag start coordinates are located.
  • the window saved at the beginning of the dragging will be assigned to the dragging event, and the dragging event will respond to the window at the beginning of the dragging, which is more in line with user expectations.
  • the Guest side can also determine the transfer type as the transfer between the Windows application program and the Android application program according to the drag information 2, so as to execute the corresponding transfer process.
  • the Guest side can also judge whether the remaining disk space of the Android system is greater than the total size of the target file according to the total size of the target file, and perform capacity checks.
  • the Guest side determines that the drag-in of the target object is allowed, and the target object is a target file, the Guest side notifies the Host side based on the Qemu Pipe to allow drag-in and notifies the Host side to transmit the target file.
  • the Guest side determines that the drag-and-drop Android application window and release location allow dragging in the target object, the target object is the target file, and the remaining disk space of the Android system is greater than or equal to the total file size of the target file, then the guest side builds an empty file.
  • the drag start event of is used to mark the start of the drag event.
  • the Guest side notifies the Host side to start transferring the target file.
  • the Host side notifies the source window to end the drag-and-drop.
  • the Host side copies the target file to the 9p shared folder, notifies the Guest side of the file name information of the target file based on the Qemu Pipe, and notifies the Guest side after the copying of the target file is completed.
  • the Guest side obtains the target file from the 9p shared folder according to the file name information of the target file, and constructs an Android-side drag event according to the target file, so as to realize the transmission of the target file to the target Android application program.
  • the Guest side After the Guest side reads the target file from the 9p shared folder, it constructs a drag event on the Android side according to the data of the target file.
  • the media library of the Android system is a database file.
  • the Android system will scan the data in the file system, and update the newly added and deleted file information into the media library.
  • the application can read the file information in the file system from the media library through the URI.
  • the host side copies the target file to the 9p shared folder, it will notify the guest side of the file name of the target file, and the guest side can read the target file according to the file name and the path of the 9p shared folder.
  • the Guest side adds the target file to the media library, obtains the URI corresponding to the target file, and then quickly reads the target file from the media library through the URI, and constructs a drag event based on the target file.
  • the Guest side sends the drag event to the target Android application and the release location, which can simulate the drag and drop transfer of the Android operating system, and realize the transfer of the target file to the target Android application and the release location, thereby realizing the transfer of the target file from the Windows application Program to Android application transfer.
  • the Host side may notify the Guest side of the file name information and time stamp information.
  • the timestamp information is used to mark files dragged and dropped at different times corresponding to different times. In this way, even if the target file dragged multiple times has the same file name, the destination can accurately obtain the corresponding file content for each drag and drop based on the timestamp information, and the dragged file will not be deleted. The case where the file with the same name that was dragged last time was overwritten.
  • steps 608-609 when the target file dragged at one time includes multiple files, after the Host side copies all the files in the target file to the 9p shared folder, it notifies the Guest side that the copying is complete.
  • the guest side reads the copied target file from the 9p shared folder, and builds a drag event on the Android side to realize the transfer of the target file from the 9p shared folder to the Android application.
  • steps 608-609 when the target file to be dragged once includes multiple files, the Host side will notify the Guest side that the copying of the single file is completed every time a file is copied to the 9p shared folder.
  • the Guest side reads the copied file from the 9P shared folder, and builds a drag event on the Android side to realize the transfer of the 9P shared folder to the target file of the Android application.
  • the Host side every time the Host side copies a file, it will notify the Guest side of the file name information of the single file, and the Guest side can read the single file according to the file name and the path of the 9p shared folder, and then add the single file to Go to the media library, get the URI corresponding to the file, and then quickly read the single file in the media library through the URI, and build a drag event for a single file.
  • the Guest side sends the dragging event to the destination application program and the release location, so as to transfer a single file to the destination application program's drag release location.
  • the Host side notifies the Guest side after one drag and drop of all target files is copied.
  • the Guest side can obtain the file in time and build an Android-side drag event, instead of waiting for all the files in the target file to be copied before obtaining the file and transferring it, which can reduce the Wait for time delay, improve file transfer efficiency.
  • the drag event built on the Guest side can include the following four events: drag start event DragEvent.ACTION_DRAG_STARTED, drag event DragEvent.ACTION_DRAG_LOCATION in the target window, drag release event DragEvent.ACTION_DROP, and drag end event DragEvent.ACTION_DRAG_ENDED.
  • the above four events are notified to the release position of the target window at one time, which can simulate a complete drag event.
  • the native Android system itself does not generate drag events, which need to be processed by the application.
  • the Android system will call back the onLongClick message, and the drag can be activated by calling the interface startDrag() .
  • the drag effect is realized through the drag event on the Windows side, and the Android side does not need to call the startDrag() method, and only needs to notify the DragEvent drag event to the corresponding position of the target window on the Host side.
  • this method also includes:
  • the Host side After the Host side detects that the dragged target object is released, if the target object is the target text, the Host side notifies the Guest side of the target text based on the Qemu Pipe.
  • the Host side can notify the Guest side of the text content of the target text based on the Qemu Pipe instead of going through the 9p folder. Transit, so the transmission speed is faster.
  • the target text can also be notified to the Guest side when the drag-in event is notified, notified to the Guest side after being informed that the Guest side allows the drag-in, or notified to the Guest side at other timings.
  • step 605 the method also includes:
  • the data of the drag start event is empty; the drag event on the Android side constructed on the Guest side based on the target text is constructed based on the data "target text", and the data is not empty.
  • the method further includes:
  • the Guest side determines that the target object is allowed to be dragged in, and the target object is the target text
  • the Guest side constructs an empty drag start event, and notifies the Host side based on the Qemu Pipe to allow dragging in and request the transmission of the target text.
  • the Host side transmits the target text to the Guest side based on Qemu Pipe.
  • the Guest side constructs the Android side drag event according to the target text, and realizes the transmission of the target text to the target Android application program.
  • the method may further include:
  • the Guest side constructs an empty drag-and-drop end event, and the destination Android application performs corresponding processing according to the target object and the release position.
  • an empty drag-and-drop event can be constructed to indicate the end of the drag-and-drop transfer process of the target object.
  • the target-end Android application program can perform corresponding processing on the target object based on the drag-and-drop process of the Android operating system and the specific release location.
  • the target object is the target file
  • the release location is located in the window of the Android file management, and the Android file management places the target file under the directory corresponding to the release location; location, then the Android file management will place the target file in the directory corresponding to the folder; for another example, the release location is located in the information editing window of the Android social application window, and the Android social application (such as WeChat or etc.) to send the target file to the contact object (such as other contacts or other devices).
  • the Android social application such as WeChat or etc.
  • the target object is the target text
  • the release position is located in the information editing window of the Android social application window, and the Android social application sends the target text to the contact person
  • the target object is the target text
  • the release position is located in the window of the Android text editor , the Android text editor inserts the target text at the drag-and-drop location within the window.
  • the user drags and drops the target file from the Windows Explorer window to the Android file management window, referring to (c) in Figure 7A, the Android file
  • the target file is added in the management window 704, that is, document 1 and document 2 are added, and the copying of the target file from the Windows Explorer to the Android file management is realized.
  • the Host side may also display a transmission progress bar.
  • the transfer progress bar is a copy progress bar, and after the Guest side notifies the Host side to start transferring the target file, the copy progress bar starts to be displayed. After the target file is transferred to the Android application on the Guest side, the copy progress bar shows completion.
  • the copying progress bar may refer to the control 705 shown in (d) in FIG. 7A.
  • the progress bar can also prompt the user according to the number of files to drag and drop a total of several files, which file is currently being transferred, and other information. The progress bar can also prompt the user for the current transmission progress according to the total file size.
  • Figure 7A uses the Windows application program as Windows Explorer and the Android application program as Android file management as an example.
  • Windows application program and the Android application program are other application programs, the above implementation can still be used.
  • the method provided by the example implements the file transfer from the Windows application program to the Android application program, and no more examples are given here.
  • the Windows application program is other Windows application programs other than Windows Explorer, the other Windows application programs themselves support dragging to other application programs, and drag and drop can be realized by calling the OLE Drag/Drop interface.
  • the target object is the target file
  • the Windows application is the Windows Explorer
  • the Android application is the Android social application.
  • the user selects the target file from the Windows Explorer window After dragging to the information editing window in the Android social application window, the target file is added to the Android social application window, and the target file is sent to the contact in the chat interface of the Android social application, realizing that the target file can be downloaded from the Windows Explorer Copy to Android social apps.
  • the target object is the target text
  • the user starts to drag the target text from the window 710 of the Windows application 1 "Hongmeng OS is a microkernel-based full-scenario-oriented Distributed Operating System".
  • the user drags and drops the target text to the information editing window of the Android application program (such as Android social application) window 720, releases the dragged target text.
  • the drag operation of the target text from the window 710 of the Windows application program (such as Windows application program 1) to the window 720 of the Android application program (such as Android social application) referring to (b) in FIG.
  • the target text is added to the window of the Android application, and the target text is sent to the contact corresponding to the chat interface, realizing the copying of the target text from the Windows application to the Android application.
  • a dragging icon 730 may also be displayed during the dragging process.
  • the embodiment of the present application can realize communication interaction between the Android emulator Host side and the Guest side through Qemu Pipe communication, and based on the one-to-one correspondence between the Windows side window ID and the Android side window ID, it can Determine the window of the target Android application according to the window on the Windows side where the drag and drop position is located, and realize file sharing between the Windows side and the Android side through Virtio-9p, and realize text sharing between the Windows side and the Android side through Qemu Pipe, thereby realizing Android Drag and drop to transfer files or text between applications and Windows applications.
  • the Windows application can be implemented to The transmission of the target object of the Android application program does not require the user to perform multi-step and complicated operations as in the prior art.
  • the user's dragging operation between windows through the mouse and other input devices is more in line with the user's operating habits based on the Windows operating system and computers, so the user experience is better and the competitiveness of the product can be increased.
  • the solution does not need to rely on factors such as adb, socket communication, and network capabilities like the prior art, and will not be limited by these factors, so the file transfer speed is fast and safe and reliable.
  • the user can drag and drop the target object in the Android application window displayed on the computer screen to the Windows application window through an input device such as a mouse or a touch screen.
  • the computer transmits the target object in the Android application program to the Windows application program in response to the user's drag operation, so as to realize the copying of the target object from the Android application program to the Windows application program.
  • the drag source Android application triggers the drag target file, and the Guest side of the Android emulator (i.e., the Android system) copies the target file to the 9p shared folder, and then Notify the Host side through Qemu Pipe communication.
  • the Host side cut the target file from the 9p shared folder to the Windows Explorer that is dragged and released.
  • the Host side reads the target file from the 9p shared folder, and constructs a Windows-side drag event (such as OLE Drag/Drop drag event) based on the target file, and transfers the target file to other Windows applications other than Windows Explorer program.
  • a Windows-side drag event such as OLE Drag/Drop drag event
  • the drag source Android application triggers the drag target text, and the Guest side notifies the Host side of the target text (ie text content) based on Qemu Pipe.
  • Host side builds Windows side drag events (such as OLE Drag/Drop drag events), and transfers the target text to Windows applications.
  • the method for transferring a target object across systems may include the following process: the dragging source Android application triggers dragging, and the Android emulator Guest side (i.e. Android system) based on the pipeline communication Qemu Pipe to notify the host side of the drag event, including the Android side window ID corresponding to the notification drag position, the target object type, the file name information (such as file name splicing) when the target object is the target file, The total file size and number of files, as well as the text length and text content when the target object is the target text. If the target object type is a file, the Host side builds a Windows side drag event (such as OLE Drag/Drop drag event).
  • the Android emulator Guest side i.e. Android system
  • the file name information such as file name splicing
  • the Host side can also perform permission or capacity checks.
  • the Host side notifies the Guest side to start transferring files based on the Qemu Pipe. Copy the target file to the 9p shared folder on the Guest side.
  • the Guest side sequentially transfers the file name and file index of a single file in the target file based on the Qemu Pipe (for example, it can indicate that the current file is the target file in the target file). The number of the file, etc.) or the file size and other information are notified to the Host side. The host side cancels the OLE Drag/Drop drag event, and cuts the individual files in the target file to the Windows Explorer in turn.
  • the Guest side notifies the Host side that all files have been copied, and the Host side ends the Windows side dragging event, the IDropSource::QueryContinueDrag() interface returns the DRAGDROP_S_DROP state, marking the end of the current drag.
  • the Host side transmits the target file to the target Windows application program in response to the drag end event.
  • the Host side constructs a Windows side drag event. If the destination of dragging and dropping is Windows Explorer, the Host side cancels the dragging event on the Windows side, and cuts the target text to Windows Explorer. If the destination of dragging and releasing is a Windows application program other than Windows Explorer, the Host side ends the Windows side dragging event, and the Host side transmits the target text to the destination Windows application program in response to the dragging end event. The Host notifies the Guest to end the dragging.
  • the Guest side detects that the target object in the window of the Android application program is dragged, and the drag source Android application program triggers a drag event.
  • the Guest side detects that a mouse event corresponding to the dragging is triggered, and the mouse event is used to indicate that the target object is started to be dragged from the window of the Android application program.
  • the user selects the target object in the window 901 of Android file management by the mouse, that is, picture b, and starts to drag the target object.
  • the Guest side detects that the drag corresponding of the mouse event.
  • the host side can obtain the window ID (such as handle) of the drag source window, and then traverse the corresponding relationship of the maintained window ID, if there is no window corresponding to the window ID of the drag source window in the corresponding relationship ID, it can be determined that the dragging source window is a Windows application window; otherwise, the dragging source window is an Android application window.
  • the dragging source window is a window of a Windows application.
  • the Guest side notifies the Host side of the dragging information 3, where the dragging information 3 includes the Android side window identifier and the target object type corresponding to the dragging source window.
  • the Guest side can notify the Host side of the drag event.
  • the Guest side can notify the Host side of the dragging information 3, and the dragging information 3 can include the Android side window identification and the target object type corresponding to the dragging source window, so that the Host side can know the dragging source and the target object to be transmitted. specific type.
  • the target object type may be a file or a text.
  • the drag information 3 may also include information such as the total size of the target file and the number of files included in the target file. If the target object is target text, the drag information 3 may also include information such as the length of the target text or the content of the target text.
  • step 804 If the target object is the target text, go to step 804 . Optionally, if the target object is a target file, steps 802-803 are also performed before step 804.
  • the Guest side also notifies the Host side of the file name information and the drag icon of the target object.
  • the file name information is used to indicate the file name of the target file to be transferred.
  • the file name information may be file name concatenation information, for example, 1.txt
  • the Host side constructs a Windows side drag event according to the file name information, and sets a drag icon.
  • the Host side can construct the OLE Drag/Drop event on the Windows side according to the splicing information of the file name.
  • the drag event can specify a drag icon.
  • the host side can follow the dragging position during the dragging process (for example, the position of the cursor of the mouse during the dragging process) and display the dragging icon in real time.
  • the dragging icon can let the user intuitively know that the file is currently being dragged and the current dragging position.
  • the drag icon can be used to represent the type of the target file, the quantity included in the target file, the total size of the target file, the icon corresponding to the source application of the target file or the operating system corresponding to the source application, etc. one or more of the information.
  • the drag icon may be a thumbnail of a file included in the target file.
  • a dragging icon 902 is displayed in real time at the cursor position of the mouse, and a number 2 is displayed in the upper right corner of the dragging icon 902, indicating the dragged target file Include 2 files.
  • step 1104 and its subsequent processes shown in FIG. 11C can be executed.
  • the Host side After the Host side detects that the dragged target object is released, if the dragged release window is a window of a Windows application, the Host side notifies the Guest side of the dragging information 4 based on the Qemu Pipe, and the dragging information 4 includes transport type.
  • the host side detects a mouse event corresponding to the release, and the mouse event is used to indicate that the dragged target object is released.
  • the mouse event is used to indicate that the dragged target object is released.
  • the host side can use the WindowFromPoint() function to obtain the window ID (such as a handle) corresponding to the drag and drop position, and then traverse the corresponding relationship maintained. If there is a window ID corresponding to the window ID of the drag source window in the corresponding relationship, it can be judged
  • the drag-and-drop window is an Android application window; otherwise, the drag-and-drop window is a Windows application window.
  • the drag-and-drop window is a window of a Windows application.
  • the Host side can also check the authority and capacity of the Windows application to determine whether the target object can be dragged in normally.
  • the transfer type is the transfer between the Android application program and the Windows application program.
  • the Host side notifies the Guest side of the dragging information 4, where the dragging information 4 includes the transmission type, so that the Guest side performs corresponding transmission processing according to the transmission type.
  • the drag information 4 may also include other drag-related information, which is not limited.
  • the Host side can also check the drag permission or capacity. For example, some files require administrator privileges to drag and drop.
  • step 805 If the target object is a target file, execute step 805; if the target object is target text, execute step 811.
  • the Host side notifies the Guest side to transmit the target file based on the Qemu Pipe.
  • step 806 The Guest side copies the target file to the 9p shared folder, notifies the Host side of the file name information of the target file based on the Qemu Pipe, and notifies the Host side after the copying of the target file is completed. Then, step 807 or step 810 is performed.
  • the Guest side can notify the Host side that a single file copy is completed after each copy of a file in the target file to the 9p shared folder; the Guest side can notify the file name information of a single file, as well as information such as file index and file size To the Host side.
  • the Guest side may notify the Host side that the copying is complete after the entire target file is copied to the 9p shared folder, which is not limited.
  • the Guest side can notify the Host side of the path of the file copied to the 9p shared folder.
  • the Host side cuts the target file in the 9p shared folder to the Windows Explorer path corresponding to the drag-and-drop position.
  • the Host side can cut the single file to the specified path sequentially after each file is copied; it can also cut the target file to the target path after the target file is copied.
  • the Windows Explorer path corresponding to the drag-and-drop location may be the desktop, favorites, or D: ⁇ data.
  • the Host side can determine that the dragging and releasing window is Windows Explorer according to the global coordinates of the releasing position, and determine the specific dragging and releasing path.
  • the global coordinates are coordinates relative to the entire screen, and the global coordinates of the release position refer to the coordinates of the release position relative to the screen when the mouse is dragged and released.
  • a window on the Windows side is identified as a handle.
  • the host side can obtain the handle of the Windows window where the release location is located according to the acquired global coordinates of the release location. Then, the host side obtains the parent window handle and class name of the Windows window where the release location is located, and obtains the opened Windows Explorer information. Then, the Host side judges whether the class name of the parent window is SHELLDLL_DefView. If it is not SHELLDLL_DefView, the drag-and-drop window is not Windows Explorer; if it is SHELLDLL_DefView, continue to judge whether the parent window class name of the parent window is Worker or Progman.
  • the dragging and dropping path is the desktop in Windows Explorer, and the path of the desktop is obtained through the SHGetSpecialFolderPath function. If it is not Worker or Progman, enumerate the parent window handle of the dragged window and compare it with all open Windows Explorers to determine the Windows Explorer path corresponding to the dragged and dropped position.
  • step 807 after every file in the target file has been copied to the 9p shared folder, the Guest side will notify the host side that the copying is complete, then the host side can in time cut the file that has been copied to the 9p shared folder in step 808. Drag and drop to the Windows Explorer path corresponding to the drop position, instead of waiting for all files in the target file to be copied before cutting, which can improve the file transfer rate.
  • the target file can also be transferred by constructing a Windows-side drag event.
  • the transfer speed of the file from the 9p shared folder to the Windows Explorer is faster by calling the interface of cutting the file.
  • step 804 if the destination is other Windows applications other than Windows Explorer, the method also includes:
  • the Guest side notifies the Host side of the file name information of the target file based on the Qemu Pipe, and notifies the Host side of all dragged file copies after the target file copy is completed Finish.
  • the host side reads the target file from the 9p shared folder according to the file name information of the target file, constructs a Windows side drag event (such as an OLE Drag/Drop drag event) according to the target file, and implements the target file to the Windows application Program transfer and end the Windows side drag event.
  • a Windows side drag event such as an OLE Drag/Drop drag event
  • the Guest side may notify the Host side of the file name information and time stamp information of the target file based on the Qemu Pipe.
  • the Host side may also display a transmission progress bar.
  • the method further includes the following steps:
  • the Guest side After triggering the dragging event, the Guest side notifies the Host side of the target text.
  • step 812 The Host side constructs a Windows side drag event according to the target text. Then, step 813 or step 814 is executed.
  • the method may also include:
  • the Host side ends the drag event on the Windows side, cuts the target text to the path of the Windows Explorer corresponding to the drag release position, and notifies the Guest side to end the dragging.
  • the Host implements the transfer of the target text to the Windows application by constructing a Windows-side drag event, and then ends the Windows-side drag event.
  • the method may further include:
  • the Windows application program on the host side performs corresponding processing according to the target object and the release location.
  • step 612 For the description of this step, refer to the relevant description in the above step 612 .
  • the embodiment of the present application can realize communication interaction between the Android emulator Host side and the Guest side through Qemu Pipe communication, based on the Windows side window identification (such as handle) and the Android side window identification (such as VirtualDisplay).
  • the one-to-one correspondence between the DisplayId of the window can determine the source Android application program according to the Windows side window where the drag source is located, and the file sharing between the Android side and the Windows side can be realized through Virtio-9p, and the Android side can be realized through Qemu Pipe. Text sharing between the Windows side and the Windows side, so as to realize the drag-and-drop transfer of files or texts between Windows applications and Android applications.
  • the Android application can be implemented to The transmission of the target object of the Windows application program does not require the user to perform multi-step and complicated operations as in the prior art.
  • the user's dragging operation between windows through the mouse and other input devices is more in line with the user's operating habits based on the Windows operating system and computers, so the user experience is better and the competitiveness of the product can be increased.
  • the solution does not need to rely on factors such as adb, socket communication, and network capabilities like the prior art, and will not be limited by these factors, so the file transfer speed is fast and safe and reliable.
  • the user can drag and drop the target object in the window of an Android application program running on the Windows operating system to the window of another Android application program through an input device such as a mouse or a touch screen.
  • the computer transfers the target object in one Android application program on the Windows operating system to another Android application program, so as to realize the duplication of the target object between different Android application programs on the Windows operating system.
  • the Host side detects whether a file drag operation occurs in the Android application window. If a file dragging operation occurs in the Android application window, it is detected whether the dragging and dropping position is in another Android application window. If the drag-and-drop location is in another Android application window, the Guest side is notified based on the pipeline communication of the Android-side window ID and the file name information of the drag-and-drop file, etc., and the Guest side constructs the transmitted data through the URI of the drag-and-drop target object , simulating the drag-and-drop transfer of the target object from the source Android application to the destination Android application.
  • the method for transferring a target object may include the following process: the dragging source Android application triggers the dragging, and the Guest side (ie, the Android system) is based on the pipeline Communication Qemu Pipe notifies the host side of the drag event, including notification of the Android side window ID corresponding to the drag position, target object type, file name information (such as file name concatenation) when the target object is a target file, total file size and file size Quantity, and information such as text length and text content when the target object is the target text.
  • the host side builds Windows side drag events (such as OLE Drag/Drop drag events).
  • the Host side of the Android emulator will notify the drag event based on the pipeline communication Qemu Pipe To the Guest side, including information such as the coordinates of the drag position, the Android side window ID and the target object type entered by the drag position; the Guest side replies to the Host side based on the Qemu Pipe whether to allow dragging; the Host side determines whether dragging is allowed based on the Guest side The reply shows the dragging style, such as the forbidden/allowed dragging logo.
  • the Host side cancels the dragging event on the Windows side, notifies the Guest side that the transmission type is the transmission between Android applications, and drags the source/ The Android side window ID corresponding to the target window, information such as drag and drop position coordinates and target object type are notified to the Guest side.
  • the Host side can obtain the global coordinates of the drag and drop, and determine whether the coordinates of the drag and drop are located in the Android application window, and obtain the DisplayId of the virtual display (VirtualDisplay) window of the Android application through the window handle.
  • the Host side transmits the converted Android application internal coordinates, the DisplayId of the Android application Display window, the target object type, and the transmission type to the Guest side through Qemu Pipe communication.
  • the Guest side constructs a drag event according to the URI/text content of the target file, so as to transfer the target object to the specified Android application window for drag and drop.
  • the guest side constructs an empty drag end event to end the drag transfer for the target object.
  • the method for transmitting the target object provided by this application is described in detail in combination with the flowchart shown in FIG. 11C and the schematic interface shown in FIG. 12 :
  • the Guest side detects that the target object in the Android application 1 window is dragged, and the drag source Android application triggers a drag event.
  • the Guest side detects that a mouse event corresponding to the dragging is triggered, and the mouse event is used to indicate that the target object is started to be dragged from the window of the Android application program 1 .
  • the user selects the target object in the window 1201 of the Android application program 1 (such as Android file management) through the touch screen, and touches and drags the target object by finger touch, at this time Guest The side detects the mouse event corresponding to the trigger drag.
  • the Guest side notifies the Host side of the dragging information 5, where the dragging information 5 includes the Android side window identifier and the target object type corresponding to the dragging source window.
  • the Guest side can notify the Host side of the drag event.
  • the Guest side can notify the Host side of the drag information 5 .
  • the dragging information 5 may include the Android side window ID and target object type corresponding to the dragging source window, so that the Host side can know the specific type of the dragging source and the target object to be transmitted.
  • the target object type may be a file or a text.
  • the dragging information 5 can also include other information related to dragging, such as when the target object is a target file, it also includes file name information (such as file name splicing information) and total file size of the target file, and the target object is the target text. It also includes information such as text content, and the embodiment of the present application does not limit the specific content of the drag information 5 .
  • step 1104 If the target object is the target text, execute step 1104; if the target object is the target file, execute steps 1102-1103 before step 1104.
  • the Guest side notifies the Host side of the file name information and the drag icon of the target object.
  • the file name information may not be included in step 1102 .
  • the host side constructs a drag event on the Windows side according to the file name information, and sets a drag icon.
  • steps 1102-1103 For descriptions of steps 1102-1103, reference may be made to the descriptions of steps 802-803 above, and details are not repeated here. Among them, setting the drag icon on the Host side is an optional operation.
  • step 804 and subsequent steps shown in FIG. 8C are executed. If the dragging position of the target object moves in the non-source window of the Android application, the Host side notifies the Guest side of the access event, including information such as the coordinates of the dragging position, the ID of the Android side window where the dragging position is located, and the target type. The Guest side replies to the Host side whether the current dragged-in window and the dragged position are allowed to be dragged in. The Host side displays a drag-and-drop permission/prohibition mark according to the reply. If the drag is released in the Android application non-source window, the subsequent steps shown in FIG. 11C are performed.
  • the drag information 6 includes the Android side window ID corresponding to the drag source window, the Android side window ID corresponding to the drag release window, release position coordinates, target object type and transmission type.
  • the host side detects a mouse event corresponding to the release, and the mouse event is used to indicate that the dragged target object is released.
  • the mouse event is used to indicate that the dragged target object is released.
  • the user releases the dragged target file in the window 1202 of the Android application program 2 (such as the Android social application) through the mouse, and at this time, the Host side detects a mouse event corresponding to the release.
  • the Host side determines that the drag and drop window is the window of the Android application 2 according to the coordinates of the release position, and determines that the transfer type is the transfer between Android applications according to the drag source window and the drag and drop window.
  • the Host side notifies the Guest side of the transmission type, so that the Guest side performs corresponding transmission processing according to the transmission type.
  • the Host side notifies the Guest side of the Android side window identification, release position coordinates, and target object type corresponding to the dragging release window, so that the Guest side determines whether the Android side window corresponding to the dragging release window and the release position allow dragging of the target file.
  • the drag information 6 may also include information such as the total size of the target file and the number of files included in the target file. If the target object is the target text, the dragging information 6 may also include information such as the length of the target text. Alternatively, the Guest side may also notify the Host side of the information after the drag event is triggered.
  • the Guest side judges whether the drag-and-drop release window and the release position allow the target object to be dragged in, and notifies the Host side of the judgment result based on the Qemu Pipe.
  • the target object is a target file, then execute steps 1106-1107; if the target object is a target text, then execute steps 1108-1111.
  • the Host side determines that the drag-in is allowed according to the judgment result from the Guest side, then notify the Guest side of the file name information of the target file based on the Qemu Pipe.
  • the Host side may also display a dragging permission/prohibition mark according to the judgment result from the Guest side.
  • the Host side may also notify the Guest side of the time stamp information.
  • the Guest side first constructs an empty drag start event, then obtains the target file according to the file name information, and constructs an Android side drag event according to the target file, realizes the transmission of the target file to the Android application 2, and constructs an empty drag event End event.
  • the Guest side may add the target file to the media library, and obtain the URI corresponding to the target file. Then, the Guest side can go to the media library to quickly read the target file through the URI, and build the drag event on the Android side according to the target file.
  • the URI of the target file may be passed instead of the file name information between the Guest side and the Host side, so as to obtain the target file according to the URI, and construct an Android-side drag event according to the target file.
  • the computer can also display a transfer progress bar.
  • the Guest side and the Host side notify the dragged target file by passing the file name information of the target file.
  • the file name information of the target file may not be transferred between the Guest side and the Host side.
  • the Guest side can save the identification information of the dragged target file;
  • the Guest side can acquire the target file according to the saved identification information of the target file, so as to construct the Android side drag event according to the target file. That is to say, in this scenario, the Host side can notify the Guest side to drag and drop the window to be an Android application window.
  • the file name or path information of the target file can be stored when the drag is triggered on the Guset side, or it can be transferred by the Host side, and the drag information such as the file name notified by the Guest side is sent to the Android application again when it is released.
  • this method can also include:
  • the Host side constructs a Windows side drag event according to the target text.
  • the host side After the host side detects that the dragged target object is released, the target object is the target text, and the host side notifies the guest side of the target text.
  • the method may also include:
  • the Guest side and the Host side notify the dragged target file by passing the file content of the target text.
  • the text content of the target text may not be transferred between the Guest side and the Host side.
  • the method may further include:
  • the Android application program 2 on the Guest side performs processing according to the target object and release location.
  • the target object is the target file, based on the user shown in (a) in Figure 12 the target file (ie picture b) from the window 1201 of the Android application program 1 (such as Android file management) to the Android application program 2 (such as the drag operation of the information editing window in the window 1202 of the Android social application), see (b) in Figure 12, the target file is added in the window of the Android application program 2, and the target file is sent to the corresponding contact person in the chat interface , realizing the copying of target files from Android application 1 to Android application 2.
  • the target file ie picture b) from the window 1201 of the Android application program 1 (such as Android file management) to the Android application program 2 (such as the drag operation of the information editing window in the window 1202 of the Android social application), see (b) in Figure 12, the target file is added in the window of the Android application program 2, and the target file is sent to the corresponding contact person in the chat interface , realizing the copying of target files from Android application 1 to Android application 2.
  • the embodiment of the present application can realize the communication interaction between the Android emulator Host side and the Guest side through Qemu Pipe communication, by determining that the dragging source window and the destination window are both Android application windows, the simulated Drag-and-drop transfer is performed inside the Android operating system to realize drag-and-drop transfer target objects between different Android applications on the Windows operating system.
  • the Windows operating system can implement The transfer of target objects between different Android applications does not require the user to perform multi-step and complicated operations. Moreover, the user's dragging operation between windows through the mouse and other input devices is more in line with the user's operating habits based on the Windows operating system and computers, so the user experience is better and the competitiveness of the product can be increased. Moreover, this solution does not need to transfer the target file through the shared folder or the Windows side, so the transfer speed is fast. In addition, this solution does not need to rely on factors such as adb, socket communication, and network capabilities, and will not be limited by these factors. The file transfer speed is fast, safe and reliable.
  • the solutions described in scenarios (1)-(3) are to copy the target object based on the user's one-step drag operation.
  • the computer can cut the target object (such as the target file or target text) based on the user's one-step drag operation, that is, transfer the target object from the source application to the destination application, and delete the source object. This object file in the application.
  • the target object in the Windows application can be cut to the Android application; based on the user's target object from the Android application to the Windows application One-step drag operation, the target object in the Android application can be cut to the Windows application; based on the user's one-step drag operation from the Android application 1 to the Android application 2, the Android application 1 can be The target object clipped to the Android application 2.
  • the transferable target object may also be a folder, and the transfer method of the folder is the same as that of the file. It can also be understood that the files in the target object type include folders.
  • the transferable target object cannot be a folder, if the dragged target object is a folder, then the Host side directly notifies the source window not to Allow drag and drop, when the drag and drop folder is released in the Android application window, the Host side can prompt the user (for example, prompting the user through a pop-up window) that the drag and drop folder is not allowed; when dragging and dropping the folder from the Android side window, The Guest side will not notify the Host side of the drag information.
  • the user can perform a copy operation based on the target object in the Windows application window through the mouse, touch screen or keyboard shortcuts (for example, click the right mouse button and select the copy option, or press the Ctrl+C shortcut key on the keyboard etc.), and perform the paste operation in the window of the Android application (for example, click the paste option, press the Ctrl+V shortcut key on the keyboard, or select the paste option after clicking the right mouse button, etc.).
  • the computer copies the target file in the Windows application program to the Android application program according to the user's copy and paste operation, so as to realize the file transfer from the Windows application program to the Android application program.
  • an embodiment of the present application provides a file transfer method, including: first, the Android emulator Host side executes a file copy operation, and puts the copied file path on the shared clipboard.
  • Windows IsClipboardFormatAvailable() you can distinguish whether the data type in the shared clipboard is text, file or others.
  • the paste file operation is performed in the application program on the Guest side of the Android emulator (that is, the Android system)
  • the file permission, capacity, and other permission checks are performed on the paste destination path, the paste file, and the like.
  • the Guest side initiates a file copy operation through the Host side.
  • the host side receives the file copy operation request, it checks whether the source file exists.
  • the copy progress bar is displayed; at the same time, the source file starts to be copied to the shared folder (the directory that is mounted when the emulator starts); after the copy is completed, the Host side notifies the Guest side that the copy is complete. After receiving the message that the file copy is complete, the Guest side copies the file from the shared folder to the Android destination directory, then deletes the file in the shared folder; finally notifies the Host side that the file copy is successful (if the copy is not successful, it will reply that the copy failed ). After the host side receives the file copy success message, the copy progress bar shows that the copy is complete.
  • the Host side detects a copy operation on a target object in a window of a Windows application program.
  • the target objects are document 1 and document 2 in the window 1401 of the Windows Explorer, and the user presses the shortcut key Ctrl+C on the keyboard for the target file to instruct to copy the The target object.
  • the host side detects a copy operation on the target object.
  • the target object is a target file, execute steps 1301-1311; if the target object is target text, execute steps 1312-1317.
  • the Host side stores the path information of the target file in the clipboard of the Host side in response to the user's copy operation.
  • the Host side monitors the changes of the Host side clipboard, and stores the path information of the target file in the Host side clipboard into the shared clipboard.
  • the host side can store the path information of the target file in the host side clipboard into the shared clipboard based on Qemu Pipe.
  • the Guest side detects a paste operation in the window of the Android application, and the paste operation is used to instruct to paste the target file in the window.
  • the user presses the shortcut key Ctrl+V on the keyboard in the Android file management window 1402 to execute the paste operation (or, the user can also click the paste operation of the paste option 1403), At this time, the Paste operation is detected on the Guest side.
  • the target file corresponding to the path information in the shared clipboard is pasted to the target Android file management window through the following steps.
  • the Guest side performs a pre-check on the target path to be pasted corresponding to the Android application and the target file corresponding to the path information in the shared clipboard, and after passing the pre-check, initiates a target file copy request to the Host side based on the Qemu Pipe.
  • the pre-check includes checking whether the destination path to be pasted exists and is legal, checking the authority and capacity of the target file, and the like.
  • the pre-check operation may be an optional operation.
  • the Host side determines whether the source target file exists.
  • the Host side determines that the source target file exists, then copy the target file corresponding to the path information in the shared clipboard to the 9p shared folder, and notify the Guest side based on the Qemu Pipe after the copy is completed.
  • the Host side can notify the Guest side after every file in the target file has been copied; it can also notify the Guest side after all the files of the target file have been copied.
  • the Guest side copies the target file from the 9p shared folder to the Android application program.
  • the Android application program on the Guest side performs corresponding processing according to the paste position.
  • step 612 For the description of this step, refer to the relevant description in the above step 612 .
  • the Guest side deletes the target file in the shared folder, and notifies the Host side that the transfer is complete based on the Qemu Pipe.
  • steps 1303-1309 may be re-executed, so as to copy the target file to the windows of other Android applications to realize multiple pasting.
  • the method also includes:
  • the Host side After receiving the transmission completion notification, the Host side deletes the target file in the Windows application program, and deletes the path information of the target file in the Host clipboard.
  • the Host side synchronizes the changes of the Host clipboard, and deletes the path information of the target file stored in the shared clipboard.
  • the target object is a target file
  • the user presses the paste operation of the shortcut key Ctrl+V based on the Android file management window 1502 (or the user clicks the paste operation of the paste option 1503), referring to (c) in Figure 15, the target file is added in the Android file management window, Windows The target file is deleted in the explorer, and the process of cutting the target file from the Windows explorer and pasting it to the Android file management is realized.
  • the Host side can also display a transfer progress bar during the copy/cut process of the target file.
  • the transfer progress bar is a copy progress bar
  • the Host side can display the copy progress bar after determining that the source file exists; after receiving the file copy completion notification from the Guest side, the copy progress bar displays completion.
  • step 1300 if the target object is the target text, then perform the following steps:
  • the Host side stores the target text in the Host clipboard in response to the user's copy operation.
  • the Host side monitors the changes of the Host side clipboard, and stores the target text in the Host side clipboard into the shared clipboard.
  • the Guest side detects a paste operation in the window of the Android application program, and the paste operation is used to instruct to paste the target text in the window.
  • the Guest side pre-checks the target path to be pasted corresponding to the Android application program and the target text in the shared clipboard.
  • this step 1315 is an optional step.
  • the Android application program on the Guest side performs corresponding processing according to the paste position.
  • the Android application program inserts the target text into the pasting position according to the specific pasting position, or sends the target text to the contact.
  • the target object is the target text
  • the user shown in (a)-(b) in FIG. 16 presses the shortcut key Ctrl+C based on the target text in the Windows application (such as Windows application 1) window copy operation, and the user presses the shortcut key Ctrl+C paste operation based on the Android application program (such as Android social application) window 1602, referring to (c) in Figure 16, the target text is added in the Android application program, and the target text It is sent to the corresponding contact, and the target text is copied from the Android file management to the Android social application.
  • the method further includes:
  • the host side deletes the target text in the Windows application program.
  • the embodiment of the present application realizes the communication interaction between the Host side and the Guest side of the Android emulator through Qemu Pipe communication, copies the file path through the shared clipboard as shown in Figure 4, and realizes the file sharing between the Host side and the Guest side through Virtio-9p, or
  • the text sharing between the Host side and the Guest side is realized by sharing the clipboard, so as to realize copying/cutting files or texts between Windows applications and Android applications.
  • this solution realizes the related operations of sharing the clipboard on the side of the Windows and Android emulators.
  • the function of the clipboard on the Windows side and the Android side is realized, which is consistent with the use of the Windows and Android clipboards, and conforms to the user's operating habits.
  • the user can perform a copy operation based on the target file in the Android application window through the shortcut keys of the mouse, touch screen or keyboard (for example, click the corresponding copy option after selecting the target object, or long press the mouse after the target object Left-click and click the copy option that appears, or press the shortcut key Ctrl+C on the keyboard, or click the right mouse button on the target file and select the copy option, etc.), and perform the paste operation in the window of the Windows application (for example, click the mouse Right-click and select the Paste option, or press the Ctrl+V shortcut key on the keyboard, etc.).
  • the computer copies the target file in the Android application program to the Windows application program according to the user's copy and paste operation, so as to realize the file transfer from the Android application program to the Windows application program.
  • the Guest side detects a copy operation on the target object in the window of the Android application program.
  • the target object is a target file, execute steps 1701-1711; if the target object is target text, execute steps 1712-1717.
  • the Guest side stores the path information of the target file in the clipboard of the Guest side in response to a user's copy operation.
  • the Guest side monitors the changes of the Guest side clipboard, and stores the path information of the target file in the Guest side clipboard into the shared clipboard.
  • the Guest side can store the path information of the target file in the Guest side clipboard to the shared clipboard based on Qemu Pipe.
  • the Host side detects a paste operation in the Windows application window, and the paste operation is used to instruct to paste the target file in the window.
  • the Host side pre-checks the target path to be pasted corresponding to the Windows application window and the target file corresponding to the path information in the shared clipboard, and after the pre-check passes, initiates a target file copy request to the Guest side based on the Qemu Pipe .
  • the pre-check operation may be an optional operation.
  • the Guest side determines whether the source target file exists.
  • the Guest side can notify the Host side after every copy of a file in the target file; it can also notify the Host side after all the files of the target file have been copied.
  • the Host side copies the target file from the shared folder to the Windows application program.
  • the Windows application program on the Host side performs corresponding processing according to the paste position.
  • the Windows application program copies the target file to a directory corresponding to the pasting position according to the specific pasting position, or sends the target file to a contact person.
  • the Host side deletes the target file in the shared folder, and notifies the Guest side that the file transfer is completed based on the Qemu Pipe.
  • the method also includes:
  • the Guest side After receiving the transmission completion notification, the Guest side deletes the target file in the Android application program, and deletes the path information of the target file in the clipboard of the Guest side.
  • the Guest side synchronizes the changes of the clipboard on the Guest side, and deletes the path information of the target file stored in the shared clipboard.
  • the computer can also display a transmission progress bar during the copying/cutting process of the target file.
  • step 1701 if the target object is the target text, then perform the following steps:
  • the Guest side stores the target text in the Guest side clipboard in response to the user's copy operation.
  • the Guest side monitors the changes of the Guest side clipboard, and stores the target text in the Guest side clipboard into the shared clipboard.
  • the Host side detects a paste operation in the Windows application window, and the paste operation is used to instruct to paste the target text in the window.
  • the Host side pre-checks the destination path to be pasted corresponding to the Windows application program and the target text in the shared clipboard.
  • this step 1715 is an optional step.
  • the Windows application program on the Host side performs corresponding processing according to the paste position.
  • the Windows application program inserts the target text into the pasting position according to the specific pasting position, or sends the target text to the contact.
  • the method further includes:
  • the Guest side deletes the target text in the Android application program.
  • the embodiment of the present application realizes the communication interaction between the Host side and the Guest side of the Android emulator through Qemu Pipe communication, copies the file path through the shared clipboard as shown in Figure 4, and realizes the file sharing between the Host side and the Guest side through Virtio-9p, or Realize text sharing between the Host side and the Guest side by sharing the clipboard, and copy/cut text or files between Android applications and Windows applications.
  • this solution realizes the related operations of sharing the clipboard on the side of the Windows and Android emulators.
  • the function of the clipboard on the Windows side and the Android side is realized, which is consistent with the use of the Windows and Android clipboards, and conforms to the user's operating habits.
  • the user can perform a copy operation based on the target file in the Android application 1 window through the shortcut keys of the mouse, touch screen or keyboard (for example, click the corresponding copy option after selecting the target file, or long press the target object Click the copy option that appears after the left mouse button, or press the Ctrl+C shortcut key on the keyboard, or click the right mouse button on the target file and select the copy option, etc.), and perform the paste operation in the window of the Android application 2 (for example Click the paste option, press the shortcut key Ctrl+V on the keyboard, or click the right mouse button and select the paste option, etc.).
  • the computer copies the target file in the Android application program 1 to the Android application program 1 according to the user's copy and paste operation, so as to realize the file transfer between the Android application programs.
  • the Guest side detects a copy operation on the target object in the Android application program 1 window.
  • the target object is a target file, execute steps 1901-1908; if the target object is a target file, execute steps 1909-1915.
  • the Guest side stores the path information of the target file in the clipboard of the Guest side in response to a user's copy operation.
  • the Guest side monitors the changes of the Guest side clipboard, and stores the path information of the target file in the Guest side clipboard into the shared clipboard.
  • the Guest side can store the path information of the target file in the Guest side clipboard to the shared clipboard based on Qemu Pipe.
  • the Guest side detects a paste operation in the Android application program 2 window, and the paste operation is used to instruct to paste the target file in the window.
  • the Guest side pre-checks the target path to be pasted corresponding to the current Android application 2 window and the target file corresponding to the path information in the shared clipboard.
  • the pre-check may be an optional operation.
  • the Guest side determines whether the source target file exists.
  • the Android application program 2 on the Guest side performs corresponding processing according to the paste position.
  • the method also includes:
  • the Guest side deletes the target file in the Android application program 1.
  • the computer can also display a transmission progress bar during the copying/cutting process of the target file.
  • the embodiment of the present application realizes the communication and interaction between the Host side and the Guest side of the Android emulator through Qemu Pipe communication, and copies the file path through the shared clipboard, and copies/cuts the target file between Android applications.
  • step 1901 if the target object is the target text, then perform the following steps:
  • the Guest side stores the target text in the Guest side clipboard in response to the user's copy operation.
  • the Guest side monitors the changes of the Guest side clipboard, and stores the target text in the Guest side clipboard into the shared clipboard.
  • the Guest side detects a paste operation in the Android application program 2 window, and the paste operation is used to instruct to paste the target text in the window.
  • the Guest side pre-checks the target path to be pasted corresponding to the Android application program and the target text in the shared clipboard.
  • this step 1912 is an optional step.
  • the Android application program 2 on the Guest side performs corresponding processing according to the paste position.
  • the Android application 2 inserts the target text into the pasting position according to the specific pasting position, or sends the target text to the contact.
  • the method further includes:
  • the Guest side deletes the target text in the Android application program 1.
  • this solution implements the function of the Android side clipboard, which is consistent with the use of the Android clipboard and conforms to the user's operating habits.
  • the transferable target object may also be a folder, and the transfer method of the folder is the same as that of the file. It can also be understood that the files in the target object type include folders.
  • the target object that can be transferred cannot be a folder, if the target object is a folder, then the Host side directly notifies the source window that copying is not allowed/ Cut, when the user performs a paste operation in the Android application window, the Host side can prompt the user (for example, prompt the user through a pop-up window, etc.) that copy/cut is not allowed; perform copy/cut folder in the Android side window During the operation, the Guest side will not notify the Host side of relevant information.
  • communication and interaction between the first operating system and the second operating system may be performed through Socket or other communication technologies.
  • the electronic device includes hardware and/or software modules corresponding to each function.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software drives hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions in combination with the embodiments for each specific application, but such implementation should not be regarded as exceeding the scope of the present application.
  • the functional modules of the electronic device may be divided according to the above method example.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above integrated modules may be implemented in the form of hardware. It should be noted that the division of modules in this embodiment is schematic, and is only a logical function division, and there may be other division methods in actual implementation.
  • the electronic device may include: a display unit, a transmission unit, and a processing unit. It should be noted that all relevant content of the steps involved in the above method embodiments can be referred to the function description of the corresponding function module, and will not be repeated here.
  • the embodiment of the present application also provides an electronic device, including one or more processors and one or more memories.
  • the one or more memories are coupled with one or more processors, the one or more memories are used to store computer program codes, the computer program codes include computer instructions, and when the one or more processors execute the computer instructions, the electronic device performs
  • the above related method steps implement the method for transferring target objects across systems in the above embodiments.
  • Embodiments of the present application also provide a computer-readable storage medium, where computer instructions are stored in the computer-readable storage medium, and when the computer instructions are run on the electronic device, the electronic device executes the above-mentioned relevant method steps to realize the above-mentioned embodiment Methods for transferring target objects across systems in .
  • Embodiments of the present application also provide a computer program product, which, when running on a computer, causes the computer to execute the above-mentioned related steps, so as to implement the method for transmitting a target object across systems performed by the electronic device in the above-mentioned embodiment.
  • an embodiment of the present application also provides a device, which may specifically be a chip, a component or a module, and the device may include a connected processor and a memory; wherein the memory is used to store computer-executable instructions, and when the device is running, The processor can execute the computer-executed instructions stored in the memory, so that the apparatus executes the method for transmitting a target object across systems performed by the electronic device in the above method embodiments.
  • the electronic equipment, computer-readable storage medium, computer program product or device provided in this embodiment are all used to execute the corresponding method provided above, therefore, the beneficial effects it can achieve can refer to the above-mentioned The beneficial effects of the corresponding method will not be repeated here.
  • the disclosed devices and methods may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be Incorporation or may be integrated into another device, or some features may be omitted, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the unit described as a separate component may or may not be physically separated, and the component displayed as a unit may be one physical unit or multiple physical units, that is, it may be located in one place, or may be distributed to multiple different places . Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a readable storage medium.
  • the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the software product is stored in a storage medium Among them, several instructions are included to make a device (which may be a single-chip microcomputer, a chip, etc.) or a processor (processor) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: various media that can store program codes such as U disk, mobile hard disk, read only memory (ROM), random access memory (random access memory, RAM), magnetic disk or optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Les modes de réalisation de la présente demande appartiennent au domaine technique de l'électronique. Elle concerne un procédé de transmission inter-système d'un objet cible, ainsi qu'un dispositif. Lorsqu'un programme d'application d'un second système d'exploitation est exécuté sur un premier système d'exploitation, la transmission inter-système de l'objet cible peut être réalisée sur la base d'une opération simple d'un utilisateur, et l'opération est mieux adaptée aux habitudes d'utilisation de l'utilisateur sur la base du premier système d'exploitation, ce qui permet d'améliorer l'expérience d'utilisation de l'utilisateur. La solution comprend les étapes suivantes : un dispositif électronique affiche une première interface, la première interface comprenant une fenêtre d'un premier programme d'application et une fenêtre d'un second programme d'application, la fenêtre du premier programme d'application comprenant un objet cible, la fenêtre du second programme d'application ne comprenant pas l'objet cible, le premier programme d'application et/ou le second programme d'application étant un programme d'application d'un second système d'exploitation ; et en réponse à un événement de glissement dans lequel l'objet cible est glissé de la fenêtre du premier programme d'application à la fenêtre du second programme d'application avant d'être relâché, le dispositif électronique transmet l'objet cible au second programme d'application. Les modes de réalisation de la présente demande sont utilisés pour la transmission d'un objet cible.
PCT/CN2022/106970 2021-07-30 2022-07-21 Procédé de transmission inter-système d'un objet cible, et dispositif WO2023005784A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110871045.6 2021-07-30
CN202110871045.6A CN115700453A (zh) 2021-07-30 2021-07-30 一种跨系统传输目标对象的方法及设备

Publications (1)

Publication Number Publication Date
WO2023005784A1 true WO2023005784A1 (fr) 2023-02-02

Family

ID=85087515

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/106970 WO2023005784A1 (fr) 2021-07-30 2022-07-21 Procédé de transmission inter-système d'un objet cible, et dispositif

Country Status (2)

Country Link
CN (1) CN115700453A (fr)
WO (1) WO2023005784A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700923A (zh) * 2016-01-08 2016-06-22 深圳市创想天空科技股份有限公司 安装应用程序的方法及系统
WO2018112775A1 (fr) * 2016-12-21 2018-06-28 深圳前海达闼云端智能科技有限公司 Procédé de fonctionnement d'un autre système d'exploitation, appareil et dispositif électronique
US20190302981A1 (en) * 2018-04-03 2019-10-03 Palantir Technologies Inc. Graphical user interface system
CN112068897A (zh) * 2020-08-16 2020-12-11 北京麟卓信息科技有限公司 基于鼠键模拟的Android应用文件加载方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700923A (zh) * 2016-01-08 2016-06-22 深圳市创想天空科技股份有限公司 安装应用程序的方法及系统
WO2018112775A1 (fr) * 2016-12-21 2018-06-28 深圳前海达闼云端智能科技有限公司 Procédé de fonctionnement d'un autre système d'exploitation, appareil et dispositif électronique
US20190302981A1 (en) * 2018-04-03 2019-10-03 Palantir Technologies Inc. Graphical user interface system
CN112068897A (zh) * 2020-08-16 2020-12-11 北京麟卓信息科技有限公司 基于鼠键模拟的Android应用文件加载方法和装置

Also Published As

Publication number Publication date
CN115700453A (zh) 2023-02-07

Similar Documents

Publication Publication Date Title
US10846262B2 (en) Data migration to a cloud computing system
CN110378593B (zh) 关于合规策略更新的应用的通信状态
US7783985B2 (en) Systems and methods for transferring data between computing devices
US10129264B2 (en) Method and apparatus for implementing document sharing between user groups
US10108787B2 (en) View-based expiration of shared content
US9537952B1 (en) Apparent cloud access for hosted content items
CN111049935B (zh) 远程控制电子设备的系统及其电子设备
JP2016529599A (ja) コンテンツクリップボードの同期
MX2013003427A (es) Redireccion de ambiente cruzado.
JP2010218049A (ja) 情報処理装置、情報処理方法及びプログラム
US20180213025A1 (en) Transparent deferred spooling store and forward based on standard network system and client interface
US11435901B1 (en) Backup services for distributed file systems in cloud computing environments
KR20140036229A (ko) 해석 런타임 애플리케이션을 복수의 클라이언트에게 적용시키기 위한 기법
CN109729121B (zh) 一种云存储系统及用于云存储系统中实现自定义数据处理的方法
US20130238673A1 (en) Information processing apparatus, image file creation method, and storage medium
CN113010498B (zh) 一种数据同步方法、装置、计算机设备及存储介质
WO2020119710A1 (fr) Procédé, dispositif et système de redirection de disque
WO2023005784A1 (fr) Procédé de transmission inter-système d'un objet cible, et dispositif
JP4267186B2 (ja) クライアントとホスト間での情報内容の伝達
US20180337988A1 (en) Methods for working collaboratively and systems using the same
JP6205013B1 (ja) アプリケーション利用システム
CN116225282A (zh) 分层内容选择
CN109597537B (zh) 文件同步方法、装置及设备
US20210374106A1 (en) Using drag-and-drop to open local files remotely
KR20200084129A (ko) Osd 영역을 통한 망 연계 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22848389

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE