Data copying method and electronic equipment

By providing a visual interface and extending data objects in electronic devices, the problem of users' cumbersome copying of data between multiple applications is solved, and the convenience of multiple copying and pasting is achieved, improving user experience and operation efficiency.

CN119248153APending Publication Date: 2025-01-03HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411219478.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-05-20
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

When using electronic devices, users need to frequently switch applications to copy multiple discontinuous data, which is cumbersome and is not conducive to user experience. In the prior art, such as giving input methods, the access to the clipboard permissions still has interface restrictions and low data processing efficiency. The problem.

Method used

Provides a method of copying data, by responding to user operations in an electronic device, determining the selected data and converting it into an extended data object, displaying it in a visual interface, supporting multiple copy, cut and drag operations, and in the interface It displays data in different formats, allowing users to adjust the data order and delete unnecessary data, and realizes multiple copying and pasting of data to the target application.

Benefits of technology

It greatly simplifies user operations, improves the efficiency and user experience of copying data. Through the visual interface and extends the use of data objects, it supports multiple copying and pasting, reduces user switching operations between multiple source applications, and improves data. Easy to handle.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119248153A_ABST
    Figure CN119248153A_ABST
Patent Text Reader

Abstract

The invention provides a data copying method and electronic equipment, and relates to the technical field of electronics. According to the data copying method provided by the invention, firstly, a user can be supported to copy one or more pieces of data into a target application program through one-time pasting or dragging after multiple times of copying, cutting or dragging operations are executed in one or more source application programs; secondly, a visual interface can be provided for the copied, cut or dragged data, and different types of data are displayed in different formats in the interface; and thirdly, in the visual interface, the user can adjust the arrangement sequence of different data and can also delete any data, so that the user experience is greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application. The application number of the original application is 202210552437.0, and the original application date is May 20, 2022. The entire contents of the original application are incorporated into this application by reference. Technical Field

[0002] The present application relates to the field of electronic technology, and in particular to a method for copying data and an electronic device. Background Art

[0003] In daily life, when consumers use electronic devices such as mobile phones and tablets, they often need to copy multiple discontinuous pieces of data from one or more source applications and then paste them into a target application. For example, the source application can be a news application, and the target application can be a note or document application. In this process, users need to switch applications frequently, and they need to paste once after copying, which is very cumbersome.

[0004] A feasible solution is to grant the input method application the permission to access the clipboard, so that the input method application can save the data copied or cut each time in its own process space, so that users can copy or cut multiple times and copy once.

[0005] However, when copying data, users need to call out the input method application, then click on the history clipboard in the settings, and then select data paste. This operation is still cumbersome, and is limited by the interface size of the input method and the way data is processed, so the visualization is not high, which is not conducive to user experience. Summary of the invention

[0006] The embodiment of the present application provides a method for copying data and an electronic device. The method for copying data provided by the present application, firstly, can support a user to copy one or more data to a target application by pasting or dragging after performing multiple copy, cut or drag operations in one or more source applications; secondly, a visual interface can be provided for the copied, cut or dragged data, and different types of data can be displayed in different formats in the interface; thirdly, in the visual interface, the user can adjust the order of arrangement of different data, and can also delete any data, which greatly improves the user experience.

[0007] In a first aspect, the present application provides a method for copying data, which is applied to an electronic device, the method comprising: in response to receiving a first operation from a user, the electronic device determines first selected data through a first source application and sends the first selected data to a first process, the first operation is copying, cutting or dragging, and the first selected data includes at least one of a picture, a text paragraph, and a file; the electronic device converts the first selected data into a first extended data object through the first process, the first extended data object includes the first selected data and a first state parameter, the first state parameter is at least used to describe the format of the data in the first selected data; in response to receiving a second operation from the user, the electronic device displays a first window, the first window is used to display data including the first selected data, wherein data of different formats are displayed in different ways.

[0008] In the above embodiment, after the electronic device determines the selected data, it will analyze the format of the data in the selected data during the process of converting it into an extended data object, and then display the data of different formats in different display modes in the first window. Obviously, the data copying method provided by the present application provides a visual interface for the user, allowing the user to know the specific data that he has copied, cut or dragged before, and provides a solid implementation foundation and interface foundation for the user to delete data and modulate the arrangement order of data.

[0009] In combination with some embodiments of the first aspect, in some embodiments, the method further includes: the electronic device determines, through the first process, a display method of data of different formats in the first window based on the state parameter.

[0010] In the above embodiment, the electronic device can determine the data formats of different data through the state parameters, and further determine the display methods of the data in different data formats.

[0011] In combination with some embodiments of the first aspect, in some embodiments, the electronic device determines the display method of data of different formats in the first window based on the status parameters through the first process, specifically including: the first selected data includes multiple data, and there are multiple controls corresponding to the multiple data in the first window; the first process determines the arrangement order within the multiple controls according to the status parameters.

[0012] In the above embodiment, the electronic device also adjusts the order of the data in the first window according to the data format, so that the data in the first window is arranged in order, making it easier for the user to find specific data in the first window after copying multiple data.

[0013] In combination with some embodiments of the first aspect, in some embodiments, the arrangement order is text, picture, and file.

[0014] In the above embodiment, the data in the first window may be arranged in the order of text, picture, file, or other order to facilitate the user to find specific data.

[0015] In combination with some embodiments of the first aspect, in some embodiments, the status parameters include a format parameter, which is used to identify the format of the data; the status parameters also include at least one of a size parameter and a copy parameter, the size parameter is used to identify the size of the data, and the copy parameter is used to identify whether the data has been copied to the memory space of the first process.

[0016] In the above embodiment, the state parameter includes a variety of parameters such as format parameter, size parameter, copy parameter, etc., which correspond to whether the electronic device can perform further operations in different situations. For example, the state parameter is used to determine the display method of data in different formats, the copy parameter is used to indicate to the electronic device whether the file supports dragging and pasting to other applications other than the source application; the size parameter can be used to display data of the file type, etc.

[0017] In combination with some embodiments of the first aspect, in some embodiments, after the electronic device displays a first window in response to receiving a second operation from the user, the method further includes: the content displayed in the first window includes a first control, the first control corresponds to first data, and the first data belongs to the first selected data; in response to receiving a third operation from the user on the first control, the first window does not display the first control and the electronic device deletes the first data through the first process.

[0018] In the above embodiment, the first window supports the user to delete the data in the first window through certain operations. When the user mistakenly copies, cuts, or drags unnecessary data, the user does not need to copy, cut, or drag again. The user only needs to delete the unnecessary data in the first window, which greatly simplifies the user's operation and improves the user experience.

[0019] In combination with some embodiments of the first aspect, in some embodiments, after the electronic device displays a first window in response to receiving a second operation from the user, the method further includes: the content displayed in the first window includes a first control and a second control, the first control corresponds to first data, and the first control is displayed at a first position of the first window; in response to receiving a fourth operation from the user on the first control, the electronic device displays the second control at a second position of the first window, and the first position and the second position are different.

[0020] In the above embodiment, the first window supports the user to adjust the arrangement of different data in the first window through certain operations, so that the user can perform simple processing on the data before pasting or dragging the data to the target application, which greatly simplifies the user's operation and improves the user experience.

[0021] In combination with some embodiments of the first aspect, in some embodiments, in response to receiving a second operation from the user, after the electronic device displays a first window, the method also includes: the content displayed in the first window includes multiple controls, each of the multiple controls corresponds to one data in the first selected data, and the data corresponding to each control is different; in response to receiving a fifth operation from the user on the multiple controls, the electronic device sends the data corresponding to the multiple controls to a target application through the first process, and the fifth operation is a drag operation; or, in response to receiving a sixth operation from the user on the multiple controls and a seventh operation from the user in the interface of the target application, the electronic device sends the data corresponding to the multiple controls to the target application through the first process, the sixth operation is an operation for selecting the multiple controls, and the seventh operation is a paste operation.

[0022] In the above embodiment, the user can select multiple data in the first window, and copy the selected multiple data to the target application by pasting or dragging the data.

[0023] In combination with some embodiments of the first aspect, in some embodiments, the electronic device sends the data corresponding to the multiple controls to the target application through the first process, specifically including: the electronic device determines the data corresponding to the multiple controls based on the multiple controls through the first process; the electronic device generates a first copy data object ClipData based on the first extended data object and the data corresponding to the multiple controls through the first process; the electronic device sends the first copy data object ClipData to the target application through the first process.

[0024] In the above embodiment, there is no need for the application to actively adapt, and the first process still sends the copied data object ClipData to the application, which the application can parse correctly.

[0025] In combination with some embodiments of the first aspect, in some embodiments, the method further includes: the electronic device saving the first extended data object in a non-volatile storage medium through the first process.

[0026] In the above embodiment, the first process can save the copied, cut, and dragged data in a non-volatile storage medium. When the first process is destroyed and then restarted, the data can still be restored, which is convenient for users.

[0027] In combination with some embodiments of the first aspect, in some embodiments, the first process stores the first extended data object in a non-volatile storage medium, specifically including: the electronic device serializes the first extended data object through the first process to obtain a first serialized object; the electronic device converts the first serialized object into a first byte array through the first process; the electronic device converts the first byte array into a first character string through the first process; the electronic device writes the first character string into the non-volatile storage medium through the first process.

[0028] In the above embodiment, the first process serializes, bytecodes, and stringifies the extended data object to obtain a string corresponding to the extended data object, and then writes the string into a non-volatile storage medium. Compared with other storage methods, this method of saving data is a lighter storage method, consumes less system resources, and can keep the relative order of each field in the first extended data object unchanged.

[0029] In combination with some embodiments of the first aspect, in some embodiments, after the electronic device converts the first selected data into a first extended data object through a first process, the method further includes: in response to receiving an eighth operation of the user, the electronic device determines second selected data through a second source application and sends the second selected data to the first process, the eighth operation is copying, cutting or dragging, and the second selected data includes at least one of a picture, a text paragraph, and a file; the electronic device converts the second selected data and the first extended object into a third extended data object through the first process; or, the electronic device converts the second selected data into the second extended data object through the first process.

[0030] In the above embodiment, when the user copies, drags or cuts data to the first process multiple times, the first process may merge the multiple data into one extended data object; or, may save multiple extended data objects.

[0031] In combination with some embodiments of the first aspect, in some embodiments, the first window includes multiple controls, and the data corresponding to the multiple controls belong to the first selected data and the second selected data; in response to receiving a ninth operation of the user on the multiple controls, the electronic device sends the data corresponding to the multiple controls to the target application through the first process, and the fifth operation is a drag operation; or, in response to receiving a tenth operation of the user on the multiple controls and an eleventh operation of the user in the interface of the target application, the electronic device sends the data corresponding to the multiple controls to the target application through the first process, the tenth operation is an operation for selecting the multiple controls, and the eleventh operation is a paste operation.

[0032] In the above embodiment, the user can select multiple data in the first window and copy the multiple data to the target application, which avoids the user's multiple tedious operations and improves the user experience; and the user can select the data to be copied in the first window without worrying about copying, pasting, and dragging excess data.

[0033] In combination with some embodiments of the first aspect, in some embodiments, before the electronic device determines first selected data through a first source application in response to receiving a first operation from the user and sends the first selected data to a first process, the method further includes: in response to receiving a twelfth operation from the user, the electronic device determines third selected data through a third source application and sends the third selected data to the first process, the twelfth operation being copy, cut or drag; after the electronic device displays the first window, the method further includes: in response to receiving the twelfth operation from the user in the first window, the electronic device displays a third control in the first window, and the data corresponding to the third control belongs to the third selected data.

[0034] In the above embodiment, the data previously copied, cut or dragged by the user to the first process will not appear in the first window at the beginning. After receiving the twelfth operation from the user, the first window will display the historical data, which includes the third selected data.

[0035] In combination with some embodiments of the first aspect, in some embodiments, the time interval between the occurrence time of the second operation and the occurrence time of the twelfth operation is greater than a time threshold.

[0036] In the above embodiment, when the time interval between the last copy, cut or drag time and the time when the electronic device displays the first window this time is greater than the time threshold, the last copied, cut or dragged data will not be displayed in the first window.

[0037] In combination with some embodiments of the first aspect, in some embodiments, after the electronic device determines the third selected data through the third source application in response to receiving the user's twelfth operation and sends the third selected data to the first process, and before the electronic device determines the first selected data through the first source application in response to receiving the user's first operation and sends the first selected data to the first process, the method also includes: the electronic device closes the display of the first window.

[0038] In the above embodiment, the content displayed in the first window is the data selected by the user through copying, cutting or dragging operations during the process from when the first window is closed to when the first window is displayed again.

[0039] In combination with some embodiments of the first aspect, in some embodiments, after the electronic device displays a first window, the method also includes: the first window includes a first control, a second control, and a third control, the first control corresponds to first data, the second control corresponds to second data, and the third control is used to share data with a counterpart electronic device; in response to receiving a user selection operation on the first control and the second control and a user operation on the third control, the electronic device sends the first data and the second data to the counterpart electronic device through the first process.

[0040] In the above embodiment, the electronic device can also send data to other electronic devices, so that the data copied by the user on the local electronic device can be used on other electronic devices, which greatly improves the user experience.

[0041] In combination with some embodiments of the first aspect, in some embodiments, the electronic device sends the first data and the second data to the opposite electronic device through the first process, specifically including: the electronic device sends a second copied data object ClipData to the opposite electronic device, and the data corresponding to the second copied data object ClipData includes the first data and the second data; or, the electronic device sends the second extended data object to the opposite electronic device, and the data of the second extended data object includes the first data and the second data.

[0042] In the above embodiment, the electronic device may send the copied data object ClipData to other electronic devices, and may also send the extended data to other electronic devices.

[0043] In combination with some embodiments of the first aspect, in some embodiments, after the electronic device converts the first selected data into a first extended data object through the first process, the method further includes: the electronic device sends first sending data to the counterpart electronic device through the first process, and the first sending data is a first extended data object or the first sending data is a copy data object ClipData corresponding to the first selected data.

[0044] In the above embodiment, the electronic device can automatically synchronize the data copied, cut or dragged by the user to other electronic devices, without the need for the user to manually share the data to other electronic devices, thereby simplifying the user's operation and improving the user experience.

[0045] In the second aspect, in the first aspect, the present application provides a method for copying data, which is applied to a system including a first electronic device and a second electronic device, a communication connection is established between the first electronic device and the second electronic device, the method comprising: in response to receiving a first operation of a user, the first electronic device determines first selected data through a first source application and sends the first selected data to a first process, the first operation is copy, cut or drag, the first selected data includes at least one of a picture, a text paragraph, and a file, the first source application and the first process are on the first electronic device; the first electronic device sends the first selected data to the second electronic device through the first process; in response to receiving the second operation of the user, the second electronic device displays a second window, the second window includes multiple controls, the multiple controls correspond to multiple data in the first selected data, and the data corresponding to the controls in the multiple controls are different.

[0046] In the above embodiment, the local electronic device sends the data copied, cut or dragged by the user to the peer electronic device, and the user can see the corresponding data in the second window of the peer electronic device, thereby improving the user experience.

[0047] In combination with some embodiments of the second aspect, in some embodiments, the first electronic device determines the first selected data through the first source application and sends it to the first process, specifically including: the first electronic device determines the first selected data through the first source application, and sends the first copy data object ClipData corresponding to the first selected data to the first process.

[0048] In combination with some embodiments of the second aspect, in some embodiments, the method also includes: the first electronic device converts the first copy data object ClipData into a first extended data object through the first process, the first extended data object includes the first selected data and a first status parameter, and the first status parameter is at least used to describe the format of the data in the first selected data.

[0049] In combination with some embodiments of the second aspect, in some embodiments, the first process sends the first selected data to the second electronic device, specifically including: the first electronic device sends the first extended data object to the second process based on the communication connection through the first process, and the second process is a process on the second electronic device; or, the first electronic device sends the first copy data object ClipData to a target application based on the communication connection through the first process, and the target application is an application on the second electronic device.

[0050] In combination with some embodiments of the second aspect, in some embodiments, in response to receiving a third operation performed by the user on the multiple controls, the second electronic device sends the data corresponding to the multiple controls to the target application through the second process, and the fifth operation is a drag operation; or, in response to a fourth operation performed by the user on the multiple controls and a fifth operation performed by the user in the interface of the target application, the second electronic device sends the data corresponding to the multiple controls to the target application through the second process, the fourth operation is an operation for selecting the multiple controls, and the fifth operation is a paste operation.

[0051] In a third aspect, an embodiment of the present application provides an electronic device, comprising: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the electronic device to execute: in response to receiving a first operation from a user, the electronic device determines first selected data through a first source application and sends the first selected data to a first process, the first operation is copying, cutting or dragging, and the first selected data includes at least one of a picture, a text paragraph, and a file; the electronic device converts the first selected data into a first extended data object through the first process, the first extended data object includes the first selected data and a first state parameter, the first state parameter is at least used to describe the format of the data in the first selected data; in response to receiving a second operation from the user, the electronic device displays a first window, the first window is used to display data including the first selected data, wherein data of different formats are displayed in different ways.

[0052] In the above embodiment, after the electronic device determines the selected data, it will analyze the format of the data in the selected data during the process of converting it into an extended data object, and then display the data of different formats in different display modes in the first window. Obviously, the data copying method provided by the present application provides a visual interface for the user, allowing the user to know the specific data that he has copied, cut or dragged before, and provides a solid implementation foundation and interface foundation for the user to delete data and modulate the arrangement order of data.

[0053] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are also used to call the computer instruction to cause the electronic device to execute: the electronic device determines, through the first process, the display method of data of different formats in the first window based on the state parameters.

[0054] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are specifically used to call the computer instructions to enable the electronic device to execute: the first selected data includes multiple data, and there are multiple controls corresponding to the multiple data in the first window; the first process determines the arrangement order within the multiple controls according to the state parameters.

[0055] In combination with some embodiments of the third aspect, in some embodiments, the arrangement order is text, picture, and file.

[0056] In combination with some embodiments of the third aspect, in some embodiments, the status parameters include a format parameter, which is used to identify the format of the data; the status parameters also include at least one of a size parameter and a copy parameter, the size parameter is used to identify the size of the data, and the copy parameter is used to identify whether the data has been copied to the memory space of the first process.

[0057] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are also used to call the computer instructions to cause the electronic device to execute: the content displayed in the first window includes a first control, the first control corresponds to first data, and the first data belongs to the first selected data; in response to receiving a third operation of the user on the first control, the first window does not display the first control and the electronic device deletes the first data through the first process.

[0058] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are also used to call the computer instructions to cause the electronic device to execute: the content displayed in the first window includes a first control and a second control, the data corresponding to the first control belongs to the first selected data, and the first control is displayed at a first position in the first window; in response to receiving a fourth operation of the user on the first control, the electronic device displays the second control at a second position in the first window, and the first position and the second position are different.

[0059] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are also used to call the computer instructions to cause the electronic device to execute: the content displayed in the first window includes multiple controls, each of the multiple controls corresponds to one data in the first selected data, and the data corresponding to each control is different; in response to receiving a fifth operation of the user on the multiple controls, the electronic device sends the data corresponding to the multiple controls to the target application through the first process, and the fifth operation is a drag operation; or, in response to receiving a sixth operation of the user on the multiple controls and a seventh operation of the user in the interface of the target application, the electronic device sends the data corresponding to the multiple controls to the target application through the first process, the sixth operation is an operation for selecting the multiple controls, and the seventh operation is a paste operation.

[0060] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are specifically used to call the computer instructions to enable the electronic device to execute: the electronic device determines the data corresponding to the multiple controls based on the multiple controls through the first process; the electronic device generates a first copy data object ClipData based on the first extended data object and the data corresponding to the multiple controls through the first process; the electronic device sends the first copy data object ClipData to the target application through the first process.

[0061] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are further used to call the computer instruction to cause the electronic device to execute: the electronic device saves the first extended data object in a non-volatile storage medium through the first process.

[0062] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are specifically used to call the computer instructions to enable the electronic device to execute: the electronic device serializes the first extended data object through the first process to obtain a first serialized object; the electronic device converts the first serialized object into a first byte array through the first process; the electronic device converts the first byte array into a first string through the first process; the electronic device writes the first string to the non-volatile storage medium through the first process.

[0063] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are further used to call the computer instructions to cause the electronic device to execute: in response to receiving an eighth operation from the user, the electronic device determines second selected data through a second source application and sends the second selected data to the first process, the eighth operation being copy, cut or drag, and the second selected data including at least one of a picture, a text paragraph, and a file; the electronic device converts the second selected data and the first extended object into a third extended data object through the first process; or, the electronic device converts the second selected data into the second extended data object through the first process.

[0064] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are also used to call the computer instructions to cause the electronic device to execute: the first window includes multiple controls, and the data corresponding to the multiple controls belong to the first selected data and the second selected data; in response to receiving a ninth operation of the user on the multiple controls, the electronic device sends the data corresponding to the multiple controls to a target application through the first process, and the fifth operation is a drag operation; or, in response to receiving a tenth operation of the user on the multiple controls and an eleventh operation of the user in the interface of the target application, the electronic device sends the data corresponding to the multiple controls to the target application through the first process, the tenth operation is an operation for selecting the multiple controls, and the eleventh operation is a paste operation.

[0065] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are also used to call the computer instructions to cause the electronic device to execute: the first window includes multiple controls, and the data corresponding to the multiple controls belong to the first selected data and the second selected data; in response to receiving a ninth operation of the user on the multiple controls, the electronic device sends the data corresponding to the multiple controls to a target application through the first process, and the fifth operation is a drag operation; or, in response to receiving a tenth operation of the user on the multiple controls and an eleventh operation of the user in the interface of the target application, the electronic device sends the data corresponding to the multiple controls to the target application through the first process, the tenth operation is an operation for selecting the multiple controls, and the eleventh operation is a paste operation.

[0066] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are specifically used to call the computer instructions to cause the electronic device to execute: in response to receiving a twelfth operation from the user, the electronic device determines third selected data through a third source application, and sends the third selected data to the first process, and the twelfth operation is copy, cut or drag; in response to receiving a thirteenth operation from the user in the first window, the electronic device displays a third control in the first window, and the data corresponding to the third control belongs to the third selected data.

[0067] In combination with some embodiments of the third aspect, in some embodiments, the time interval between the occurrence time of the second operation and the occurrence time of the twelfth operation is greater than a time threshold.

[0068] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are further used to call the computer instruction to cause the electronic device to execute: the electronic device closes the display of the first window.

[0069] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are also used to call the computer instructions to enable the electronic device to execute: the first window includes a first control, a second control, and a third control, the first control corresponds to first data, the second control corresponds to second data, and the third control is used to share data with a counterpart electronic device; in response to receiving a user selection operation on the first control and the second control and a user operation on the third control, the electronic device sends the first data and the second data to the counterpart electronic device through the first process.

[0070] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are specifically used to call the computer instruction to enable the electronic device to execute: the electronic device sends the second copied data object ClipData to the opposite electronic device, and the data corresponding to the second copied data object ClipData includes the first data and the second data; or, the electronic device sends the second extended data object to the opposite electronic device, and the data of the second extended data object includes the first data and the second data.

[0071] In combination with some embodiments of the third aspect, in some embodiments, the one or more processors are also used to call the computer instructions to enable the electronic device to execute: the electronic device sends the first sending data to the opposite electronic device through the first process, and the first sending data is a first extended data object or the first sending data is a copy data object ClipData corresponding to the first selected data.

[0072] In a fourth aspect, an embodiment of the present application provides a chip system, which is applied to an electronic device, and the chip system includes one or more processors, which are used to call computer instructions so that the electronic device executes the method described in the first aspect and any possible implementation method of the first aspect.

[0073] In a fifth aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when the computer program product is run on an electronic device, enables the electronic device to execute the method described in the first aspect and any possible implementation method of the first aspect.

[0074] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium, comprising instructions, which, when executed on an electronic device, enables the electronic device to execute the method described in the first aspect and any possible implementation manner of the first aspect.

[0075] It is understandable that the electronic device provided in the third aspect, the chip system provided in the fourth aspect, the computer program product provided in the fifth aspect, and the computer storage medium provided in the sixth aspect are all used to execute the method provided in the embodiment of the present application. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method, which will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0076] Figure 1 and Figure 2 An exemplary schematic diagram of copying multiple segments of data in an application provided in an embodiment of the present application.

[0077] Figure 3 Provided for the embodiments of this application Figure 1 and Figure 2 An exemplary schematic diagram of the implementation method corresponding to the illustrated operation flow.

[0078] Figure 4 An exemplary schematic diagram of a third-party application saving data in a clipboard provided in an embodiment of the present application.

[0079] Figure 5 An exemplary schematic diagram of transferring data in a history clipboard to a target application via a third-party application provided in an embodiment of the present application.

[0080] Figure 6 and Figure 7 An exemplary schematic diagram of a scenario of the replication method provided in an embodiment of the present application.

[0081] Figure 8 and Fig. 9 Another exemplary schematic diagram of a scenario of the replication method provided in an embodiment of the present application.

[0082] Fig.10 Another exemplary schematic diagram of a scenario of a method for copying data provided in an embodiment of the present application.

[0083] Fig.11 Another exemplary schematic diagram of a scenario of a method for copying data provided in an embodiment of the present application.

[0084] Fig.12 Another exemplary schematic diagram of a scenario of a method for copying data provided in an embodiment of the present application.

[0085] Fig.13A and Fig. 13B An exemplary schematic diagram of a scenario of a method for copying data provided in an embodiment of the present application.

[0086] Fig.14 An exemplary schematic diagram of the method flow of the method for copying data provided in an embodiment of the present application.

[0087] Fig.15 An exemplary schematic diagram of converting selected data into an extended data object provided in an embodiment of the present application.

[0088] Fig.16A and Fig. 16B An exemplary schematic diagram of the extended data merging process provided in this application.

[0089] Fig.17 An exemplary schematic diagram of the merging of ExtendData objects provided in an embodiment of the present application.

[0090] Fig.18AAn exemplary schematic diagram of performing persistence processing on data provided in an embodiment of the present application.

[0091] Fig.18B An exemplary schematic diagram of performing persistence processing on data provided in an embodiment of the present application.

[0092] Fig.19 An exemplary schematic diagram of deleting ExtendItem provided in an embodiment of the present application.

[0093] Fig. 20 An exemplary schematic diagram of adjusting the arrangement order of ExtendItem provided in an embodiment of the present application.

[0094] Fig.21 An exemplary schematic diagram of generating a ClipData object and sending it to a target application provided in an embodiment of the present application.

[0095] Fig. 22 Another exemplary schematic diagram of generating a ClipData object and sending it to a target application provided in an embodiment of the present application.

[0096] Fig.23 An exemplary schematic diagram of the data flow of the method for copying data provided in an embodiment of the present application.

[0097] Fig.24 Another exemplary schematic diagram of the data flow of the method for copying data is provided for an embodiment of the present application.

[0098] Fig.25 and Fig.26 An exemplary schematic diagram of the data flow of the method for copying data in a cross-device scenario provided in an embodiment of the present application.

[0099] Fig. 27 An exemplary schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application.

[0100] Fig.28 An exemplary schematic diagram of the software architecture of an electronic device provided in an embodiment of the present application.

[0101] Fig.29 Another exemplary schematic diagram of the software architecture of the electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0102] The terms used in the following embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to be used as limitations to the present application. As used in the specification and appended claims of the present application, the singular expressions "one", "a kind of", "the", "above", "the" and "this" are intended to also include plural expressions, unless there is a clear indication to the contrary in the context. It should also be understood that the term "and / or" used in the present application refers to and includes any or all possible combinations of one or more listed items.

[0103] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.

[0104] The term "user interface (UI)" in the following embodiments of the present application refers to a medium interface for interaction and information exchange between an application or operating system and a user, which realizes the conversion between the internal form of information and the form acceptable to the user. The user interface is a source code written in a specific computer language such as Java and extensible markup language (XML). The interface source code is parsed and rendered on an electronic device, and finally presented as content that can be recognized by the user. The commonly used form of user interface is a graphical user interface (GUI), which refers to a user interface related to computer operation displayed in a graphical manner. It can be a visual interface element such as text, icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets, etc. displayed on the display screen of an electronic device.

[0105] An exemplary schematic diagram when a user needs to copy or cut multiple discontinuous content from a source application to a target application, wherein the source application represents the application from which the copied or cut data originates; and the target application represents the application to which the copied or cut data is received.

[0106] Figure 1 and Figure 2 An exemplary schematic diagram of copying multiple segments of data in an application provided in an embodiment of the present application.

[0107] exist Figure 1 and Figure 2In the content shown, the document application is the source application and the sticky note application is the target application; the user needs to copy two discontinuous pieces of data from the document application to the sticky note application separately, which requires two copy operations. The process of the first operation is as follows Figure 1 As shown, the process of the second operation is as follows Figure 2 shown.

[0108] like Figure 1 As shown, first, Figure 1 As shown in (A), the user needs to select the first piece of data. Figure 1 is a paragraph of text; then, Figure 1 As shown in (B) in the figure, after the control 1B01 appears, click the control 1B02; then, as Figure 1 As shown in (C) in FIG. 1 , the user switches to the sticky note application. In the sticky note application, after the control 1C01 appears, the user clicks the control 1C02 to copy the first segment of data to the sticky note application. Finally, the copied data appears, as shown in FIG. Figure 1 As shown in (D) in .

[0109] like Figure 2 As shown, first, Figure 2 As shown in (A), the user needs to select the second piece of data. Figure 1 and Figure 2 is a picture; then, Figure 2 As shown in (B) in the figure, after the control 1B01 appears, click the control 1B02; then, as Figure 2 As shown in (C) in FIG. 1 , the user switches to the sticky note application. In the sticky note application, after the control 1C01 appears, the user clicks the control 1C02 to copy the second segment of data to the sticky note application. Finally, the copied data appears, as shown in FIG. Figure 2 As shown in (D).

[0110] Figure 3 Provided for the embodiments of this application Figure 1 and Figure 2 An exemplary schematic diagram of the implementation method corresponding to the illustrated operation flow.

[0111] When the user copies or cuts data for the first time, the source application sends the data to the clipboard. When the user copies or cuts data for the second time, the source application sends the data to the clipboard. If there is already data in the clipboard, the last saved data needs to be deleted before receiving and saving the new data.

[0112] For example, Figure 3As shown, when the user copies or cuts data for the first time, the data is selected data 1, and the selected data 1 will be sent to the clipboard; when the user copies or cuts data for the second time, the data is selected data 2, and the selected data 2 will be sent to the clipboard; the clipboard will delete the selected data 1 during or before receiving the selected data 2, and then save the selected data 2.

[0113] Obviously, since the clipboard can only store one data, such as Figure 1 He Ru Figure 2 The method of copying or cutting data shown requires the user to perform cumbersome operations, which is not conducive to the user experience. Furthermore, when the user copies data from multiple source applications to the target application, the user also needs to switch different source applications, which also requires the user to perform cumbersome operations, and the user experience is not good.

[0114] In order to reduce the amount of user operations when copying multiple discontinuous data, a feasible solution is to grant clipboard access permissions to third-party applications such as input method applications, and have the third-party applications save historical clipboard data and pass the user-specified data in the historical clipboard to the target application when the user needs it.

[0115] Figure 4 An exemplary schematic diagram of a third-party application saving data in a clipboard provided in an embodiment of the present application.

[0116] As a resident application, the input method can access the clipboard provided by the operating system in real time and save the selected data in the clipboard to the memory space of the input method.

[0117] like Figure 4 As shown, after the clipboard obtains the selected data 1 of the source application, the third-party application requests data from the clipboard and then obtains the selected data 1. After the clipboard obtains the selected data 2 of the source application, the third-party application requests data from the clipboard and then obtains the selected data 2.

[0118] Figure 5 An exemplary schematic diagram of transferring data in a history clipboard to a target application via a third-party application provided in an embodiment of the present application.

[0119] like Figure 5 As shown in (A) in FIG. 5 , the user can call out the input method application in the target application, and the interface of the input method application is shown in window 501 . The interface of the input method application includes a control 502 .

[0120] In response to the user clicking on control 502, Figure 5As shown in (B) in FIG. 1 , the content displayed on the interface of the input method application program includes a control 503. The function corresponding to the control 503 is a history clipboard.

[0121] In response to the user clicking on control 503, Figure 5 As shown in (C) in the figure, the user can select different texts in the interface of the history clipboard, such as text 1, text 2, and text 3 in the figure. Among them, text 1 corresponds to control 504, text 2 corresponds to control 505, and text 3 corresponds to control 506.

[0122] In response to the user clicking on the control 504, Figure 5 As shown in (D) in the figure, text 1 is sent to the Notes application.

[0123] However, if Figure 5 In the method shown, first, the third-party application can obtain and save the data in the clipboard only after obtaining the clipboard access permission; second, the third-party application will not save multimedia resources such as pictures in the history clipboard; third, the third-party application arranges the copied data in the order, which is not conducive to the user to find the required data among multiple data; third, the user cannot modify the data in the history clipboard in the third-party application, such as modifying the arrangement, deleting some entries, etc.

[0124] In summary, if Figure 5 As shown, the data in the clipboard is saved by third-party applications such as input methods, and the user experience is still not good.

[0125] Based on this, an embodiment of the present application provides a method for copying data. The method for copying data provided in an embodiment of the present application, first, provides users with multiple ways to copy data, such as dragging operations, selecting data and then copying or cutting operations; second, data in multiple media formats, such as text, images, videos, etc., can be saved in the clipboard; third, a visual and highly operable interface can be provided to display historical data in the clipboard, and users are supported to edit historical data in the interface, such as deleting, adjusting the order, etc.; third, historical data in the clipboard can also be persisted from the memory space of the process to the hard disk of the electronic device; third, data can also be sent to other electronic devices through the clipboard to achieve cross-device sharing.

[0126] The following is an illustrative introduction to several scenarios of the replication method provided in the embodiments of the present application.

[0127] Scenario 1: Copy data to a transfer station.

[0128] Figure 6 and Figure 7 An exemplary schematic diagram of a scenario of the replication method provided in an embodiment of the present application.

[0129] Among them, in order to better distinguish the clipboard provided in the embodiment of the present application from the clipboard mentioned above, the transfer station is used below to refer to the clipboard provided by the operating system. The transfer station is a system-maintained process that can run as a service or a system application.

[0130] First, if Figure 6 As shown in (A), the interface displayed on the electronic device is the interface of the document application, and the user can select multiple texts, which can be one or more complete paragraphs, or one or more incomplete paragraphs. The selected multiple texts are selected data 1. The user can perform a preset operation, and the preset operation is used to trigger the display window 601. The preset operation is a predefined long press, double click, drawing a preset pattern or voice command and other operations, and the embodiment of the present application does not limit the preset operation. After the interface displayed by the electronic device includes window 601, in response to the user's operation, the selected data 1 is a paragraph of text.

[0131] Or, if Figure 7 As shown in (A) in FIG. 1 , the window 601 may not be displayed on the interface of the electronic device first, and the selected data 1 may be determined in response to the user's operation.

[0132] Then, if Figure 6 As shown in (B) in FIG. 6 , in response to the user's dragging operation, the selected data 1 is copied to the transfer station. The starting point of the dragging operation may be the selected data, and the end point of the dragging operation may be the position of the window 601. Alternatively, Figure 7 As shown in (B) in FIG. 5 , in response to the user's dragging operation, when the user's dragging operation approaches the edge of the screen, window 601 is displayed. Figure 7 As shown in (C) in FIG. 6 , when the end point of the user's dragging operation is the position of window 601 , the selected data 1 is copied to the transfer station.

[0133] Similar, such as Figure 6 In (C), users can also select other formats or types of media elements such as pictures. Figure 6 In the content shown in (C), picture 1 is selected data 2; Figure 6 In (D), in response to the user's dragging operation, the selected data 2 is sent to the transfer station.

[0134] It is worth noting that the method for copying data provided in the embodiment of the present application can also support users to copy data by Figure 1 The interactive method shown in (B) sends data to the transfer station.

[0135] Figure 8 and Fig. 9Another exemplary schematic diagram of a scenario of the replication method provided in an embodiment of the present application.

[0136] like Figure 8 As shown in (A) and (B) in FIG. 1 , the user can call out control 1C01 on the interface of the target application, and call out window 801 by clicking control 1C02. Window 801 is an interface of the transfer station. Compared with the above, it can be seen that window 601 is another interface of the transfer station.

[0137] like Figure 8 As shown in (B) in FIG. 8 , window 801 displays the data previously copied, cut or dragged by the user in an expanded form, and includes controls 802, 803 and 804. Different controls correspond to different copied data.

[0138] In window 801, the arrangement order of the controls may be related to the order in which the data corresponding to the controls enter the transfer station. For example, the controls corresponding to the data that enters the transfer station later are arranged first. Alternatively, the arrangement order of the controls may be related to the format of the data corresponding to the controls, for example, the controls corresponding to the data are arranged in the order of text format, picture format, and other multimedia formats in the transfer station. It is worth noting that the embodiment of the present application does not impose any form of restriction on the arrangement order of the controls on the transfer station interface.

[0139] In window 801, different data may be displayed in different forms. For example, when the data is text, the first few characters of the data will be displayed on the control corresponding to the data; when the data is a picture, the thumbnail of the picture will be displayed on the control corresponding to the data; when the data is a file, the name and size of the file will be displayed on the control corresponding to the data; when the data is a file, the size and name of the file can be displayed on the control corresponding to the data.

[0140] Optionally, in some embodiments of the present application, when the data copied, cut or dragged by the user includes multiple pictures, the multiple pictures can be displayed corresponding to one control, and the control displays special effects, such as ghosting, shadows, etc., to prompt the user that the control corresponds to multiple data. Secondly, after the user clicks the control, multiple sub-controls corresponding to the multiple pictures are displayed in window 801.

[0141] It is worth noting that one control in the window corresponds to one entry, wherein one copy or drag by the user can correspond to multiple entries. For example, if the user copies or drags multiple paragraphs of text at one time, the multiple paragraphs of text can correspond to one entry; or, the multiple paragraphs of text can also correspond to multiple entries, and the number of entries is the same as the paragraphs. If the user copies or drags pictures in multiple albums at one time, the multiple albums can correspond to one entry; or, the multiple albums can also correspond to multiple entries. When multiple albums correspond to one entry, after the user clicks the control corresponding to the entry or the user performs other operations, the entry will expand into multiple sub-entries, and the number of sub-entries can be consistent with the number of pictures selected in the album.

[0142] like Figure 8 As shown in (C) and (D) in FIG. 801 , the user can select the data to be copied to the target application by selecting the control in window 801. Then, the user can drag or Figure 1 In the interactive mode shown in (C), copy text 2 to the target application.

[0143] exist Figure 8 In the example, the data corresponding to control 803 is Figure 6 and Figure 7 The selected data 1 in the control 804 is Figure 6 and Figure 7 Selected data 2 in .

[0144] like Fig. 9 As shown in (A) in FIG. 8 , the user can also call out window 601 on the interface of the target application by executing a preset operation, and click on window 601 to change the interface of the transfer station into an expanded form, such as window 801 .

[0145] Fig. 9 The contents shown in (B), (C) and (D) are the same as Figure 8 (B), (C) and (D) are the same, and can be found in the above description, so they will not be repeated here.

[0146] It is worth noting that users can copy data from different applications to the transfer station, that is, the source application can be multiple and is not limited to one.

[0147] Scenario 2: Modify the data in the transfer station.

[0148] The method for copying data provided in the embodiment of the present application can also allow the user to adjust the arrangement order of the controls corresponding to the data; and can support the user to select multiple controls at one time, that is, support the user to copy multiple data to the target application through one operation.

[0149] Fig.10 Another exemplary schematic diagram of a scenario of a method for copying data provided in an embodiment of the present application.

[0150] like Fig.10 As shown in (A) in the figure, the content displayed in the target application is: Text 1, Picture 1, Picture 2, Text 2. Users can Figure 7 or Figure 6 The operation shown copies text 1, picture 1, picture 2 and text 2 to the transfer station.

[0151] Window 801 displays controls corresponding to different data, including control 1001 corresponding to text 1, control 1002 corresponding to text 2, control 1003 corresponding to picture 1, and control 1004 corresponding to picture 2.

[0152] And the transfer station can modify the arrangement order of the controls corresponding to the file in the transfer station according to the format of the file.

[0153] Optionally, in some embodiments of the present application, the transfer station may not modify the arrangement order of the data according to the format of the file.

[0154] The user can adjust the order of different controls in window 801, or delete some controls to delete the data corresponding to the controls from the transfer station, or edit the data in the transfer station. Fig.10 As shown in (B) in FIG. 1 , the user can select control 1001 and then adjust the relative order of control 1001 and control 1002 by moving control 1001 .

[0155] like Fig.10 As shown in (C), the user can select multiple controls and copy the data to the target application by dragging. The target application is a note application.

[0156] like Fig.10 As shown in (D), the arrangement of the data copied to the target application is consistent with the arrangement of the data in the transfer station. That is, the arrangement of the data in the target application after copying is: text 2, text 1, picture 1, picture 2.

[0157] Fig.11 Another exemplary schematic diagram of a scenario of a method for copying data provided in an embodiment of the present application.

[0158] like Fig.11As shown in (A), in addition to displaying controls corresponding to different data, each control in the interface of the transfer station also displays a control for deleting the data corresponding to the control. For example, control 1101 is displayed on control 1001 corresponding to text 1, and control 1102 is displayed on control 1002 corresponding to text 2; control 1103 is displayed on control 1003 corresponding to picture 1; and control 1104 is displayed on control 1004 corresponding to picture 2. Among them, control 1101, control 1102, control 1103, and control 1104 are used to delete control 1001, control 1002, control 1003, and control 1004, respectively.

[0159] For example, after the user clicks on control 1104, control 1004 will be deleted, such as Fig.11 As shown in (B) in FIG. 1 , in this case, the data of text 1, text 2 and picture 1 are stored in the transfer station.

[0160] Scenario 3: Using historical clipping data.

[0161] Fig.12 Another exemplary schematic diagram of a scenario of a method for copying data provided in an embodiment of the present application.

[0162] When the electronic device displays window 801, the user can slide down or up to display the controls corresponding to the historical clipping data in window 801. Fig.12 As shown in (A) of FIG. 8 , window 801 includes control 1001 and control 1002. In response to the user's upward sliding operation, as shown in FIG. Fig.12 As shown in (B) in FIG. 8 , a control 1203 and a control 1204 are displayed in the window 801 . Among them, the control 1203 corresponds to the text 3 , and the control 1204 corresponds to the picture 3 .

[0163] Among them, text 3 and picture 3 are historical clipping data.

[0164] The method of distinguishing non-historical clipping data from historical clipping data is not limited here. For example, the data can be divided according to the time when it enters the transfer station; for another example, the data can be distinguished according to whether the interface of the transfer station is closed; for another example, a quantity threshold can be configured to sort the data according to the time sequence of entering the transfer station, and the data whose sequence exceeds the quantity threshold is historical clipping data.

[0165] For example, the time when text 3 and picture 3 enter the transfer station is greater than the time interval from the time when the user opens the transfer station interface this time, while the time when text 1 and text 2 enter the transfer station is less than the time interval from the time when the user opens the transfer station interface this time, then text 1 and text 2 are non-historical clipping data, and text 3 and picture 3 are historical clipping data.

[0166] For another example, after the user drags or copies text 3 and picture 3 to the transfer station, the user closes the transfer station interface; then, the user drags or copies text 1 and text 2 to the transfer station. Then, after the user opens the interface of the target program and opens the transfer station interface through a preset operation, text 1 and text 2 are non-historical clipping data, and text 3 and picture 3 are historical clipping data.

[0167] It can be understood that the method for copying data provided in the embodiment of the present application can enable the user to very conveniently copy the most recently copied or dragged data from the transfer station to the target application.

[0168] Scenario 4: Sharing data across devices.

[0169] The data stored in the transfer station can be shared with other nearby connected electronic devices through near-field wireless communication technologies such as Wi-Fi, Bluetooth, NFC, etc.; or, the data can be synchronized to other electronic devices logged in to the same account through the server.

[0170] Fig.13A and Fig. 13B An exemplary schematic diagram of a scenario of a method for copying data provided in an embodiment of the present application.

[0171] When the user saves two data in the recycle bin on the electronic device 1, they are text 1 corresponding to the control 1001 and text 2 corresponding to the control 1002. Fig.13A As shown in (A) in .

[0172] When electronic device 1 and electronic device 2 are already connected, or when the accounts logged into electronic device 1 and electronic device 2 are the same, electronic device 1 will synchronize / send the data in the transfer station to electronic device 2.

[0173] When the user clicks on window 601 on electronic device 2 to open the transfer station, in window 801, the user can see the controls corresponding to text 1 and text 2 saved on electronic device 1, such as Fig.13A As shown in (B) and (C).

[0174] like Fig. 13B As shown, the transfer station on the electronic device 1 stores three data, namely, text 1 corresponding to the control 1001, text 2 corresponding to the control 1002, and picture 1 corresponding to the control 1003. Fig. 13B As shown in (A) in FIG. 1 , the user can select control 1002 and control 1003, and then share text 2 and image 1 to other electronic devices by dragging or other operations. For example, Fig. 13BAs shown in (B) in FIG. 1 , the starting point of the user's dragging operation is the control corresponding to the selected data, and the end point of the dragging operation is the control 1302. The window 1301 includes a control 1302 and a control 1303, which are used to represent the electronic device 1 and the electronic device 2, respectively.

[0175] After the user performs the above operations, the text 2 and the picture 1 can be seen in the interface of the transfer station on the electronic device 2. Fig. 13B As shown in (C) in FIG. 8 , controls 1002 and 1003 corresponding to text 2 and picture 1 appear in window 801 on electronic device 2 .

[0176] It can be understood that the method of copying data provided in the embodiment of the present application does not need to perform multiple cross-device sharing operations on the multiple data to be shared. Users only need to copy or drag the data to the transfer station, which allows users to share content between devices more conveniently, thereby improving the user experience.

[0177] After introducing the method for copying data provided by the embodiment of the present application, the method flow of the method for copying data provided by the embodiment of the present application is introduced.

[0178] Fig.14 An exemplary schematic diagram of the method flow of the method for copying data provided in an embodiment of the present application.

[0179] The method for copying data provided in the embodiment of the present application may include seven steps, wherein steps S1403 and S1404 are optional steps; wherein the triggering timing of step S1405 and step S1406 is the user's operation.

[0180] S1401: In response to a first operation of the user, determining selected data, and sending the selected data to a transfer station.

[0181] The first operation of the user may be a copy operation, such as Figure 1 (B) Figure 2 As shown in (B) in FIG. 1 ; or, the user's first operation may be a drag operation, such as Figure 6 (B) or Figure 7 As shown in (B) and (C).

[0182] After the selected data is determined, the selected data will be sent to the transfer station. The transfer station is a name used to distinguish the clipboard above and does not represent any limitation. The transfer station is a system-maintained process that can run as a service or a system application.

[0183] With the above Figure 3 or Figure 4Similar to what is shown, the source application sends the user-selected data to the relay.

[0184] Before the selected data is sent by the source application, it is encapsulated as a ClipData object (copy data object). An exemplary format of the ClipData object is as follows: Fig.15 shown.

[0185] S1402: The transfer station processes the selected data to obtain an extended data object.

[0186] The transfer station will process the Clipadata object into an ExtendData object (extended data object). The processing process is as follows Fig.15 shown.

[0187] Fig.15 An exemplary schematic diagram of converting selected data into an extended data object provided in an embodiment of the present application.

[0188] First, the source application converts the selected data into a ClipData object and then sends it to the transfer station.

[0189] The ClipData object is a data structure used to carry the content that the user drags, cuts, or copies. The ClipData object includes ClipDescription (description information of the copied data) and one or more ClipData.Item (items). A user's drag, cut, or copy operation will generate a ClipData object. Taking drag as an example, when a user drags an item, a ClipData.Item is saved in the ClipData object generated by the source application. Fig.15 Item 1 in the ; when the user drags multiple items, a ClipData is constructed to store multiple ClipData.Items, such as Fig.15 Entries 1 to n in .

[0190] Among them, ClipData.Item can include Text, Html (link), Uri (resource identifier), and Intent. If the user drags text, the Text in the item stores the corresponding text content; if the user drags a picture or a file, the Uri in ClipData.Item stores the identifier pointing to the picture or file.

[0191] After receiving the ClipData object, the transfer station will split and encapsulate the ClipData object into ExtendData objects.

[0192] The Description (extended description information) in the ExtendData object includes the original ClipDescription, and the ExtendItem (extended item) in the ExtendData object includes the ClipData.Item in the original ClipData object. Compared with ClipData.Item, ExtendItem adds some status parameters.

[0193] Status parameters may include: Type, Status, Size, etc., which are not limited here. Type is used to mark the type of each content. Common types include text content, pictures, files, etc. Since different types of content present different layout display effects, Type will also affect the display effect of the extended item, as mentioned above. Figure 8 The size of the control in the middle window 801 and the content displayed on the control; Status is used to mark the status of each content, which indicates whether the current content supports dragging out or copying. Some files from other third-party applications need to be copied before they can be dragged out or copied; Size is used to mark the file size corresponding to the content. If the content corresponds to a file, the value is valid.

[0194] It is worth noting that the Type, Status, and Size mentioned above are merely exemplary descriptions of the status parameters, and the status parameters may also include other parameters, which are not limited here.

[0195] The ExtendData object maintains an ExtendItem list, which records the ExtendItem in the ExtendData object. The ExtendItem list is used to support users to delete and adjust the order of items in the transfer station, as described above. Fig.10 and Fig.11 The content shown.

[0196] It is worth noting that the format of data transmission between the source target program and the transfer station is ClipData object. In order to support users to edit ClipData objects, the method of copying data provided in the embodiment of the present application splits and encapsulates the ClipData object in the transfer station to obtain an extended data object; the extended data object can support users' entry-level deletion, reordering, dragging, copying and other operations.

[0197] The transfer station process can convert one or more ExtendItems into ClipData objects. When the user completes the editing operation of each item, such as deletion or multi-selection, and drags the edited item or selects multiple items and shares them to other devices, the ExtendItem in the ExtendItem list recreates a new ClipData object based on the ClipDescription in the Description of the ExtendData object, and passes the ClipData object to the target application.

[0198] It can be understood that the ExtendData object provided in the embodiment of the present application, first of all, provides a solid data foundation for the implementation of the transfer station visualization interface due to the addition of status parameters.

[0199] S1403: Optionally, a merge process is performed on multiple extended data objects.

[0200] Before the transfer station processes the data sent by the source application to the transfer station, if there is already an ExtendData object stored in the transfer station, the multiple extended data can be merged so that only one constantly changing ExtendData object is stored in the transfer station; or, the transfer station can save multiple ExtendData objects, corresponding to different drag or copy operations of the user.

[0201] Fig.16A and Fig. 16B An exemplary schematic diagram of the extended data merging process provided in this application.

[0202] like Fig.16A As shown, after application 1 sends selected data 1 to the transfer station, the transfer station converts the ClipData object corresponding to the selected data 1 into an ExtendData object, that is, Fig.16A Then, application 2 sends the ClipData object corresponding to the selected data 2 to the transfer station. After the transfer station receives the ClipData object corresponding to the selected data 2, it can convert the ClipData object into an ExtendData object, and then merge the extended data objects corresponding to the two data, that is, Fig.16A Extended data object 2 in. Fig.16A As shown, the transfer station merges extended data object 1 and extended data object 2 to generate extended data object 3.

[0203] Alternatively, after application 1 sends selected data 1 to the transfer station, the transfer station converts the ClipData object corresponding to the selected data 1 into an ExtendData object, that is, Fig.16AThen, application 2 sends the ClipData object corresponding to selected data 2 to the transfer station; finally, the transfer station merges the ClipData object corresponding to selected data 2 and the ExtendData object corresponding to selected data 1 into a new ExtendData object. Fig.16A The transfer station shown merges the selected data 2 and the extended data object 1 to generate the extended data object 3.

[0204] Fig.17 An exemplary schematic diagram of the merging of ExtendData objects provided in an embodiment of the present application.

[0205] When extended data objects are merged, the MimeType of the Description of the merged ExtendData objects is taken as the union, the ExtendItem list of the newly generated ExtendData object is expanded, and the ExtendItem of the merged ExtendData objects is added in sequence. Alternatively, a new ExtendData object can be generated by extending a merged ExtendData object, for example, in any merged ExtendData object, the MimeType of the Description of the merged ExtendData object is taken as the union, and the ExtendItem list of other merged ExtendData objects is added to the ExtendItem list.

[0206] like Fig.17 As shown, the extended data object 1 and the extended data object 2 are merged to generate the extended data object 3; the ExtendItem of the extended data object 3 includes the ExtendItem of the extended data object 1 and the ExtendItem of the extended data object 2; the Description of the extended data object 3 is equivalent to the union of the extended description information 1 and the extended description information 2, that is, the union of MimeType is taken.

[0207] S1404: Optionally, the saved extended data object is persisted.

[0208] The transfer station can perform persistence processing on the saved data, that is, save the data in the process memory space on the hard disk or other storage medium of the electronic device, so that the data will not be lost due to the destruction of the transfer station. Correspondingly, the transfer station can also read the data saved on the hard disk or other storage medium of the electronic device into the process memory space, which is convenient for users to use.

[0209] The transfer station has multiple triggering opportunities to execute step S1404, which are not limited here. For example, the transfer station can perform persistence processing on the ExtendData object at fixed intervals; for another example, the transfer station can persist the ExtendData object after the ExtendData object changes, and the change can be that the user deletes an entry or adjusts the order between different entries; for another example, the transfer station can persist the ExtendData object after the interface of the transfer station is closed.

[0210] Correspondingly, the transfer station also has multiple triggering opportunities to restore the persistent ExtendData object to the memory space of the process corresponding to the transfer station, which is not limited here. For example, when the interface of the transfer station is displayed from never displayed, the transfer station restores the persistent ExtendData object; for another example, as mentioned above Fig.12 As shown in the content, when the user slides up or down to make the window 801 display the historical clipping data, the transfer station restores the persistent ExtendData object.

[0211] Fig.18A An exemplary schematic diagram of performing persistence processing on data provided in an embodiment of the present application.

[0212] First, the transfer station can serialize in order according to Description, the number of ExtendItems, and the content of ExtendItems. Among them, the serialization of Description can be implemented using the writeToParcel method of ClipDescription. After the Description is serialized, the number of ExtendItems is written to the serialized data. If the number of ExtendItems is 0, 0 is written. Then the content of ExtendItem is serialized in turn, first serializing ClipData.Item, and then writing fields such as status parameters into the serialized data.

[0213] Optionally, in some embodiments of the present application, the transfer station may also serialize the ExtendData object in other orders, which is not limited here.

[0214] Second, after serialization, convert the serialized data into a byte array. For example, it can be converted into a byte array by the parcel#marshall method.

[0215] Again, the byte array is converted into a character stream. For example, the byte array can be converted into a character stream by the base64.encodeToString method.

[0216] Finally, the character stream is written into the file through I / O operations to achieve persistent storage.

[0217] It is worth noting that the transfer station process can be Fig.18A In the reverse order, the data is read from the hard disk or other storage media of the electronic device into the memory space of the process to realize the persistent recovery of the ExtendData object.

[0218] First, the transfer station reads the string from the persistent file through I / O operations.

[0219] Then, decode the character stream into a byte array. For example, you can decode the character stream into a byte array by calling the Base64.decode method.

[0220] Second, convert the byte array into serialized data. For example, you can use the Parcel#unmarshall method to convert the byte array into serialized data.

[0221] Finally, after obtaining the serialized data, the Description, the number of ExtendItems, and the content of ExtendItems are deserialized from the serialized data in the order of serialization. During the deserialization process, if the number of ExtendItems is determined to be not 0, the deserialization continues to obtain the content of ExtendItems, restore the ExtendItem list, and finally restore the ExtendData object; if the number of ExtendItems is determined to be 0, the deserialization is terminated. For example, the deserialization of Description can be achieved through CREATE#createFromParcel.

[0222] Fig.18B An exemplary schematic diagram of performing persistence processing on data provided in an embodiment of the present application.

[0223] In the ExtendData object according to Fig.18A The method shown shows the correspondence between the files saved by the electronic device and the ExtendData object after persistence is performed.

[0224] The file includes field 1, field 2, field 31, field 32, ..., field 3n, wherein field 1 corresponds to the extended description information; field 2 corresponds to the number of extended entries; and fields 31 to 3n correspond to extended entries 1 to n.

[0225] Optionally, in some embodiments of the present application, the ExtendData object may also be saved on the hard disk or other storage medium of the electronic device through components such as Content Provider, SharedPreferences, or a SQlite database.

[0226] It is understandable that through Fig.18A The method shown in the figure persists the ExtendData object. First, it can ensure that the relative positions of the ExtendData object's Description, ExtendItem and other parameters will not be disordered, and then the ExtendData object can be quickly restored from the local. Secondly, compared with other persistence methods, Fig.18A The method shown consumes less system resources, is a lightweight persistence method, and does not rely on other system components, and can be applied to a variety of operating systems including Android.

[0227] S1405: Optionally, in response to a second operation of the user, delete an entry in the extended data object.

[0228] As mentioned above Fig.11 As shown in the content, in response to the user clicking on the control 1104, the control 1104 in the window 801 is deleted, and correspondingly, the transfer station also deletes the ExtendItem in the ExtendData object.

[0229] Fig.19 An exemplary schematic diagram of deleting ExtendItem provided in an embodiment of the present application.

[0230] Combination Fig.11 and Fig.19 As shown in the content, after the user clicks the control 1104, the transfer station will delete the ExtendItem corresponding to the control 1004. Fig.19 In the content shown, text 1 corresponds to extended item 1, text 2 corresponds to extended item 2, picture 1 corresponds to extended item 3, and picture 2 corresponds to extended item 4.

[0231] After the user clicks on the control 1104 , the transfer station deletes the extension entry 4 ; correspondingly, the control 1004 is not displayed in the window 801 .

[0232] S1406: Optionally, in response to a third operation of the user, adjust the arrangement order of the items in the extended data object.

[0233] As mentioned above Fig.10 As shown in (B), the user can adjust the relative order of text 1 and text 2, and the transfer station can adjust the order of different ExtendItems accordingly.

[0234] Fig. 20 An exemplary schematic diagram of adjusting the arrangement order of ExtendItem provided in an embodiment of the present application.

[0235] like Fig. 20 As shown, text 1 corresponds to extended item 1, text 2 corresponds to extended item 2, picture 1 corresponds to extended item 3, and picture 2 corresponds to extended item 4. After the user adjusts the positions of controls 1101 and 1102 through operations, that is, adjusts the arrangement order of text 1 and text 2 on the window, the transfer station can also modify the arrangement order of ExtendItem in the extended data object, that is, modify the order of extended item 11 and extended item 12.

[0236] S1407: In response to the fourth operation of the user, a copy data object is generated, and the copy data object is sent to the target application.

[0237] As mentioned above Figure 8 , Fig. 9 , Fig.10 As shown in the content, in response to the user's drag or copy operation, the transfer station process generates a ClipData object and sends the ClipData object to the target application.

[0238] The target application may be a process or application on another device, or the target application may be another application or process on a local electronic device. When the target application is a transfer station on another electronic device, the data sent may not be a ClipData object, but an ExtendData object. Alternatively, when the target application can parse the ExtendData object, the data sent by the transfer station may not be a ClipData object, but an ExtendData object.

[0239] When the user performs a drag or copy operation, the ClipDescription in the Description of the ExtendData object and the ClipData.Item corresponding to each ExtendItem in the ExtendItem list are reassembled into a new ClipData, and then the ClipData is sent to the target application.

[0240] Fig.21 An exemplary schematic diagram of generating a ClipData object and sending it to a target application provided in an embodiment of the present application.

[0241] like Fig.21As shown, when the user has not selected multiple data in window 801 and performed dragging or copying, the transfer station can save one ExtendData object, or multiple ExtendData objects. After the user selects control 1101 and control 1102, that is, after selecting text 1 and text 2, and performs dragging or copying operations, the transfer station will generate ClipData objects corresponding to text 1 and text 2. Among them, the ClipData object is data for sending to the target application; wherein, the ClipData object includes ClipDescription and ClipData.Item corresponding to the data, that is, the ClipData object includes description information corresponding to text 1 and text 2, and also includes entry 1 and entry 2.

[0242] Fig. 22 Another exemplary schematic diagram of generating a ClipData object and sending it to a target application provided in an embodiment of the present application.

[0243] like Fig. 22 As shown, before the user performs a drag or copy operation, the transfer station saves an ExtendData object; when the user performs a drag or copy operation, the transfer station generates a ClipData object and then sends the ClipData object to the target application, so that the target application can receive and correctly parse the ClipData object.

[0244] It is understandable that in order to improve the compatibility of the transfer station, the data is sent in a format that can be parsed by the target application, that is, the ExtendData object is converted into a ClipData object. It is worth noting that when the target application can parse other formats, data in other formats can also be sent, wherein the data in other formats is not limited to ClipData objects, and the data in other formats can be converted from extended data objects.

[0245] Fig.23 An exemplary schematic diagram of the data flow of the method for copying data provided in an embodiment of the present application.

[0246] like Fig.23 As shown, first, the user can drag or copy the selected data 1 in the source application 1 to the transfer station by dragging or copying, and the source application 1 can send the ClipData object corresponding to the selected data 1 to the transfer station. Among them, the ClipData object corresponding to the selected data 1 is the copied data object 1.

[0247] Then, the transfer station disassembles and encapsulates the ClipData object into an ExtendData object. That is, the copy data object 1 is converted into an extended data object 1. The transfer station can adjust the display effect of each ClipData.Item according to the state parameters of the extended data object 1. For example, the text content directly displays the first few paragraphs of text; the picture content is displayed as a thumbnail of the specific content of the picture; the file content displays the file icon, file name and file size.

[0248] Again, when the user actively closes the display of the transfer station, or destroys the process corresponding to the transfer station, or before the system destroys the process corresponding to the transfer station, the data of the transfer station can be persisted, that is, the extended data object 1 is persisted.

[0249] Again, the user can drag or copy the selected data 2 in the source application 2 to the transfer station, and the source application 2 can send the ClipData object corresponding to the selected data 2 to the transfer station. The ClipData object corresponding to the selected data 2 is the copied data object 2.

[0250] Again, the transfer station may have at least two processing modes. One is to save a new extended data object 3, in which the selected data 1 and the selected data 2 are saved; or the other is to save the extended data object 1 and the extended data object 2.

[0251] Finally, after the user switches to the target application, he can choose to drag or copy part or all of the selected data 1 and selected data 2; correspondingly, the transfer station will generate a corresponding copy data object 3 and send it to the target application. It is worth noting that the copy data object 3 does not correspond to the extended data object 3, but corresponds to the data copied or dragged by the user after switching to the target application.

[0252] It can be understood that the method of copying data provided in the embodiment of the present application realizes the persistence and recovery of the ClipData object corresponding to the dragged, cut or copied content, thereby realizing the persistence and recovery of the copied, cut or dragged data, and improves the stability and fault tolerance of the reused ClipData objects, greatly optimizing the user experience.

[0253] Fig.24 Another exemplary schematic diagram of the data flow of the method for copying data is provided for an embodiment of the present application.

[0254] like Fig.24As shown, first, the user can send the selected data corresponding to multiple contents such as pictures, texts and files selected by the source application to the transfer station by dragging, copying or cutting. The multiple contents correspond to item 1, item 2 and item 3 in sequence. The source application converts the selected data into a ClipData object and then passes it to the transfer station.

[0255] Then, after receiving the ClipData object carrying multiple contents, the transfer station will convert it into an ExtendData object accordingly, and adjust the display effects of different ClipData.Item or ExtendItem according to the state parameters. After the transfer station provides a visual interface for ClipData.Item or ExtendItem, users can delete the data, adjust the relative position, etc. When the user deletes item 2, the only contents displayed are item 1 and item 3.

[0256] Finally, in the target application, the user can use operations such as dragging or copying to enable the transfer station to construct ClipData objects corresponding to entry 1 and entry 3, and send the ClipData objects to the target application, thus completing the data copying.

[0257] Fig.25 and Fig.26 An exemplary schematic diagram of the data flow of the method for copying data in a cross-device scenario provided in an embodiment of the present application.

[0258] like Fig.25 As shown, in a cross-device scenario, the method for copying data includes four steps.

[0259] S2501: In response to the user's operation, determine the selected data.

[0260] For how to determine the selected data, please refer to the above description and will not be repeated here.

[0261] S2502: Send the copied data object corresponding to the selected data.

[0262] After determining the selected data, the application 1 converts the selected data into a ClipData object, and then sends the ClipData object corresponding to the first selected data to the transfer station process.

[0263] S2503: The transfer station process generates a corresponding extended data object.

[0264] The transfer station process generates the corresponding ExtendData object and saves it.

[0265] S2504: Send the duplicate data objects corresponding to some or all of the entries in the extended data object.

[0266] The transfer station process on the local electronic device sends the ClipData objects corresponding to the items selected by the user or all of them to the application 2 of the peer electronic device.

[0267] like Fig.26 As shown, Fig.25 The difference is that when there is a transfer process on the opposite electronic device, the transfer station process 1 sends to the transfer process 2 on the opposite electronic device.

[0268] S2601: In response to a user operation, determining first selected data.

[0269] The same as step S2501, which will not be repeated here.

[0270] S2602: Send the copied data object corresponding to the first selected data.

[0271] After determining the selected data, the application 1 converts the selected data into a ClipData object, and then sends the ClipData object corresponding to the first selected data to the transfer station process 1.

[0272] S2603: Generate corresponding extended data object.

[0273] The same as step S2503, which will not be repeated here.

[0274] S2604: Send the extended data objects corresponding to some or all of the entries.

[0275] The transfer station process 1 on the local electronic device sends an ExtendData object corresponding to part or all of the entries to the transfer station process 2 on the peer electronic device.

[0276] Optionally, in some embodiments of the present application, the transfer station process 1 on the local electronic device sends the ClipData objects corresponding to some or all of the entries to the transfer station process 2 on the peer electronic device.

[0277] S2605: Send the duplicate data objects corresponding to some or all of the entries in the extended data object.

[0278] The content is the same as step S2504 above and will not be repeated here.

[0279] Finally, the hardware structure and software architecture of the electronic device provided in the embodiments of the present application are introduced.

[0280] Fig. 27 An exemplary schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application.

[0281] The electronic device may be a mobile phone, a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a cellular phone, a personal digital assistant (PDA), an augmented reality (AR) device, a virtual reality (VR) device, an artificial intelligence (AI) device, a wearable device, a vehicle-mounted device, a smart home device and / or a smart city device. The embodiments of the present application do not impose any special restrictions on the specific type of the electronic device.

[0282] The electronic device may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0283] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the electronic device. In other embodiments of the present application, the electronic device may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0284] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0285] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.

[0286] A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0287] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple groups of I2C buses. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces. For example, the processor 110 may be coupled to the touch sensor 180K through the I2C interface, so that the processor 110 communicates with the touch sensor 180K through the I2C bus interface to realize the touch function of the electronic device.

[0288] The I2S interface can be used for audio communication. The PCM interface can also be used for audio communication to sample, quantize and encode analog signals. The UART interface is a universal serial data bus for asynchronous communication. The bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. The MIPI interface can be used to connect the processor 110 with peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc.

[0289] The GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or a data signal. The GPIO interface can also be configured as an I2C interface, I2S interface, UART interface, MIPI interface, etc.

[0290] The USB interface 130 is an interface that complies with USB standard specifications, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc.

[0291] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present invention is only a schematic illustration and does not constitute a structural limitation of the electronic device. In other embodiments of the present application, the electronic device may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

[0292] The charging management module 140 is used to receive charging input from the charger. The charger can be a wireless charger or a wired charger. The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and supplies power to the processor 110, the internal memory 121, the display 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc. In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.

[0293] The wireless communication function of the electronic device can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor.

[0294] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of the antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0295] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to electronic devices. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.

[0296] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.

[0297] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to electronic devices. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0298] In some embodiments, the antenna 1 of the electronic device is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the electronic device can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include global positioning system (GPS), global navigation satellite system (GLONASS), Beidou navigation satellite system (BDS), quasi-zenith satellite system (QZSS) and / or satellite based augmentation system (SBAS).

[0299] The electronic device implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.

[0300] The display screen 194 is used to display images, videos, etc. The display screen 194 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 (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device may include 1 or N display screens 194, where N is a positive integer greater than 1.

[0301] The electronic device can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.

[0302] The ISP is used to process data fed back by the camera 193. The camera 193 is used to capture static images or videos. The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. The video codec is used to compress or decompress digital videos. The NPU is a neural-network (NN) computing processor that quickly processes input information by drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain, and can also continuously self-learn. The NPU can realize applications such as intelligent cognition of electronic devices, such as image recognition, face recognition, speech recognition, text understanding, etc.

[0303] The internal memory 121 may include one or more random access memories (RAM) and one or more non-volatile memories (NVM).

[0304] Random access memory may include static random-access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM, for example, the fifth generation DDR SDRAM is generally referred to as DDR5 SDRAM), etc.;

[0305] Non-volatile memory may include disk storage devices and flash memory.

[0306] Flash memory can be divided into NOR FLASH, NAND FLASH, 3D NAND FLASH, etc. according to the operating principle; single-level cell (SLC), multi-level cell (MLC), triple-level cell (TLC), quad-level cell (QLC), etc. according to the storage unit potential level; universal flash storage (UFS), embedded multi media card (eMMC), etc. according to the storage specification.

[0307] The random access memory can be directly read and written by the processor 110, and can be used to store executable programs (such as machine instructions) of the operating system or other running programs, and can also be used to store user and application data.

[0308] The non-volatile memory may also store executable programs and user and application data, etc., and may be loaded into the random access memory in advance for direct reading and writing by the processor 110 .

[0309] The external memory interface 120 can be used to connect to an external non-volatile memory to expand the storage capacity of the electronic device. The external non-volatile memory communicates with the processor 110 through the external memory interface 120 to implement a data storage function. For example, files such as music and videos are stored in the external non-volatile memory.

[0310] The electronic device can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.

[0311] The audio module 170 is used to convert digital audio information into analog audio signal output, and also used to convert analog audio input into digital audio signal. The audio module 170 can also be used to encode and decode audio signals.

[0312] The speaker 170A, also called a "horn", is used to convert audio electrical signals into sound signals.

[0313] The receiver 170B, also called a "handset", is used to convert audio electrical signals into sound signals.

[0314] Microphone 170C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals.

[0315] The earphone interface 170D is used to connect a wired earphone and can be a USB interface 130 or a 3.5 mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.

[0316] The pressure sensor 180A is used to sense the pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A can be disposed on the display screen 194 .

[0317] The gyroscope sensor 180B can be used to determine the motion posture of the electronic device. The air pressure sensor 180C is used to measure air pressure. The magnetic sensor 180D includes a Hall sensor. The electronic device can use the magnetic sensor 180D to detect the opening and closing of the flip leather case. The acceleration sensor 180E can detect the magnitude of the acceleration of the electronic device in various directions (generally three axes). The distance sensor 180F is used to measure the distance. The proximity light sensor 180G can include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The ambient light sensor 180L is used to sense the brightness of the ambient light. The fingerprint sensor 180H is used to collect fingerprints. The temperature sensor 180J is used to detect the temperature. The touch sensor 180K is also called a "touch device". The touch sensor 180K can be set on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a "touch screen". The touch sensor 180K is used to detect a touch operation acting on or near it. The touch sensor can pass the detected touch operation to the application processor to determine the type of touch event. Visual output associated with the touch operation may be provided through display screen 194 .

[0318] Bone conduction sensor 180M can obtain vibration signals.

[0319] The key 190 includes a power key, a volume key, etc. The key 190 can be a mechanical key or a touch key. The electronic device can receive key input and generate key signal input related to user settings and function control of the electronic device.

[0320] Motor 191 can generate vibration prompts.

[0321] Indicator 192 may be an indicator light, which may be used to indicate charging status, power changes, messages, missed calls, notifications, etc.

[0322] The SIM card interface 195 is used to connect a SIM card. The SIM card can be connected to and separated from the electronic device by inserting it into the SIM card interface 195 or pulling it out from the SIM card interface 195. The electronic device can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 195 can also be compatible with different types of SIM cards. The SIM card interface 195 can also be compatible with external memory cards. The electronic device interacts with the network through the SIM card to implement functions such as calls and data communications. In some embodiments, the electronic device uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in an electronic device and cannot be separated from the electronic device.

[0323] In the embodiment of the present application, the transfer station can save ExtendData in a non-volatile memory, thereby achieving persistence of ExtendData.

[0324] In the embodiment of the present application, the electronic device may send the ClipData object or ExtendData to the opposite electronic device through the mobile communication module 150 or the wireless communication module 160 .

[0325] The software system of the electronic device may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present invention takes the Android system of the layered architecture as an example to exemplify the software structure of the electronic device.

[0326] Fig.28 An exemplary schematic diagram of the software architecture of an electronic device provided in an embodiment of the present application.

[0327] The layered architecture divides the software into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.

[0328] The application layer can include a series of application packages.

[0329] like Fig.28 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc.

[0330] The application framework layer provides an application programming interface (API) and a programming framework for the applications in the application layer. The application framework layer includes some predefined functions.

[0331] like Fig.28 As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.

[0332] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.

[0333] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.

[0334] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.

[0335] The phone manager is used to provide communication functions for electronic devices, such as the management of call status (including answering, hanging up, etc.).

[0336] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.

[0337] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, an electronic device vibrates, an indicator light flashes, etc.

[0338] In the embodiment of the present application, the application framework layer may further include a transfer station. The transfer station may receive a ClipData object corresponding to the selected data sent by a program in the application layer, and send the ClipData object corresponding to the selected data to the program in the application layer.

[0339] Alternatively, the broker can also be a system-level application in the application layer.

[0340] Android Runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system.

[0341] The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.

[0342] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.

[0343] The system library may include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.

[0344] The surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.

[0345] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.

[0346] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.

[0347] A 2D graphics engine is a drawing engine for 2D drawings.

[0348] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.

[0349] Fig.29 Another exemplary schematic diagram of the software architecture of the electronic device provided in an embodiment of the present application.

[0350] like Fig.29 As shown, the transfer station can receive one or more replicated data objects sent by one or more source applications. For example, the transfer station can receive replicated data object 1 sent by source application 1 and replicated data object 2 sent by source application 2.

[0351] The relay station may also send the replicated data object 3 to the target application.

[0352] The transfer station may also write the ExtendData object to the non-volatile storage medium, or read the ExtendData object from the non-volatile storage medium.

[0353] As used in the above embodiments, the term "when..." may be interpreted to mean "if..." or "after..." or "in response to determining..." or "in response to detecting...", depending on the context. Similarly, the phrases "upon determining..." or "if (the stated condition or event) is detected" may be interpreted to mean "if determining..." or "in response to determining..." or "upon detecting (the stated condition or event)" or "in response to detecting (the stated condition or event)", depending on the context.

[0354] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server, a data center, etc. that contains one or more available media integration. The available medium can be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk), etc.

[0355] Those skilled in the art can understand that to implement all or part of the processes in the above-mentioned embodiments, the processes can be completed by computer programs to instruct related hardware, and the programs can be stored in computer-readable storage media. When the programs are executed, they can include the processes of the above-mentioned method embodiments. The aforementioned storage media include: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.

Claims

1. A method for copying data, characterized in that: include: The first electronic device receives and displays the first window in response to a first operation of the user, wherein the first window includes a first control, and the first control indicates that the first selected data includes a plurality of contents; The first electronic device receives and displays a plurality of sub-controls in the first window in response to a user's operation on the first control, wherein the plurality of sub-controls displayed in the first window include a first sub-control and a second sub-control; If the first electronic device receives a first drag operation performed by the user on the first subcontrol, the first content is displayed on the first interface in response to the first drag operation; If the first electronic device receives a second drag operation of the user dragging the second sub-control from the first window to the first interface, the second content is displayed on the first interface in response to the second drag operation.

2. The method according to claim 1, characterized in that The first window is a window corresponding to the transfer station; before the first electronic device receives and responds to the user's second operation, the method further includes: The first electronic device displays a second interface, wherein the second interface includes the first selected data, and the first selected data includes the first content and the second content; After receiving the second operation of the user on the first selected data, the first electronic device copies the first selected data to the transfer station.

3. The method according to claim 2, characterized in that The first interface is an interface of a first application program, and / or the second interface is an interface of a second application program.

4. The method according to claim 1, characterized in that: The method further comprises: If the first electronic device receives a third drag operation in which the user drags the second sub-control from the first window to the third interface, in response to the third drag operation, the second content is displayed on the third interface, wherein the third interface and the first interface are interfaces of different applications.

5. The method according to claim 2, characterized in that: The method further comprises: After receiving the second operation on the first selected data by the user, the first electronic device adds the first control to the first window.

6. The method according to claim 1, characterized in that The method further comprises: If the first electronic device receives a fourth drag operation performed by the user on the first control, the first selected data is displayed on the first interface in response to the fourth drag operation.

7. The method according to claim 1, characterized in that The method further comprises: After receiving and responding to the third operation of the user, the first electronic device sends the first selected data to a second electronic device, where the second electronic device and the first electronic device are logged into the same account; The second electronic device receives and displays a second window in response to a fourth operation of the user, wherein the second window includes a second control; The second electronic device receives and displays a plurality of sub-controls in the second window in response to a fifth operation of the user on the second control; the plurality of sub-controls displayed in the second window include a third sub-control and a fourth sub-control; If the second electronic device receives a fifth drag operation of the user dragging the third sub-control from the second window to the third interface, in response to the fifth drag operation, displaying the first content in the third interface; If the second electronic device receives a sixth drag operation of the user dragging the fourth sub-control from the second window to the third interface, the second content is displayed in the third interface in response to the sixth drag operation.

8. The method according to claim 7, characterized in that The method further comprises: If the second electronic device receives a seventh drag operation of the user dragging the second control from the second window to the third interface, in response to the seventh drag operation, the first content and the second content are displayed in the third interface.

9. The method according to claim 1, characterized in that: The method further comprises: The first electronic device receives and responds to a user's deletion operation on the first control in the first window, and does not display the first control in the first window; or, The first electronic device receives and responds to a user's deletion operation on the first sub-control in the first window, and does not display the first sub-control in the first window; or, The first electronic device receives and responds to a user's deletion operation on the second sub-control in the first window, and does not display the second sub-control in the first window.

10. The method according to claim 5, characterized in that The second operation is a drag operation on the first selected data; After receiving the second operation of the user on the first selected data, the first electronic device adds a first control in the first window, specifically including: The first electronic device displays a third window during the process of receiving the user's drag operation on the first selected data; If the end point of dragging the first selected data is the position of the third window, the first control is added to the first window.

11. The method according to any one of claims 1 to 10, characterized in that The method further comprises: In response to the first operation, the first electronic device determines the first selected data through a first source application and sends the first selected data to a first process; The first electronic device converts the first selected data into the first extended object through the first process, where the first extended object includes the first selected data and a first state parameter, where the first state parameter is at least used to describe a format of content in the first selected data; and the first state parameter includes a state parameter of the first content and a state parameter of the second content.

12. The method according to claim 11, characterized in that The method further comprises: The first electronic device determines how to display contents of different formats in the first window based on the first state parameter.

13. The method according to claim 12, characterized in that The first electronic device determines, through the first process and based on the first state parameter, a display mode of contents in different formats in the first window, specifically including: The first process determines an arrangement order of the plurality of sub-controls in the first window according to the first state parameter.

14. The method according to claim 11, characterized in that The state parameters include format parameters, and the format parameters are used to identify the format of the content; The first status parameter also includes at least one of a size parameter and a copy parameter, the size parameter is used to identify the size of the content, and the copy parameter is used to identify whether the content has been copied to the memory space of the first process.

15. The method according to claim 11, characterized in that The first electronic device determines first selected data through a first source application and sends the first selected data to a first process, specifically including: The first electronic device determines the first selected data through the first source application, and sends the first copy data object ClipData corresponding to the first selected data to the first process.

16. The method according to claim 11, characterized in that The first electronic device converts the first selected data into the first extended object through the first process, specifically including: The first electronic device converts the first copy data object ClipData into a first extended data object through the first process.

17. The method according to any one of claims 1 to 16, characterized in that The first content and the second content are both text type data; or, The first content and the second content are both picture type data; or, The first content is text type data, and the second content is picture type data; or, The first content is picture type data, and the second content is text type data.

18. An electronic device, characterized in that: The electronic device comprises: one or more processors and a memory; The memory is coupled to the one or more processors, and the memory is used to store computer program codes, wherein the computer program codes include computer instructions, and the one or more processors call the computer instructions to enable the electronic device to execute the method according to any one of claims 1 to 17.

19. A chip system, characterized in that: The chip system is applied to an electronic device, and the chip system includes one or more processors, and the processor is used to call computer instructions so that the electronic device executes the method as described in any one of claims 1-17.

20. A computer-readable storage medium, characterized in that: The method comprises computer instructions, which, when executed on an electronic device, cause the electronic device to execute the method as claimed in any one of claims 1 to 17.

21. A computer program product, characterized in that Computer instructions are stored, and when the computer instructions are executed on an electronic device, the electronic device executes the method according to any one of claims 1 to 17.

Citation Information

Patent Citations

  • Method of copying multiple text segments and mobile terminal

    CN107967093A

  • Sns Home Tech Service

    KR1020210045771A

  • Clip board system with visual affordance

    US20140157169A1