Data transmission method, electronic device, and storage medium

By displaying thumbnails of screenshots or screen recordings on smart terminal devices and using drag-and-drop operations to transfer resource data, the problem of complex transmission in existing technologies is solved, and the user experience is improved.

CN119766923BActive Publication Date: 2026-06-19HONOR DEVICE CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HONOR DEVICE CO LTD
Filing Date
2023-11-14
Publication Date
2026-06-19

Smart Images

  • Figure CN119766923B_ABST
    Figure CN119766923B_ABST
Patent Text Reader

Abstract

This application provides a data transmission method, an electronic device, and a storage medium. The method includes: after the electronic device displays a thumbnail corresponding to a screenshot image or screen recording video, the user drags the thumbnail to a hotspot area of ​​the target service and releases their hand; the electronic device can then transmit the screenshot image or screen recording video to the target service. This data transmission method enables convenient transmission of resource data between services, improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application. The original application has the application number 202380018766.X and the original application date is November 14, 2023. The entire contents of the original application are incorporated herein by reference. Technical Field

[0002] This application relates to the field of smart terminal devices, and more particularly to a data transmission method, electronic device, and storage medium. Background Technology

[0003] In modern life, smartphones and other smart devices have become indispensable daily tools. In addition to basic communication functions, smartphones and other smart devices also provide many practical functions, such as screenshot and screen recording, making people's lives more convenient and intelligent. Summary of the Invention

[0004] This application provides a data transmission method, an electronic device, and a storage medium. In this method, a user can drag and drop a screenshot thumbnail or a screen recording video thumbnail to transmit the corresponding screenshot image or screen recording video to other services, thereby achieving convenient transmission of resource data between services.

[0005] In a first aspect, this application provides a data transmission method. The method includes: an electronic device, in response to a first operation, displays a first thumbnail corresponding to a screenshot image or screen recording video at a first location; the electronic device, in response to a second operation on the first thumbnail, creates a second thumbnail at the first location and hides the first thumbnail, wherein the second thumbnail and the first thumbnail have the same image, and the second thumbnail is a draggable image; the electronic device, in response to a third operation, moves the second thumbnail accordingly, the third operation being a drag operation sequential with the second operation; the electronic device, in response to the third operation, drags the second thumbnail to a first area and releases its hand, transmitting the screenshot image or screen recording video corresponding to the first thumbnail to a first service, without displaying the first and second thumbnails, wherein the first area is a hotspot corresponding to the first service.

[0006] For example, the first operation can be a screenshot operation or an operation to end screen recording. A screenshot operation can be, for example, tapping the screen with a knuckle, using air gestures, clicking a shortcut switch, or pressing a combination of keys. An operation to end screen recording can be, for example, clicking a shortcut switch, pressing a combination of keys, using air gestures, or voice control.

[0007] For example, the first location could be the lower left corner of the display screen.

[0008] For example, the second operation can be a long press operation, and the third operation can be a drag operation of the second thumbnail.

[0009] For example, the first thumbnail may be a thumbnail view image as mentioned below, and the second thumbnail may be a draggable thumbnail image as mentioned below.

[0010] In this way, users can drag and drop screenshot thumbnails or screen recording video thumbnails to pass the corresponding screenshot images or screen recording videos to other services. The operation is simple and convenient, and it enables the rapid transmission of resource data between services.

[0011] According to the first aspect, the first service is the service that allows receiving screenshot images or screen recording videos.

[0012] The first service can receive resource data transmitted via drag-and-drop. For example, the first service could be a global collection service, a note-taking service, or a service registered to a specific application, as mentioned below.

[0013] According to the first aspect and any implementation thereof, the solution further includes: after the electronic device responds to the third operation by dragging the second thumbnail to the second area and releasing it, moving the second thumbnail to the first position without displaying the second thumbnail, and redisplaying the first thumbnail; wherein the second area is an area corresponding to the second service, and the second service is a service that does not allow receiving screenshot images or screen recording videos; or, the second area is a non-hotspot area.

[0014] For example, the second area is the desktop icon area or the blank area of ​​the desktop.

[0015] In this way, when the user drags the thumbnail to a location where resource data can no longer be received and releases their hand, the electronic device restores the display to the state before the user dragged the thumbnail. At this point, the user can also trigger the drag operation on the thumbnail again.

[0016] According to the first aspect and any implementation thereof, the electronic device creates a second thumbnail at a first position, including: the electronic device resetting the first thumbnail to the first position; the electronic device creating a DragShadowBuilder object with the first thumbnail as a parameter; wherein the second thumbnail is a DragShadow object generated by the DragShadowBuilder object; the electronic device creating a target data structure object, the target data structure storing a Uniform Resource Identifier for a screenshot image or screen recording video; the electronic device calling the target drag-and-drop method to enable drag functionality for the DragShadow object, using the DragShadowBuilder object and the target data structure as calling parameters.

[0017] For example, the target drag-start method is the startDragAndDrop method.

[0018] According to the first aspect and any implementation thereof, the target data structure object is a ClipData object.

[0019] According to the first aspect and any implementation thereof, after the electronic device drags the second thumbnail to the first area and releases its hand, the first thumbnail is not displayed, including: the electronic device listens to a first drag event on the second thumbnail, the operation type of the first drag event is drag end; the electronic device finds that the screenshot image or screen recording video has been transmitted and processed, and does not display the first thumbnail.

[0020] In this way, the electronic device listens for the user's drag-and-drop operation on the second thumbnail and responds accordingly based on the type of drag-and-drop operation. When the user's drag-and-drop operation is completed, the electronic device checks whether the resource data corresponding to the thumbnail has been transmitted and processed. If the resource data has been transmitted and processed, the electronic device no longer displays the thumbnail, for example, by destroying the thumbnail.

[0021] According to the first aspect and any implementation thereof, after the electronic device drags the second thumbnail to the second area and releases its hand, it displays the first thumbnail, including: the electronic device listens to a second drag event on the second thumbnail, the operation type of the second drag event being drag end; the electronic device finds that the screenshot image or screen recording video has not been transmitted and processed, and redisplays the first thumbnail.

[0022] When the user's drag-and-drop operation ends, the electronic device determines whether the resource data corresponding to the thumbnail has been transmitted and processed. If the resource data has not been transmitted and processed, the electronic device redisplays the first thumbnail. At this time, the user can trigger the drag-and-drop operation on the thumbnail again.

[0023] According to the first aspect and any implementation thereof, hiding the first thumbnail by the electronic device may include: the electronic device recording the original size of the first thumbnail and resetting the size of the first thumbnail to 0. Correspondingly, redisplaying the first thumbnail by the electronic device may include: the electronic device resetting the size of the first thumbnail to the recorded original size. In this way, the electronic device can achieve the effect of hiding or redisplaying the thumbnail by adjusting its size.

[0024] According to the first aspect and any implementation thereof, the electronic device sets the first thumbnail to be fully transparent. Correspondingly, redisplaying the first thumbnail may include setting it to be opaque. Thus, the electronic device can achieve the effect of hiding or redisplaying the thumbnail by adjusting its transparency.

[0025] According to the first aspect and any implementation thereof, the electronic device sets the visibility of the first thumbnail to invisible. Correspondingly, redisplaying the first thumbnail may include: the electronic device setting the visibility of the first thumbnail to visible. In this way, the electronic device can achieve the effect of hiding or redisplaying the thumbnail by adjusting its visibility attribute.

[0026] According to the first aspect and any implementation thereof, the method further includes: the electronic device, in response to a second operation, generating a target frame at a first location, the target frame indicating the starting drag area of ​​the second thumbnail; the electronic device, in response to a third operation, dragging the second thumbnail to a third region and hiding the target frame; wherein, when the second thumbnail is located in the third region, the second thumbnail and the target frame do not intersect; the electronic device, in response to the third operation, dragging the second thumbnail to a fourth region and displaying the target frame; wherein, when the second thumbnail is located in the fourth region, the second thumbnail and the target frame intersect.

[0027] For example, the target frame can be a frame view object as mentioned below, such as Figure 4g , Figure 4h The target image frame is shown in frame 443. When the second thumbnail is dragged to a position where it does not intersect with the target image frame, the target image frame is not displayed; when the second thumbnail is dragged to a position where it intersects with the target image frame, the target image frame is displayed.

[0028] In this implementation, the target frame can be used to visually prompt the user, indicating that the user can cancel the thumbnail dragging operation by stopping the dragging within the frame area and releasing the hand.

[0029] According to the first aspect and any implementation thereof, the method further includes: after the electronic device responds to the third operation by dragging the second thumbnail to the fourth area and releasing it, moving the second thumbnail to the first position and not displaying the second thumbnail, and redisplaying the first thumbnail.

[0030] In this way, when the user drags the thumbnail to a point where it intersects with the target image and releases it, the electronic device restores the display to its state before the thumbnail was dragged. At this point, the user can also trigger the drag operation on the thumbnail again.

[0031] According to the first aspect and any implementation thereof, the electronic device responds to the third operation by dragging the second thumbnail to the fourth area and then releasing the device, and then redisplays the first thumbnail, including: the electronic device listens to a third drag event on the second thumbnail, the operation type of the third drag event being drag end; the electronic device detects that the screenshot image or screen recording video has not been transmitted and processed, and then redisplays the first thumbnail.

[0032] When the user's drag-and-drop operation ends, the electronic device determines whether the resource data corresponding to the thumbnail has been transmitted and processed. If the resource data has not been transmitted and processed, the electronic device redisplays the first thumbnail. At this time, the user can trigger the drag-and-drop operation on the thumbnail again.

[0033] According to the first aspect and any implementation thereof, in response to a third operation, the electronic device drags the second thumbnail to the third area and hides the target frame, including: the electronic device listens for a fourth drag event on the second thumbnail and sets the target frame to fully transparent; wherein the operation type of the fourth drag event is leaving the frame area. Correspondingly, the electronic device drags the second thumbnail to the fourth area and displays the target frame, including: listening for a fifth drag event on the second thumbnail and setting the target frame to non-fully transparent; wherein the operation type of the fifth drag event is entering the frame area.

[0034] When the user drags the object out of the drawing frame area, the electronic device sets the target drawing frame to full transparency to hide it; when the user drags the object into the drawing frame area, the electronic device sets the target drawing frame to non-full transparency to unhide it.

[0035] According to the first aspect and any implementation thereof, after displaying a first thumbnail corresponding to a screenshot image or screen recording video at a first position, the method further includes: the electronic device starting a target timer for the first thumbnail; wherein the target timer is used to trigger the non-display of the first thumbnail when the timer duration reaches a preset duration; the electronic device listening to a sixth drag event on the second thumbnail and canceling the target timer for the first thumbnail; wherein the operation type of the sixth drag event is drag start.

[0036] This implementation incorporates existing solutions for automatic thumbnail disappearance timers. Specifically, the automatic thumbnail disappearance timer is canceled when the user starts dragging, to prevent the thumbnail from being destroyed due to the timer ending during the dragging process.

[0037] According to the first aspect and any implementation thereof, after the electronic device redisplays the first thumbnail, the method further includes: the electronic device restarting the target timing for the first thumbnail.

[0038] In this implementation, if the user cancels the drag operation, or if the user finishes dragging but the resource data corresponding to the thumbnail has not been processed, causing the electronic device to redisplay the corresponding thumbnail, the electronic device restarts the automatic thumbnail disappearance timer. Before the automatic disappearance timer expires, the user can trigger the thumbnail drag operation again.

[0039] According to the first aspect and any implementation thereof, after the electronic device creates a second thumbnail at a first position, the method further includes: the electronic device moving the second thumbnail from the first position to a second position according to the position of the second operation; wherein, when the second thumbnail is located at the second position, the position of the second operation is located in the central region of the second thumbnail.

[0040] In this way, no matter where the user presses to move the thumbnail, the electronic device can automatically adjust the thumbnail's position so that the user's press is in the center of the thumbnail, improving the user's dragging experience.

[0041] Secondly, this application provides an electronic device including a memory and a processor. The processor and memory are coupled, and the memory stores program instructions. When the program instructions are executed by the processor, the electronic device performs the data transmission method described in the first aspect and any one thereof.

[0042] The second aspect and any implementation thereof correspond to the first aspect and any implementation thereof, respectively. The technical effects of the second aspect and any implementation thereof are similar to those of the first aspect and any implementation thereof, and will not be repeated here.

[0043] Thirdly, this application provides a computer-readable medium for storing a computer program including instructions for performing the methods in the first aspect or any possible implementation thereof.

[0044] The third aspect and any implementation thereof correspond to the first aspect and any implementation thereof, respectively. The technical effects of the third aspect and any implementation thereof are similar to those of the first aspect and any implementation thereof, and will not be repeated here.

[0045] Fourthly, this application provides a computer program including instructions for performing the data transmission method of the first aspect and any one thereof.

[0046] The fourth aspect and any implementation thereof correspond to the first aspect and any implementation thereof, respectively. The technical effects of the fourth aspect and any implementation thereof are similar to those of the first aspect and any implementation thereof, and will not be repeated here.

[0047] Fifthly, this application provides a chip including a processing circuit and transceiver pins. The transceiver pins and the processing circuit communicate with each other via an internal connection path. The processing circuit executes the data transmission method of the first aspect and any one thereof to control the receiving pin to receive signals and to control the transmitting pin to transmit signals.

[0048] The fifth aspect and any implementation thereof correspond to the first aspect and any implementation thereof, respectively. The technical effects of the fifth aspect and any implementation thereof are similar to those of the first aspect and any implementation thereof, and will not be repeated here. Attached Figure Description

[0049] Figure 1 A schematic diagram of the hardware structure of an electronic device as an example;

[0050] Figure 2 A schematic diagram of the software structure of an electronic device as an example;

[0051] Figures 3a-3e This is an illustrative diagram illustrating application scenarios for screen recording and screenshot functions on electronic devices.

[0052] Figures 4a-4b This is an illustrative diagram illustrating a data transmission scenario based on dragging and dropping screen recording video thumbnails.

[0053] Figure 4c This is an illustrative diagram illustrating a data transmission scenario based on dragging and dropping screen recording video thumbnails.

[0054] Figures 4d to 4e This is an illustrative diagram illustrating a data transmission scenario based on dragging and dropping screen recording video thumbnails.

[0055] Figure 4f This is an illustrative diagram of a scenario where a screen recording video thumbnail is dragged and reset.

[0056] Figures 4g to 4h This is an example illustration of dragging and dropping a screen recording video thumbnail;

[0057] Figure 5 The following is an example of an interactive flowchart illustrating a data transfer method based on dragging and dropping screen recording video thumbnails.

[0058] Figure 6a A flowchart illustrating the processing logic for initiating drag-and-drop functionality for a thumbnail, as shown in the example.

[0059] Figure 6b This is an illustrative diagram illustrating a scenario where the position of a draggable thumbnail image is automatically adjusted based on the user's press location.

[0060] Figure 6c This is an example of a flowchart illustrating the processing logic for responding to a user dragging a draggable thumbnail image. Detailed Implementation

[0061] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0062] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone.

[0063] The terms "first" and "second," etc., used in the specification and claims of this application are used to distinguish different objects, not to describe a specific order of objects. For example, "first target object" and "second target object," etc., are used to distinguish different target objects, not to describe a specific order of target objects.

[0064] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0065] In the description of the embodiments in this application, unless otherwise stated, "multiple" means two or more. For example, multiple processing units means two or more processing units; multiple systems means two or more systems.

[0066] Figure 1 A schematic diagram of the structure of the electronic device 100 is shown. It should be understood that... Figure 1 The electronic device 100 shown is merely an example of an electronic device, and the electronic device 100 may have more or fewer components than those shown in the figure, may combine two or more components, or may have different component configurations. Figure 1 The various components shown can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits.

[0067] Electronic device 100 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, antenna 1, 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, a headphone jack 170D, a sensor module 180, buttons 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 pressure sensors, gyroscope sensors, barometric pressure sensors, magnetic sensors, accelerometers, distance sensors, proximity sensors, fingerprint sensors, temperature sensors, touch sensors, ambient light sensors, bone conduction sensors, etc.

[0068] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0069] The controller can be the nerve center and command center of the electronic device 100. The controller can generate operation control signals according to the instruction opcode and timing signals to complete the control of fetching and executing instructions.

[0070] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0071] In some embodiments, the processor 110 may include one or more interfaces. Interfaces 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.

[0072] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a structural limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.

[0073] The charging management module 140 receives charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 receives charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 receives wireless charging input via the wireless charging coil of the electronic device 100. While charging the battery 142, the charging management module 140 can also supply power to the electronic device via the power management module 141.

[0074] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.

[0075] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with tuning switches.

[0076] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.

[0077] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. 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 antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.

[0078] Electronic device 100 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU performs mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information. Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel.

[0079] Electronic device 100 can implement shooting functions through ISP, camera 193, video codec, GPU, display 194, and application processor. Camera 193 is used to capture still images or videos. In some embodiments, electronic device 100 may include one or N cameras 193, where N is a positive integer greater than 1.

[0080] Digital signal processors (DSPs) are used to process digital signals. Besides digital image signals, they can also process other digital signals. For example, when electronic device 100 selects a frequency, the DSP can perform Fourier transforms on the frequency energy.

[0081] Video codecs are used to compress or decompress digital video. Electronic device 100 may support one or more video codecs. Thus, electronic device 100 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0082] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.

[0083] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of electronic device 100 by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback function, image playback function, etc.), etc. The data storage area may store data created during the use of electronic device 100 (such as audio data, phone book, etc.). In addition, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Exemplarily, in this embodiment, processor 110 can implement the thumbnail-based data transmission method in this embodiment by running the instructions stored in internal memory 121.

[0084] Electronic device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.

[0085] A pressure sensor is used to sense pressure signals and convert them into electrical signals. In some embodiments, the pressure sensor may be located on the display screen 194. When force is applied to the pressure sensor, the capacitance between the electrodes changes. The electronic device 100 determines the intensity of the pressure based on the change in capacitance. When a touch operation is applied to the display screen 194, the electronic device 100 detects the intensity of the touch operation based on the pressure sensor. The electronic device 100 may also calculate the touch position based on the detection signal from the pressure sensor. In some embodiments, touch operations applied to the same touch position but with different touch operation intensities may correspond to different operation commands. For example, when a touch operation with an intensity less than a first pressure threshold is applied to the SMS application icon, a command to view an SMS message is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to the SMS application icon, a command to create a new SMS message is executed.

[0086] A touch sensor, also known as a "touch panel," can be located on the display screen 194. The touch sensor and display screen 194 together form a touchscreen, also called a "touch screen." The touch sensor detects touch operations applied to or near it. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 194. In some embodiments, the touch sensor 180K may also be located on the surface of the electronic device 100, in a different position than the display screen 194.

[0087] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. Electronic device 100 can receive button input and generate key signal inputs related to user settings and function control of electronic device 100.

[0088] For example, the software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application embodiment uses the layered architecture Android system as an example to illustrate the software structure of electronic device 100.

[0089] Figure 2 This is a software structure block diagram of an electronic device 100 according to an embodiment of this application.

[0090] The layered architecture of the electronic device 100 divides the software into several layers, each with a clear role and division of labor. 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 libraries, and the kernel layer.

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

[0092] like Figure 2 As shown, the application package may include a screenshot application, a screen recording application, a global favorites application, a gallery, a note-taking application, etc. For example, the application package may also include applications for calling, calendar, maps, navigation, music, video, SMS, camera, WLAN, Bluetooth, etc.

[0093] The screenshot / screen recording application can implement the thumbnail-based data transmission method in this embodiment, where the thumbnail can be a screenshot thumbnail or a screen recording video thumbnail. For example, to implement the thumbnail-based data transmission method in this embodiment, the screenshot / screen recording application may include a management module, a thumbnail view object, a long-press listener (OnLongClickListener) object bound to the thumbnail view object, a frame view object, and a drag-and-drop listener (OnDragListener) object bound to the frame view object. The management module can manage the lifecycle of the thumbnail view object, the long-press listener object, the frame view object, and the drag-and-drop listener object. The long-press listener object listens for user long-press operations on the thumbnail view object, and the drag-and-drop listener object listens for user drag-and-drop operations on draggable thumbnail images. In an optional implementation, the drag-and-drop listener object can also be bound to other view objects; this embodiment does not limit this.

[0094] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.

[0095] like Figure 2 As shown, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, etc.

[0096] A view system includes visual controls, such as controls for displaying text and controls for displaying images. View systems can be used to build applications. A display interface can consist of one or more views. For example, after a user takes a screenshot or ends screen recording, a thumbnail view object can be displayed on the interface. In this embodiment, the view system can also be used to construct draggable thumbnail images corresponding to the thumbnail view objects, and to support drag-and-drop operations on the draggable thumbnail images. Furthermore, the view system can be used to bind view objects to listener objects, and to send long-press events from the user to the thumbnail view object to the long-press listener object, and drag-and-drop events from the user to the draggable thumbnail image to the drag-and-drop listener object.

[0097] The window manager is used to manage windowed applications. It can retrieve screen size, determine the presence of a status bar, lock the screen, and capture screenshots, among other things.

[0098] Content providers store and retrieve data, making that data accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.

[0099] The phone manager is used to provide communication functions for electronic device 100. For example, it manages call status (including connection and disconnection).

[0100] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, and more.

[0101] The notification manager allows applications to display notifications in the status bar. These notifications can be used to deliver informational messages and can disappear automatically after a short pause, requiring no user interaction. Examples include notifications of download completion and message alerts. Notifications can also appear as icons or scrolling text in the top status bar, such as notifications from background applications, or as dialog boxes on the screen. Other notification methods include text messages displayed in the status bar, sound alerts, vibrations from electronic devices, and flashing indicator lights.

[0102] The Android Runtime consists of core libraries and a virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.

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

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

[0105] System libraries can include multiple functional modules. For example: surface manager, media libraries, 3D graphics processing libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), etc.

[0106] The Surface Manager is used to manage the display subsystem and provides the blending of 2D and 3D layers for multiple applications.

[0107] The media library supports playback and recording of various common audio and video formats, as well as still image files. It supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.

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

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

[0110] The kernel layer is the layer between hardware and software. The kernel layer includes at least display drivers, Wi-Fi drivers, and sensor drivers.

[0111] Understandable, Figure 2 The layers in the illustrated software structure and the components contained in each layer do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer layers than illustrated, and each layer may include more or fewer components, or combine some components, or split some components, or have different component arrangements.

[0112] It is understood that, in order to implement the data transmission method in the embodiments of this application, the electronic device includes hardware and / or software modules that perform various functions. Based on the algorithmic steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in conjunction with the embodiments, but such implementation should not be considered beyond the scope of this application.

[0113] In addition to basic communication functions, smartphones and other smart devices offer many practical features, such as screenshot and screen recording. When a user takes a screenshot, the screenshot application generates a thumbnail and displays it on the phone's screen. Similarly, when a user finishes recording a screen, the screen recording application generates a thumbnail of the recorded video and displays it on the phone's screen. Figures 3a-3e Examples of application scenarios related to screenshot image thumbnails or screen recording video thumbnails are shown.

[0114] Figure 3a An exemplary diagram illustrates the generation and disappearance of screen recording video thumbnails. (Refer to...) Figure 3a As shown in (1), for example, after the phone starts screen recording, the user performs a click operation in the screen recording prompt control 301 to end the screen recording. Optionally, the user can end the screen recording by clicking a shortcut switch, pressing a combination button, using air gestures, voice control, etc., and this application embodiment does not limit this. In response to the user's operation, the phone ends the screen recording operation, saves the screen recording video, and generates a thumbnail 302 corresponding to the screen recording video, which is displayed on the phone interface, such as... Figure 3a As shown in (2). After displaying the screen recording video thumbnail 302, the screen recording application starts an automatic disappearance timer for the screen recording video thumbnail 302 (the timer duration can be 3s, 5s, etc.). Before the automatic disappearance timer ends, if the user does not perform any operation on the screen recording video thumbnail 302, the phone controls the screen recording video thumbnail 302 to automatically disappear from the phone's display interface, such as... Figure 3a As shown in (3).

[0115] Figure 3b An exemplary diagram illustrates the generation and disappearance of a screenshot thumbnail. (Refer to...) Figure 3b As shown in (1), for example, a user taps the phone screen 311 with their knuckle to trigger a screenshot. Optionally, the user can also trigger the screenshot operation by using air gestures, clicking quick switches, pressing combination keys, etc., which is not limited in this embodiment. In response to the user's operation, the phone captures an image corresponding to the currently displayed interface, saves the screenshot image, and generates a thumbnail 312 corresponding to the screenshot image, which is displayed on the phone screen, such as... Figure 3b As shown in (2). After displaying the screenshot image thumbnail 312, the screenshot application starts an automatic disappearance timer for the screenshot image thumbnail 312 (the timer duration can be 3s, 5s, etc.). Before the automatic disappearance timer ends, if the user does not perform any operation on the screenshot image thumbnail 312, the phone controls the screenshot image thumbnail 312 to automatically disappear from the phone's display interface, such as... Figure 3bAs shown in (3).

[0116] Figure 3c An exemplary scenario is illustrated, involving manipulation of a screenshot image thumbnail. Using a screenshot image thumbnail as an example, refer to... Figure 3c As shown in (1), the user clicks on the screenshot image thumbnail 321. In response to this user action, the phone displays the screenshot image editing interface, as shown in (1). Figure 3c As shown in (2). In this editing interface, users can edit, delete, and perform other operations on the screenshot image.

[0117] Taking a screenshot thumbnail as an example, Figure 3d This example illustrates another scenario involving manipulation of screenshot image thumbnails. (Refer to...) Figure 3d As shown in (1), the user swipes up to capture a thumbnail image 331. In response to this user action, the phone displays a "Share" message 332 at the top of the thumbnail image 331. When the user continues to swipe up and releases their hand (or releases their hand), the phone displays the screenshot sharing interface, which can be referred to as... Figure 3d As shown in (3). In this sharing interface, the user can send the screenshot image 333 corresponding to the screenshot image thumbnail 331 to an application (such as Douyin, Taobao, Memo, Email, etc.), and then the user can perform related operations on the screenshot image 333 through this application (such as sharing with friends, publishing to a platform, storing, printing, etc.).

[0118] Taking a screenshot thumbnail as an example, Figure 3e This example illustrates yet another scenario for manipulating screenshot thumbnails. (Refer to...) Figure 3e As shown in (1), the user swipes down to capture a thumbnail image 341. In response to the user's operation, the phone displays the prompt message "Scrolling screenshot" 342 at the bottom of the screenshot image thumbnail 341. When the user continues to swipe down and releases their hand, if the current screen of the phone supports scrolling down, the current screen of the phone scrolls down and performs a scrolling screenshot operation to obtain the corresponding long screenshot image.

[0119] For screen recording video thumbnails, users can also edit or delete them by clicking, or share them by swiping up. This application embodiment will not elaborate on these aspects.

[0120] This application provides a data transfer method based on long-pressing and dragging thumbnails (screenshot image thumbnails or screen recording video thumbnails), which is simple and convenient to operate, thereby improving the user experience. Specifically, the user long-presses and drags the thumbnail to the target application (or target hotspot) and releases their hand. In response to this user operation, the target application can receive the image or video corresponding to the thumbnail, thus realizing the flow of resource data between applications. It should be noted that the target application refers to an application that can respond to data drag-and-drop operations, such as a global bookmarking application or a note-taking application.

[0121] In this way, after screen recording or screenshotting is completed, when the relevant thumbnail (screen recording video thumbnail or screenshot image thumbnail) is displayed on the mobile phone interface, the user can quickly pass the resource data corresponding to the thumbnail to other applications or services by dragging and dropping the thumbnail on this user interface.

[0122] To enable those skilled in the art to better understand the data transmission method in the embodiments of this application, combined with Figures 4a to 4f The user operation methods are introduced. Specifically, in... Figures 4a to 4f The text uses screen recording video thumbnails as an example to illustrate the long-press and drag functionality of thumbnails.

[0123] like Figure 4a As shown in Figure (1), after the screen recording ends, a screen recording video thumbnail 401 is displayed on the phone screen. The user long-presses the screen recording video thumbnail 401. In response to the user's operation, the screen recording video thumbnail 402 floats up, and the floating screen recording video thumbnail 402 can be dragged by the user. Among them, the "floating" of the screen recording video thumbnail is the user's visual experience of the screen recording video thumbnail following the manual effect (not shown in the figure), just like the screen recording video thumbnail "floating" on the desktop interface. This manual effect is used to prompt the user to drag the screen recording video thumbnail, that is, to prompt the screen recording video thumbnail to follow the user's finger. In order to further improve the user experience, the manual effect can also include two parts of the animation: first, visually floating up the screen recording video thumbnail, and second, moving the position of the screen recording video thumbnail so that the user's finger is in the center area of ​​the screen recording video thumbnail (see the following section about Figure 6b (Related explanation).

[0124] The "floating" animation can be achieved in various ways. For example, it could involve scaling the screen recording video thumbnail 402, adding a shadow to the screen recording video thumbnail 402, adjusting the border of the screen recording video thumbnail 402, or a combination of the above or other methods. To distinguish it from the non-floating screen recording video thumbnail 401 originally displayed on the phone screen, in this embodiment, the floating screen recording video thumbnail that can be dragged by the user is referred to as the screen recording video thumbnail 402. Figure 4a As shown in (2). The screen recording video thumbnail 402 can differ from the screen recording video thumbnail 401 in size, border, shadow, etc. (not shown in the figure). Continue to refer to... Figure 4a In (3) and (4), users can drag and drop the screen recording video thumbnail 402 anywhere on the mobile phone display interface.

[0125] It should be noted that the "screen recording video thumbnail popping up" mentioned in the other attached images below can be referred to in the relevant explanation in the previous paragraph, and will not be repeated hereafter.

[0126] In one implementation, when the target application is displayed as a floating ball, it can respond to data drag-and-drop operations. The following example illustrates how dragging a screen recording video thumbnail to the floating ball of a globally favorited application will save the screen recording video corresponding to that thumbnail to the globally favorited application. It is understandable that the screen recording video corresponding to the thumbnail is the same as the screen recording video described by the thumbnail.

[0127] Continue to refer to Figure 4b As shown in (1), when the user drags the screen recording video thumbnail 402, since the global collection application can respond to the data dragging and passing operation, the floating ball icon of the global collection application changes from a folded floating ball 403 (see Figure 1). Figure 4a As shown in (1), it transforms into an expanded floating ball 404. To provide user feedback, the expanded floating ball 404 displays the message "Drag here." (Continue referring to...) Figure 4b In step (2), the user continues to drag the screen recording video thumbnail 402 to the floating ball of the global collection application. That is, the screen recording video thumbnail 402 is dragged into the hot zone area corresponding to the floating ball of the global collection application. In response to the user's operation, the prompt message on the floating ball of the global collection application changes to "Raise to collect", as shown in the expanded floating ball 405. After the user drags the screen recording video thumbnail 402 to the expanded floating ball 405, the user releases their hand (that is, the finger leaves the phone screen). In response to the user's release operation, the screen recording video thumbnail 402 disappears from the interface (or is canceled from display), and the phone transmits the screen recording video corresponding to the screen recording video thumbnail 402 to the global collection application. The global collection application receives the screen recording video corresponding to the screen recording video thumbnail 402 and adds the screen recording video to the global collection application. The prompt message on the floating ball of the global collection application changes to "Collection successful", which can be seen in the following example. Figure 4b The expanded floating ball 406 is displayed in the middle (3) interface. At this point, the screen recording video corresponding to the screen recording video thumbnail 402 has completed data transfer. That is, the user drags the screen recording video thumbnail 402 to transfer the corresponding screen recording video to the global collection application. At this time, the floating ball of the global collection application can be restored to its collapsed state, which can be referenced... Figure 4bThe folded floating ball 407 is displayed on the interface (4). Since the screen recording video corresponding to the screen recording video thumbnail 402 has been collected in the global collection application, when the user clicks the application icon 408 of the global collection application to open the global collection application, the user can view the screen recording video corresponding to the screen recording video thumbnail 402 in the relevant interface of the global collection application.

[0128] Optionally, if the phone does not have a global favorites app installed, and the user drags the screen recording video thumbnail 402 into the hotspot area corresponding to the floating ball in the notes app (or the hotspot area corresponding to the notes app) and releases it, the screen recording video corresponding to the thumbnail 402 will be transferred to the notes app in response to the user's action, and the screen recording video thumbnail 402 will disappear from the interface. Thus, when the user opens the notes app, they can view the screen recording video corresponding to the thumbnail 402 in the relevant interface of the notes app.

[0129] It should be noted that the disappearance of the screen recording video thumbnail 402 from the interface can be understood as the phone canceling the display of the screen recording video thumbnail 402.

[0130] In one implementation, when the target application opens and displays its application interface (e.g., an editable interface), it can respond to data drag-and-drop operations. The following example illustrates how a user drags a screen recording video thumbnail to the editable interface of a note-taking application to add the corresponding screen recording video to the notes.

[0131] like Figure 4c As shown in (1), after the screen recording ends, a thumbnail of the screen recording video 411 is displayed on the phone screen. Continue to refer to... Figure 4c As shown in (1), while the screen recording video thumbnail 411 is displayed, the mobile phone interface is an editable interface of the note-taking application. The user can open the editable interface of the note-taking application either before or after the screen recording ends but before the screen recording video thumbnail 411 disappears; this embodiment does not limit this. (Continue referring to...) Figure 4c As shown in (1), the user long-presses the screen recording video thumbnail 411. In response to this user operation, the screen recording video thumbnail 412 floats up, and the floated screen recording video thumbnail 412 can be dragged by the user. In order to distinguish it from the screen recording video thumbnail 411 that is not floated up and is originally displayed on the mobile phone interface, in this embodiment, the screen recording video thumbnail that is floated up and can be dragged by the user is referred to as the screen recording video thumbnail 412, as shown in (1). Figure 4c As shown in (2). Continue to refer to Figure 4cIn steps (2) and (3), the user can drag and drop the screen recording video thumbnail 412 anywhere on the phone's display interface 413 (i.e., the editable interface of the note-taking application). For example, the user can drag the screen recording video thumbnail 412 to the editable area of ​​the note-taking application's editable interface and then release it. In response to this user operation, the screen recording video thumbnail 412 disappears from the interface (or is de-displayed), the phone transmits the screen recording video corresponding to the screen recording video thumbnail 412 to the note-taking application, the note-taking application receives the screen recording video 414 corresponding to the screen recording video thumbnail 412, and adds the screen recording video 414 to the editable interface 415 of the note-taking application, such as... Figure 4c As shown in (4). At this point, the screen recording video corresponding to the screen recording video thumbnail 412 has completed data transfer. That is, the user transfers the corresponding screen recording video to the note-taking application by dragging and dropping the screen recording video thumbnail 412. Continue referring to... Figure 4c In (4), if the user clicks the switch control 416 of the screen recording video 414, the note-taking application can call the relevant video player to play the screen recording video 414 in response to the user's operation.

[0132] In one implementation, the target application resides on the desktop and is triggered by relevant operations (such as drag-and-drop). It acts as a data transfer intermediary and can also respond to drag-and-drop data transfer operations. The following example illustrates how a user drags a screen recording video thumbnail to a designated application, which then transfers the corresponding screen recording video to a video sharing application. Here, the designated application can be understood as a data transfer intermediary, capable of passing received data to applications or applications already registered within that application. It's understandable that the applications or applications displayed in the designated application's interface are those already registered within that application.

[0133] like Figure 4d As shown in (1), after the screen recording ends, a screen recording video thumbnail 421 is displayed on the mobile phone interface. The user long-presses the screen recording video thumbnail 421. In response to the user's operation, the screen recording video thumbnail 422 floats up, and the floated screen recording video thumbnail 422 can be dragged by the user. In order to distinguish it from the original screen recording video thumbnail 421 that is not floated up in the mobile phone interface, in this embodiment, the screen recording video thumbnail that is floated up and can be dragged by the user is called the screen recording video thumbnail 422, as shown in (1). Figure 4dAs shown in (2). Users can drag and drop the screen recording video thumbnail 422 anywhere on the phone's display screen. For example, users can drag resource data (such as image data, video data, file data, text data, etc.) to a hotspot at a preset location on the phone's desktop (e.g., a hotspot set on the right edge of the desktop, or a hotspot set on the left edge of the desktop) to trigger the opening of a specified application. For example, as shown in (2). Figure 4d As shown in (3), the user drags the screen recording video thumbnail 422 to the hot area on the right edge of the phone's desktop. In response to this user action, the specified application is opened, and the phone displays the interface of the specified application. (See reference...) Figure 4d The interface shown in (4) is shown in the figure. At this time, the user can drag the screen recording video thumbnail 422 to any of the service icons displayed in the specified application interface. The service icon may be the same as or different from the application icon of the application to which the service belongs. This embodiment does not limit this. If a video sharing application registers multiple services to a specified application, the service icon corresponding to each service can be displayed in the interface of the specified application. For example, if the "Share with Friends" service and the "Publish to XX Platform" service of a video sharing application are both registered to the specified application, the service icon 1 corresponding to the "Share with Friends" service and the service icon 2 corresponding to the "Publish to XX Platform" service will be displayed in the interface of the specified application. The icon images of service icon 1 and service icon 2 may be the same or different. This embodiment does not limit this.

[0134] Continue to refer to Figure 4e As shown in (1), the user drags the screen recording video thumbnail 422 to the specified application interface. For a better visual experience, the size of the screen recording video thumbnail 422 can be reduced so that the screen recording video thumbnail can be fully displayed in the specified application interface, as shown in screen recording video thumbnail 423. Continue to refer to Figure 4eAs shown in Figure (2), the user drags the screen recording video thumbnail 423 onto the service icon corresponding to the "Share with Friends" service in a video sharing application. That is, the screen recording video thumbnail 423 is dragged by the user into the hot zone of the "Share with Friends" service icon. For example, in response to this user operation, the "Share with Friends" service icon enlarges to indicate to the user that the application service for receiving video data has been selected. After the user drags the screen recording video thumbnail 423 onto the "Share with Friends" service icon in the specified application interface, the user releases their hand. In response to the user's release operation, the screen recording video thumbnail 423 disappears from the interface (or is canceled from display), and the mobile phone sends the screen recording video corresponding to the screen recording video thumbnail 423 to the specified application. The specified application receives the screen recording video corresponding to the screen recording video thumbnail 423 and passes the screen recording video to the "Share with Friends" service in a video sharing application. At this point, the screen recording video corresponding to the screen recording video thumbnail 423 has completed data transmission. In other words, by dragging and dropping the screen recording video thumbnail 423, the user passes the corresponding screen recording video to the "Share with Friends" function in a video sharing application. For example, after the user releases their hand, the phone screen can redirect to the "Share with Friends" interface of the video sharing application, as shown in the example. Figure 4e As shown in (3). Continue to refer to Figure 4e In the “Share with Friends” service interface of the video sharing application, a screen recording video corresponding to the screen recording video thumbnail 423 is displayed. Users can play the screen recording video on this interface or share the screen recording video with one or more selected friends.

[0135] For example, when a user drags the screen recording video thumbnail 423 onto another service icon (such as the global favorites application icon) within a specified application and releases their hand, the screen recording video thumbnail 423 disappears from the interface (or is de-displayed). The phone may also display a message such as "Successfully favorited" or "Successfully transferred" to inform the user that the video data transmission has been completed and exit the specified application's interface. That is, the changes to the phone's interface after the user completes the drag-and-drop operation of the screen recording video thumbnail and releases their hand depend on the recipient of the screen recording video data; this embodiment does not limit this aspect.

[0136] In summary, when a user drags and drops a screen recording video thumbnail or a screenshot thumbnail, if a target application can respond to the data drag-and-drop operation, the user can release their hand at the relevant interface of the target application, and the screen recording video thumbnail or screenshot thumbnail will disappear from the interface, thus realizing the transfer of video data or image data corresponding to the thumbnail to the target application.

[0137] It should be noted that while the screen recording video thumbnail or screenshot thumbnail is being dragged, the thumbnail is not displayed in the original position where it was initially shown on the phone's screen. Figures 4d-4e Taking the scenario shown as an example, when the screen recording video thumbnail 422 is dragged, as shown... Figure 4d As shown in (3), the thumbnail of the screen recording video 421 (or screen recording video 422) is initially displayed in the area 423, but no thumbnail is displayed. Figures 4a-4b The screen recording video thumbnail dragging scene shown, and Figure 4c The same applies to the screen recording video thumbnail dragging scenario shown, so I won't go into details here.

[0138] It should be noted that when a user starts dragging a screen recording video thumbnail or a screenshot image thumbnail, the screen recording application cancels the automatic disappearance timer for dragging the screen recording video thumbnail, or the screenshot application cancels the automatic disappearance timer for the screenshot image thumbnail, in order to prevent the screen recording video thumbnail or screenshot image thumbnail from being destroyed during the dragging process.

[0139] It should also be noted that when a user drags and drops a screen recording video thumbnail or a screenshot thumbnail, if the target application can respond to the data drag-and-drop operation but cannot currently affect the data drag-and-drop operation due to permission issues, then when the user releases their hand at the relevant interface of the target application, the phone can display a relevant prompt box to guide the user to resolve the permission issues. After the permission issues are resolved, the operation of transferring the resource data corresponding to the thumbnail will continue. If the permission issue is not resolved or the user refuses to resolve it, it indicates that the resource data corresponding to the thumbnail cannot be successfully transferred, and the phone will reset the corresponding thumbnail display. For an explanation regarding the thumbnail reset display, please refer to the following text.

[0140] When a user drags and drops a screen recording video thumbnail or screenshot thumbnail, if the target application cannot respond to the drag-and-drop operation, the screen recording video thumbnail will reset and display in response to the user releasing their hand at the relevant interface of the target application. If the target application can respond to the drag-and-drop operation, the screen recording video thumbnail will also reset and display in response to the user releasing their hand if they release their hand in a non-hotspot area of ​​the target application. In other words, if the user drags the screen recording video thumbnail to any non-hotspot area and releases their hand, the screen recording video thumbnail will reset and display in response to the user releasing their hand.

[0141] Figure 4f An exemplary diagram illustrates a scenario where the screen recording video thumbnail is dragged and dropped to reset its display. For example... Figure 4fAs shown in (1), after the screen recording ends, a screen recording video thumbnail 431 is displayed in the lower left corner of the phone screen. The user long-presses the screen recording video thumbnail 431. In response to the user's operation, the screen recording video thumbnail floats up, and the floated screen recording video thumbnail can be dragged by the user. In order to distinguish it from the original screen recording video thumbnail 431 that is not floated up in the phone screen, in this embodiment, the screen recording video thumbnail that is floated up and can be dragged by the user is called the screen recording video thumbnail 432, as shown in the figure. Figure 4f As shown in (2). Continue to refer to Figure 4f In step (3), the user drags the screen recording video thumbnail 432 onto the music application icon and releases their hand. Since the music application cannot respond to data drag-and-drop operations, the screen recording application responds to the user's release operation and restores the screen recording video thumbnail display. When restoring the screen recording video thumbnail display, the floating and draggable screen recording video thumbnail 432 is moved back to its initial position and disappears, while the non-floating and non-draggable screen recording video thumbnail 431 is re-displayed. (See reference...) Figure 4f As shown in (4). This is understandable. Figure 4f The screen recording video thumbnail shown in (4) is similar to... Figure 4f The screen recording video thumbnails shown in (1) are the same.

[0142] It should be noted that after the screen recording video thumbnail or screenshot image thumbnail is reset and displayed, the screen recording application will restart the automatic disappearance timer for the screen recording video thumbnail, or the screenshot application will restart the automatic disappearance timer for the screenshot image thumbnail.

[0143] As an optional implementation, after the user begins dragging the screen recording video thumbnail or screenshot thumbnail, the phone displays a frame (or wireframe, etc.) at the original display position of the thumbnail. This frame can be used to indicate the starting drag area of ​​the thumbnail image, visually prompting the user to stop dragging the thumbnail within the frame area and release their hand to cancel the thumbnail dragging operation. The shape of the frame can be the same as or different from the thumbnail shape; this embodiment does not limit this. The size of the frame can be the same as or different from the thumbnail size (e.g., the frame size is smaller than the thumbnail size); this embodiment also does not limit this.

[0144] If a user drags the screen recording video thumbnail (or screenshot thumbnail) into the framed area and releases their hand to cancel the thumbnail dragging operation, the screen recording app (or screenshot app) responds to this user action by resetting the screen recording video thumbnail (or screenshot thumbnail) display. After the screen recording video thumbnail (or screenshot thumbnail) is reset, the screen recording app (or screenshot app) restarts the automatic disappearance timer for the screen recording video thumbnail (or screenshot thumbnail). Before the automatic disappearance timer ends (i.e., before the thumbnail disappears), the user can trigger the thumbnail draggable function again by long-pressing.

[0145] like Figure 4g As shown in (1), after the screen recording ends, a screen recording video thumbnail 441 is displayed in the lower left corner of the phone screen. The user long-presses the screen recording video thumbnail 441. In response to the user's operation, the screen recording video thumbnail floats up, and the floated screen recording video thumbnail can be dragged by the user. In order to distinguish it from the original screen recording video thumbnail 441 that is not floated up in the phone screen, in this embodiment, the screen recording video thumbnail that is floated up and can be dragged by the user is called the screen recording video thumbnail 442, as shown in the figure. Figure 4g As shown in (2). Continue to refer to Figure 4g In step (3), the user begins to drag the screen recording video thumbnail 442. In response to the user's dragging operation, the phone displays a frame 443 at the original position of the screen recording video thumbnail 442. The shape of the frame 443 can be the same as the shape of the screen recording video thumbnail 442, both being rectangles. Alternatively, the shape of the frame 443 can be the same as the shape of the screen recording video thumbnail 442, such as a square or circle; this embodiment does not limit this. The size of the frame 443 can be the same as the size of the screen recording video thumbnail 442, or it can be different (for example, the size of the frame 443 is slightly smaller than the size of the screen recording video thumbnail 442); this embodiment does not limit this. The frame 443 can be used to prompt the user to stop dragging the thumbnail within the frame area and release the hand to cancel the thumbnail dragging operation. (Continue referring to...) Figure 4g In step (4), the user continues to drag the screen recording video thumbnail 442 away from its original position. If the screen recording video thumbnail 442 and the frame 443 no longer intersect, the phone will cancel the display of the frame 443. Continue to refer to Figure 4hThe user drags the screen recording video thumbnail 442 back to its original position. If the thumbnail 442 and the frame 443 overlap, the phone redisplays the frame 443, prompting the user to stop dragging the thumbnail 442 within the frame 443 area and release their hand to cancel the thumbnail dragging operation. If the user stops dragging the thumbnail 442 within the frame 443 area and releases their hand, the phone will reset the display of the screen recording video thumbnail 442 in response to the user's operation. (See also...) Figure 4g As shown in (1).

[0146] In order for electronic devices to achieve the aforementioned data transfer function based on thumbnail long press and drag, Figure 5 An exemplary diagram illustrating the module interaction flow of an electronic device is provided. Figure 5 As shown, the data transmission method provided in this application embodiment may include the following steps:

[0147] S501, in response to the user's screenshot operation or the end of screen recording operation, the management module in the screenshot application (or screen recording application) generates a thumbnail view object corresponding to the screenshot image (or screen recording video), and starts an automatic disappearance timer for the thumbnail view object.

[0148] For example, a screenshot operation could be a double-tap of the screen with a knuckle, a tap of a shortcut switch, or a press of a combination of keys. In response to the user's screenshot operation, the screenshot application stores the screenshot image in the gallery application and generates a thumbnail view object corresponding to the screenshot image. This thumbnail view object is displayed on the current display screen of the electronic device, for example, in the lower left corner of the current display screen. Figure 3b As shown in (2).

[0149] For example, ending screen recording can be done by clicking the screen recording prompt control (such as...). Figure 3a As shown in (1), it can also be an operation such as clicking a shortcut switch or pressing a combination key. In response to the user's operation to end screen recording, the screen recording application stores the screen recording video in the gallery application and generates a thumbnail view object corresponding to the screen recording video. The thumbnail view object is displayed on the current display interface of the electronic device, for example, in the lower left corner of the current display interface of the electronic device. You can refer to Figure 3a As shown in (2).

[0150] In the following process, the thumbnail view object can refer to either a screenshot image thumbnail view object or a screen recording video thumbnail view object. After any type of thumbnail view object is displayed on the current screen of the electronic device, the management module of the corresponding application starts an automatic disappearance timer for that thumbnail view object. If the user does not perform any operation on the thumbnail view object before the automatic disappearance timer ends, the management module destroys the thumbnail view object, and the thumbnail view object automatically disappears from the electronic device's display screen. (See also...) Figure 3a (3) or Figure 3b As shown in (3).

[0151] S502, the management module constructs a long press listener object and binds the long press listener object to the thumbnail view object.

[0152] After generating the thumbnail view object, the management module constructs a long-press listener (On LongClickListener) object for the thumbnail view object, and the OnLongClickListener object can be bound to the thumbnail view object through the setOnLongClickListener(@NullableOnLongClickListener) method.

[0153] S503 In response to the user's long press operation on the thumbnail view object, the view system sends a long press event to the long press listener object and calls the long press drag method in the long press listener object.

[0154] When the user long-presses the thumbnail view object (for example, you can refer to...), Figure 4a When the user interacts with the view system (as shown in (1)), the view system sends a long press event to the OnLongClickListener object bound to the thumbnail view object and calls the long press drag (onLongClick(View v)) method in the OnLongClickListener object to execute the thumbnail start drag logic.

[0155] In this embodiment, the logic for initiating thumbnail dragging is defined in the onLongClick(View v) method of the OnLongClickListener object. (See also...) Figure 6a As shown, the processing logic for initiating thumbnail dragging is as follows: reset the thumbnail view object, create a draggable thumbnail image, initiate thumbnail dragging, and hide the thumbnail view object. A detailed explanation of this processing logic can be found in the relevant steps S504-S509 below, and will not be repeated here.

[0156] S504: Long press the listener object to reset the thumbnail view object.

[0157] Considering that users may move the thumbnail view object while long-pressing it, such as by swiping up or down (see reference...), Figure 3d , Figure 3e Therefore, in order to be compatible with the swipe-up sharing scenario for thumbnails and the swipe-down screenshot scenario, this embodiment needs to reset the thumbnail view object before starting the drag-and-drop of the thumbnail, so that the position of the subsequently created draggable thumbnail image will not be shifted.

[0158] Long-pressing the listener object resets the thumbnail view object, which means restoring the thumbnail view object to its initial position. This initial position is the position where the thumbnail view object was initially displayed after being generated by the screen recording or screenshot application.

[0159] For example, a long press listener object can call the updateView Layout method provided by the WindowManager to reset the layout of the thumbnail view object to its initial position.

[0160] As an optional implementation, S504 can also be adjusted as follows: A long press on the listener object sends an instruction to the management module to reset the thumbnail view object; the management module then resets the thumbnail view object according to the instruction. Specifically, the management module can call the updateViewLayout method provided by the WindowManager to reset the layout of the thumbnail view object, thus restoring it to its initial position.

[0161] S505: Long press the listener object and create a DragShadowBuilder object with the thumbnail image as a parameter.

[0162] Since thumbnail view objects are not images that support the standard drag-and-drop functionality of the Android system, in order to implement the thumbnail drag-and-drop scenario described above, it is necessary to create thumbnail images that support the standard drag-and-drop functionality of the Android system (referred to as draggable thumbnail images). To avoid affecting the user's visual experience, the draggable thumbnail image needs to use the image corresponding to the thumbnail view object as a parameter, so that the draggable thumbnail image and the thumbnail view object have no visual difference for the user.

[0163] In this embodiment, the long-press listener object creates a DragShadowBuilder object defined by the view system to generate a draggable thumbnail image through the view system. The creation parameter of the DragShadowBuilder object is the thumbnail image. The DragShadowBuilder object can be used to generate a DragShadow object, which is a standard draggable image in the Android system and can follow the user's finger movement.

[0164] In this embodiment, the DragShadow object generated by the DragShadowBuilder object is the draggable thumbnail image corresponding to the thumbnail view object. The DragShadow object can be understood as a projection of the thumbnail view object; the DragShadow object and the thumbnail view object have the same image and visual effect.

[0165] It's important to note that the initial display position of the draggable thumbnail image can be the position that the thumbnail view object has been reset to; that is, the initial layout positions of the DragShadow object and the thumbnail view object are consistent. Therefore, the user's visual experience perceives dragging the original thumbnail (i.e., the thumbnail view object).

[0166] S506: Long press the listener object to create a drag-and-drop supported data structure object, and fill in the URI (Uniform Resource Identifier) ​​of the resource corresponding to the thumbnail view object.

[0167] The data structure object is used to store the data to be transmitted. In this embodiment, the data structure object is used to store the URI of the resource corresponding to the thumbnail view object. When the thumbnail view object is a screenshot image thumbnail view object, the resource corresponding to the thumbnail view object is the screenshot image; when the thumbnail view object is a screen recording video thumbnail view object, the resource corresponding to the thumbnail view object is the screen recording video.

[0168] For example, a data structure object can be a ClipData object.

[0169] S507: Long press the listener object to call the startDragAndDrop method to initiate dragging of the draggable thumbnail image.

[0170] In this embodiment, the dragging method for draggable thumbnail images employs a data-carrying dragging method. Specifically, the data carried by the draggable image can be transmitted across processes. In this embodiment, this specifically refers to the ability of the resources carried by the draggable thumbnail image (i.e., screenshot image data or screen recording video data) to be transmitted across processes.

[0171] For example, a long press listener object can call the startDragAndDrop method provided by the view system to initiate dragging of the draggable thumbnail image. The startDragAndDrop method takes a DragShadowBuilder object and a ClipData object as parameters.

[0172] At this point, the screenshot / screen recording application has completed the preparation work corresponding to the thumbnail image drag function. The implementation of the subsequent thumbnail image drag function will be completed by the view system.

[0173] S508, the View system executes the startDragAndDrop method to initiate drag functionality for draggable thumbnail images and returns the call result to the long press listener object.

[0174] When a long-press listener object is invoked, the view system executes the `startDragAndDrop` method, thus initiating drag-and-drop functionality for draggable thumbnail images that supports data transfer. During the execution of the `startDragAndDrop` method, the view system uses a `DragShadowBuilder` object to generate a `DragShadow` object, which is essentially a draggable thumbnail image. After the view system executes the `startDragAndDrop` method, the user can drag and drop the draggable thumbnail image and transfer resource data through dragging. For example, refer to... Figures 4a-4b As shown.

[0175] For example, the result of the call can be used to indicate whether the startDragAndDrop method was executed successfully, or whether the startDragAndDrop method was called successfully, etc.

[0176] After the view system executes the `startDragAndDrop` method, it displays a follow-up effect of draggable thumbnail images, that is, the thumbnail images float up as described above. This is understandable. Figure 4a , Figure 4b The screen recording video thumbnail 402 shown is the draggable thumbnail image mentioned in this process, and the screen recording video thumbnail 401 is the thumbnail view object mentioned in this process. Similarly, Figure 4cThe screen recording video thumbnail 412 shown is the draggable thumbnail image mentioned in this process, and the screen recording video thumbnail 411 is the thumbnail view object mentioned in this process. The same applies to the other attached figures, and will not be repeated here.

[0177] S509: Long press the listener object to hide the thumbnail view object.

[0178] In the embodiment of the application, when the user drags the thumbnail image, the thumbnail image is no longer displayed at the initial position of the thumbnail image. Therefore, after creating the draggable thumbnail image, long-pressing the listener object can hide the thumbnail view object, and the thumbnail view object will no longer be displayed while the draggable thumbnail image is being dragged by the user.

[0179] Optionally, the long-press listener object can hide the thumbnail view object by setting its opacity. For example, the long-press listener object can use the function setAlpha(0) to set the opacity of the thumbnail view object to 0, that is, the thumbnail view object is set to a fully transparent state.

[0180] Optionally, the long-press listener object can hide the thumbnail view object by setting its visibility. For example, the long-press listener object can use the function setVisibility(View.GONE) to set the visibility of the thumbnail view object to invisible.

[0181] Optionally, the long-press listener object can hide the thumbnail view object by adjusting its size. For example, the long-press listener object can call the `updateViewLayout` method provided by the WindowManager to set both the width and height of the thumbnail view object to 0, making it invisible. Before adjusting the size of the thumbnail view object, the original dimensions of the thumbnail view object need to be recorded so that its size can be restored later.

[0182] As an optional implementation, S509 can also be adjusted as follows: A long press on the listener object sends an instruction to the management module to hide the thumbnail view object; the management module then hides the thumbnail view object according to the instruction. The management module can hide the thumbnail view object by setting its transparency, visibility, or adjusting its size.

[0183] This embodiment does not limit the timing of S508 and S509.

[0184] It should be noted that since the draggable thumbnail image is a DragShadow object corresponding to the thumbnail view object, the initial display position of the draggable thumbnail image is the same as the initial position after the thumbnail view object is reset. After the thumbnail view object is hidden, if the draggable thumbnail image is moved or dragged by the user, no thumbnail image will be displayed at the initial display position.

[0185] As an alternative implementation, after the view system generates and displays the draggable thumbnail image, the view system can adjust the display position of the draggable thumbnail image based on the user's pressing position, so that the user's pressing position is located in the center area of ​​the draggable thumbnail image. For example, the display position of the draggable thumbnail image can be adjusted so that the user's pressing position is the center point of the draggable thumbnail image.

[0186] like Figure 6b As shown in (1), after screen recording ends, a screen recording video thumbnail 601 (i.e., a thumbnail view object) is displayed on the phone screen. The user long-presses the screen recording video thumbnail 601. In response to this user operation, the view system generates a draggable screen recording video thumbnail 602 at the same position as the screen recording video thumbnail 601. The screen recording video thumbnail 602 floats up to prompt the user to drag the screen recording video thumbnail 602. Continue to refer to Figure 6b As shown in (2), since the user's pressing position is not located in the center area of ​​the screen recording video thumbnail 602, the user's visual experience of dragging the screen recording video thumbnail 602 is poor. At this time, the view system can automatically adjust the display position of the screen recording video thumbnail 602 according to the user's pressing position, so that the user's pressing position can be located in the center area of ​​the screen recording video thumbnail 602, such as... Figure 6b As shown in (3). Among them, by Figure 6b Middle (2) to Figure 6b The adjustment process of the screen recording video thumbnail 602 shown in (3) can be displayed through a position movement animation to avoid the screen recording video thumbnail 602 shifting instantaneously and affecting the user's visual experience. It should be noted that you can refer to Figure 6b As shown in (3), since the screen recording video thumbnail 601 has been hidden, there is no thumbnail image displayed at the initial display position of the screen recording video thumbnail 602. At the same time, since the screen recording video thumbnail 602 and the frame 603 have an intersection, the frame 603 is shown in an opaque form.

[0187] contrast Figure 6b Zhong (2) and Figure 6bAs can be seen from (3), compared to dragging the screen recording video thumbnail at the edge of the screen recording video thumbnail 602, the user experience of dragging it at the center of the screen recording video thumbnail 602 is better.

[0188] S510: Long press the listener object to send a thumbnail drag-and-drop instruction to the management module.

[0189] The thumbnail drag-and-drop indicator information can be used to indicate that the drag-and-drop function of the draggable thumbnail image has been activated, and users can drag and drop the draggable thumbnail image.

[0190] S511, the management module generates a view object for the drawing frame.

[0191] After the drag-and-drop functionality for thumbnail images is activated, the management module creates a frame view object corresponding to the thumbnail image at the initial position of the thumbnail view object. The frame view object can be referenced, for example... Figure 4g The figure in (3) is shown in frame 443.

[0192] The shape of the view object can be the same as or different from the shape of the thumbnail; this embodiment does not limit this. The size of the view object can be the same as or different from the size of the thumbnail (for example, the size of the view object is smaller than the size of the thumbnail); this embodiment also does not limit this.

[0193] In this embodiment, the view object can be used to visually prompt the user, indicating that the user can stop dragging the thumbnail within the view area and release the hand to cancel the thumbnail dragging operation.

[0194] Optionally, the management module may also pre-generate the frame view object when generating the thumbnail view object. In this embodiment, the timing of generating the frame view object is not limited.

[0195] As an optional implementation, the size of the frame view object is always the same as that of the thumbnail view object. When the management module hides the thumbnail view object by adjusting its size, the management module also adjusts the size of the frame view object accordingly to hide it.

[0196] In this way, if Figure 4d , Figure 4e If the launch hotspot of the specified application is set in the left edge area of ​​the desktop, then hiding the view object will not affect the launch of the specified application.

[0197] In S512, the management module constructs a drag-and-drop listener object and binds the drag-and-drop listener object to the view object.

[0198] The drag-and-drop listener (OnDragListener) object, also known as the drag (or drag) listener object, is used to listen for the user's dragging action (or dragging action) on the draggable thumbnail image.

[0199] In this embodiment, the management module constructs an OnDragListener object, which can be bound to the view object using the setOnDragListener(OnDragListener l) method. In this way, the view object not only serves as a visual cue but also technically detects drag events.

[0200] Optionally, the OnDragListener object constructed by the management module can also be bound to other view objects; this embodiment does not limit this.

[0201] S513 In response to a user's drag operation on a draggable thumbnail image, the view system dispatches a drag event to the drag-and-drop listener object and calls the action response method in the drag-and-drop listener object.

[0202] When the user drags a draggable thumbnail image (e.g., a reference image), Figure 4a (3) and (4) Figure 4b In (1) and (2)), in response to user operation, the view system dispatches drag events to the OnDragListener object and calls the action response (onDrag(View, DragEvent)) method in the OnDragListener object to respond to the user's drag / drop operation.

[0203] In this embodiment, the processing logic for responding to the user dragging a draggable thumbnail image is defined in the `(onDrag(View, DragEvent))` method of the `OnDragListener` object. See also... Figure 6c As shown, the processing logic for responding to user drag / drop of draggable thumbnail images is as follows: The operation type of the user's action is obtained, and the user's action is responded to according to the operation type. Specifically, when the operation type indicates the start of a drag action, the automatic disappearance timer for the thumbnail view object is canceled; when the operation type indicates the user releases their hand and the drag action ends, it is further determined whether the resource data carried by the draggable thumbnail image has been processed. If the resource data has been processed, the thumbnail view object is destroyed; otherwise, the hiding of the thumbnail view object is canceled, and the automatic disappearance timer for the thumbnail view object is restarted.

[0204] When the management module does not adjust the size of the frame view object, if the operation type indicates that the draggable thumbnail image intersects with the frame view object (i.e., the thumbnail image can be dragged into the area corresponding to the frame view object), the frame view object is set to opaque; if the operation type indicates that the draggable thumbnail image leaves the area corresponding to the frame view object and does not intersect with the frame view object, the frame view object is set to transparent.

[0205] For a detailed explanation of these processing logics, please refer to the relevant steps S515-S523 below, which will not be repeated here.

[0206] The embodiments of this application do not limit the timing of S513 and S514-S520.

[0207] S514, in response to the user's drag-and-drop operation on the draggable thumbnail image, the view system implements drag / drop functionality carrying resource data for the draggable thumbnail image.

[0208] Specifically, when a user drags a draggable thumbnail image, the view system can implement a drag-and-drop function that carries resource data for the draggable thumbnail image, thus achieving the technical effect of draggable images and data transfer.

[0209] When a user drags a draggable thumbnail image without releasing their finger, the view system uses the Android drag-and-drop framework to make the image follow the user's finger. When the user releases their finger, the view system uses the Android drag-and-drop framework to determine if the resource data carried by the draggable thumbnail image can be processed, i.e., whether it can be passed to the target application. If the target application at the point where the user released their finger can respond to the drag data transfer, the view system uses the Android drag-and-drop framework to pass the resource data carried by the draggable thumbnail image to the target application, and the resource data carried by the draggable thumbnail image is processed; otherwise, the resource data carried by the draggable thumbnail image is not processed.

[0210] Among them, the Android system drag and drop framework is a native technology of the Android system. Applications can implement drag and drop functions that carry resource data by calling or accessing the Android system drag and drop framework.

[0211] After passing the resource data carried by the draggable thumbnail image to the target application, the view system can destroy the draggable thumbnail image. When the user releases their hand to end the drag operation, if the resource data carried by the draggable thumbnail image has not been processed, the view system can destroy it after resetting the draggable thumbnail image (i.e., restoring the draggable thumbnail image to its initial position). Optionally, when the user releases their hand to end the drag operation, if the resource data carried by the draggable thumbnail image has not been processed, the view system can also directly destroy the draggable thumbnail image.

[0212] Understandably, once the user releases their hand, the drag-and-drop operation is complete, and the view system can destroy the DragShadowBuilder and ClipData objects. When the user long-presses the thumbnail view object again, the long-press listener object can recreate the DragShadowBuilder and ClipData objects based on the thumbnail view object, which will then be used as parameters for the startDragAndDrop method provided by the view system.

[0213] S515, the drag and drop listener object obtains the drag event operation type as drag start, and executes S516.

[0214] When the drag and drop listener object executes the action response method, it first obtains the operation type of the drag event, that is, obtains the user's operation type, and then executes the corresponding operation based on the obtained operation type and the preset logic.

[0215] For example, when the action type is defined by the view system, the drag and drop listener object can use the dragEvent.getAction() method to get the action type of the user action.

[0216] For example, the operation type "DragEvent.ACTION_DRAG_STARTED" indicates that a drag action has begun. When the drag and drop listener object receives a drag event with the operation type "DragEvent.ACTION_DRAG_STARTED", it determines that the user has started dragging the draggable thumbnail image.

[0217] S516, Drag and drop listener objects cancel the automatic disappearance timer for thumbnail view objects.

[0218] To prevent the thumbnail view object from disappearing automatically while the user is dragging the draggable thumbnail image, the automatic disappearance timer for the thumbnail view object is first canceled when the user starts dragging the draggable thumbnail image.

[0219] In this embodiment, the drag-and-drop listener object can directly cancel the automatic disappearance timer for the thumbnail view object, or it can send an instruction message to the management module to instruct the management module to cancel the automatic disappearance timer for the thumbnail view object. The management module will cancel the automatic disappearance timer for the thumbnail view object according to the instruction message. This embodiment does not limit this.

[0220] S517, the drag and drop listener object obtains the drag event operation type as entering or leaving the drawing frame, and executes S518.

[0221] S518, drag and drop listener objects to adjust the transparency of the frame view object.

[0222] Specifically, if the drag-and-drop listener object receives a drag event of type "entering the frame," meaning the dragged thumbnail image intersects with the corresponding area of ​​the frame view object, the drag-and-drop listener object will set the frame view object to be non-fully transparent (e.g., opaque or semi-transparent). If the drag-and-drop listener object receives a drag event of type "leaving the frame," meaning the dragged thumbnail image does not intersect with the corresponding area of ​​the frame view object, the drag-and-drop listener object will set the frame view object to be fully transparent.

[0223] For example, the operation type "DragEvent.ACTION_DRAG_ENTERED" means that the thumbnail image can be dragged into the area corresponding to the frame view object and intersects with the frame view object. The operation type "DragEvent.ACTION_DRAG_EXITED" means that the thumbnail image can be dragged away from the frame view object and does not intersect with the frame view object.

[0224] When the drag-and-drop listener object receives a drag event of type "DragEvent.ACTION_DRAG_ENTERED", it sets the view frame object to a non-fully transparent state (e.g., opaque or semi-transparent) to make the view frame object visible. (See also...) Figure 4g As shown in (3). For example, the drag-and-drop listener object can use the setAlpha(1) function to set the frame view object to opaque, thereby making the frame view object visible and prompting the user.

[0225] When the drag-and-drop listener object receives a drag event of type "DragEvent.ACTION_DRAG_EXITED", it sets the view object to be fully transparent. (See also...) Figure 4hAs shown in (4). For example, the drag-and-drop listener object can use the function setAlpha(0) to set the frame view object to be completely transparent, thus achieving the effect of hiding the frame view object.

[0226] As an optional implementation, S518 can also be adjusted as follows: the drag-and-drop listener object sends an instruction to the management module to adjust the transparency of the frame view object, and the management module adjusts the transparency of the frame view object according to the instruction. Specifically, when the drag-and-drop listener object receives a drag event of operation type "DragEvent.ACTION_DRAG_ENTER ED", it sends an instruction to the management module to set the transparency of the frame view object to non-fully transparent, and the management module sets the frame view object to non-fully transparent according to the instruction. When the drag-and-drop listener object receives a drag event of operation type "DragEvent.ACTION_DRAG_EXITED", it sends an instruction to the management module to set the transparency of the frame view object to fully transparent, and the management module sets the frame view object to fully transparent according to the instruction.

[0227] It should be noted that if the size of the drawing frame view object is adjusted, for example, if the length and width of the drawing frame view object are both adjusted to 0, then S517-S518 may not need to be executed.

[0228] S519, the drag and drop listener object obtains the drag event operation type as off-hand operation, and executes S520.

[0229] For example, the operation type "DragEvent.ACTION_DRAG_ENDED" indicates that the user has released their hand and the drag operation has ended. When the drag and drop listener object receives a drag event with the operation type "DragEvent.ACTION_DRAG_ENDED", it determines that the user's drag operation on the draggable thumbnail image has ended.

[0230] S520: The drag-and-drop listener object queries whether the resource data carried by the draggable thumbnail image has been processed. If yes, execute S521; otherwise, execute S522.

[0231] For example, a drag-and-drop listener object can use the dragEvent.getResult() method to query whether the resource data carried by the draggable thumbnail image has been processed.

[0232] Among them, the resource data carried by the draggable thumbnail image has been processed, which can be understood as the screenshot image or screen recording video corresponding to the thumbnail view object being transmitted to the target application or business.

[0233] Situations where the resource data carried by a draggable thumbnail image is not processed may include a user dragging the draggable thumbnail image to a non-hotspot area and then releasing it, or a user dragging the draggable thumbnail image to a hotspot area of ​​a target application, but the target application is unable to respond to the data drag-and-drop operation.

[0234] S521, drag and drop the listener object to destroy the thumbnail view object.

[0235] When the user releases their hand to end the draggable thumbnail image, if the drag-and-drop listener object finds that the data carried by the draggable thumbnail image has been processed, that is, the resource data has been passed to the target application, then the drag-and-drop listener object destroys the thumbnail view object, and the process ends.

[0236] As an optional implementation, S521 can be adjusted to: the drag-and-drop listener object sends an instruction message to the management module to indicate the destruction of the thumbnail view object, and the management module destroys the thumbnail view object according to the instruction message.

[0237] S522, drag and drop the listener object to unhide the thumbnail view object and restart the automatic disappearance timer for the thumbnail view object.

[0238] When the user releases their hand to end the draggable thumbnail image, if the drag-and-drop listener object finds that the data carried by the draggable thumbnail image has not been processed, that is, the resource data has not been passed to the target application, the drag-and-drop listener object triggers the thumbnail view object to be displayed again and restarts the automatic disappearance timer for the thumbnail view object.

[0239] When a long press listener object hides the thumbnail view object by setting its opacity, a drag-and-drop listener object also unhides the thumbnail view object by setting its opacity. For example, the drag-and-drop listener object can use the function setAlpha(1) to set the opacity of the thumbnail view object to 1, that is, the thumbnail view object is set to an opaque state.

[0240] When a long-press listener object hides the thumbnail view object by setting its visibility, a drag-and-drop listener object also unhides the thumbnail view object by setting its visibility. For example, a drag-and-drop listener object can set the visibility of the thumbnail view object to visible using the function setVisibility(View.VISIBLE).

[0241] When a long-press listener object hides a thumbnail view by setting its size, a drag-and-drop listener object also unhides the thumbnail view by resizing it. For example, a drag-and-drop listener object can retrieve the original size of the thumbnail view recorded by the long-press listener object and call the updateViewLayout method provided by the WindowManager to reset the thumbnail view's size to its original size.

[0242] As an optional implementation, S520 can be adjusted as follows: the drag-and-drop listener object sends an instruction message to the management module, which instructs the thumbnail view object to be unhidden and the automatic disappearance timer for the thumbnail view object to be restarted. The management module, based on the instruction message, unhidden the thumbnail view object and restarts the automatic disappearance timer for the thumbnail view object.

[0243] Specifically, when a long-press listener object hides the thumbnail view by setting its opacity, the management module also unhides the thumbnail view by setting its opacity. Similarly, when a long-press listener object hides the thumbnail view by setting its visibility, the management module unhides it by setting its visibility. Finally, when a long-press listener object hides the thumbnail view by setting its size, the management module unhides it by resizing the thumbnail view.

[0244] In this situation, since the thumbnail view object is not destroyed, the user can trigger the data transmission process provided in this application embodiment again by long-pressing before the automatic disappearance timer of the thumbnail view object ends. See S503 to S522 above for details, which will not be repeated here.

[0245] In the solution provided in this application embodiment, users can transfer the corresponding screenshot image or screen recording video data by dragging and dropping the screenshot image thumbnail or screen recording video thumbnail image. The operation is convenient and improves the user experience.

[0246] In addition, this application embodiment also incorporates existing solutions for automatic thumbnail disappearance timing, restarting the automatic thumbnail disappearance timing after the thumbnail drag is canceled. Moreover, this application embodiment achieves the visual effect of "the original thumbnail being dragged" by hiding the thumbnail view object, which is significantly different from the visual experience of the user clearly perceiving a dragged projection.

[0247] This embodiment also provides a computer storage medium storing computer instructions. When the computer instructions are executed on an electronic device, the electronic device performs the aforementioned method steps to implement the data transmission method in the above embodiment.

[0248] This embodiment also provides a computer program product that, when run on a computer, causes the computer to perform the aforementioned steps to implement the data transmission method described in the above embodiment.

[0249] In addition, embodiments of this application also provide an apparatus, which may specifically be a chip, component, or module. The apparatus may include a connected processor and a memory. The memory is used to store computer execution instructions. When the apparatus is running, the processor can execute the computer execution instructions stored in the memory to cause the chip to execute the data transmission methods in the above-described method embodiments.

[0250] In this embodiment, the electronic device, computer storage medium, computer program product or chip are all used to execute the corresponding method provided above. Therefore, the beneficial effects that can be achieved can be referred to the beneficial effects of the corresponding method provided above, and will not be repeated here.

[0251] Through the above description of the embodiments, those skilled in the art will understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0252] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another apparatus, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0253] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0254] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0255] Any content in the various embodiments of this application, as well as any content in the same embodiment, can be freely combined. Any combination of the above content is within the scope of this application.

[0256] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0257] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

[0258] The steps of the methods or algorithms described in conjunction with the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can reside in an ASIC.

[0259] Those skilled in the art will recognize that the functions described in the embodiments of this application in one or more of the above examples can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any medium that facilitates the transfer of a computer program from one place to another. Storage media can be any available medium that can be accessed by a general-purpose or special-purpose computer.

[0260] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

Claims

1. A data transmission method, characterized by, Applied to electronic devices, the method includes: After launching the screen recording application, a first interface is displayed. The first interface includes: first content of the first application and second content of the screen recording application. The second content is displayed floating on the first content. The second content includes a first control. In response to a first operation on the first control, a first video is generated and a second interface is displayed. The second interface includes: the first content of the first application and a first thumbnail of the first video. The first thumbnail indicates that the first video can be played. The first thumbnail is displayed floating on the first content. The first content of the first application continues to be displayed by the electronic device. In response to a second operation on the first thumbnail, a first animation is displayed, the first animation being used to indicate that the first thumbnail can be dragged; When the screen of the electronic device includes a first hotspot for a second application, in response to a third operation of dragging the first thumbnail to the first hotspot, a prompt message displayed in a second control at the edge of the screen changes. After receiving the third operation, in response to a release operation, the first video is sent to the second application. The prompt message indicates that the first video can be saved to the second application, and the third operation is a drag operation that is sequential with the second operation. In the case where the screen of the electronic device includes a second hotspot of a third application, in response to a fourth operation of dragging the first thumbnail to the second hotspot, a third interface is displayed. After receiving the fourth operation, when the first thumbnail is dragged to the first icon by the fourth operation, in response to a release operation, the first video is sent to the second application. The third application is different from the second application; the second and fourth applications are registered within the third application. The third interface includes the first icon of the second application and the second icon of the fourth application. The second application is different from the fourth application. The first icon, the second icon, and the second hotspot are all located on the same side of the screen of the electronic device. The second hotspot is different from the first hotspot. The fourth operation is a drag operation that is sequential with the second operation. After receiving the fourth operation, when the first thumbnail is dragged to the second icon of the fourth application by the seventh operation, the first video is sent to the fourth application in response to the off-hand operation.

2. The method of claim 1, wherein, The area where the second hot zone is located includes at least the right edge area of ​​the screen or the left edge area of ​​the screen.

3. The method of claim 1, wherein, The second operation is a long press operation.

4. The method according to claim 1, characterized in that, After the first animation effect is displayed, the border of the first thumbnail changes from a first border to a second border, and the first border is different from the second border.

5. The method according to claim 1, characterized in that, The first thumbnail in the second interface is displayed in the lower left corner of the screen.

6. The method of claim 1, wherein, The second content includes a control for screen recording, which includes the first control and a third control for controlling whether to record audio through a microphone during screen recording.

7. The method of claim 1, wherein, When the second interface includes the second hot zone of the third application, the method further includes: After the first thumbnail is dragged to the second hot zone, the icons of the first service and the second service are displayed. Both the first service and the second service correspond to the fifth application, which is different from the fourth application and is registered in the third application. When the first thumbnail is dragged to the icon of the first service or the icon of the second service by the sixth operation, the first video is sent in response to the off-hand operation, wherein the sixth operation is a drag operation that is consecutive with the second operation.

8. The method of claim 7, wherein, The fifth application is a video sharing application.

9. The method according to claim 7, characterized in that, When the first thumbnail is dragged to the icon of the first service, in response to the off-hand operation, a fourth interface is displayed, which includes multiple objects in the fifth application. In response to a selection operation of a first object among the plurality of objects, the first video is sent to the first object via the fifth application.

10. The method of claim 9, wherein, The method further includes: After the first video is sent to the first object via the fifth application in response to the selection operation of the first object among the plurality of objects, a prompt message indicating that the first video has been successfully shared is displayed.

11. The method according to claim 7, characterized in that, When the first thumbnail is dragged onto the icon of the second service, in response to the off-hand operation, the first video is published by the fifth application.

12. The method according to any one of claims 1 to 6, characterized in that, After sending the first video to the second application, the method further includes: In response to a screenshot operation, a screenshot image is generated and a fifth interface is displayed, the fifth interface including a second thumbnail of the screenshot image; In response to a fifth operation on the second thumbnail, the second thumbnail moves following the fifth operation; Specifically, during the movement of the second thumbnail following the fifth operation, when the second thumbnail intersects with the initial position, an identifier indicating the initial position is displayed; when the second thumbnail does not intersect with the initial position, the identifier indicating the initial position is not displayed. The initial position is the display position of the second thumbnail in the fifth interface.

13. The method of claim 12, wherein, After the second thumbnail moves in response to a fifth operation on the second thumbnail, the method further includes: When the second thumbnail is dragged to the first position by the fifth operation, in response to the release operation, the second thumbnail is displayed at the initial position, where the first position does not fall into the first hot zone and does not fall into the second hot zone.

14. The method of claim 1, wherein, The first animation effect is an animation effect that indicates the first thumbnail is floating up.

15. The method of claim 1, wherein, The method further includes: displaying a second motion effect in response to a second operation on the first thumbnail, the second motion effect being used to move the first thumbnail so that the finger performing the second operation is positioned at a designated location on the first thumbnail.

16. The method of claim 1, wherein, The first application is a desktop application.

17. The method according to claim 1, characterized in that, The second application is for collecting data.

18. An electronic device, characterized in that, include: Memory and processor; The processor is coupled to the memory; The memory stores program instructions that, when executed by the processor, cause the electronic device to perform the data transmission method as described in any one of claims 1-17.

19. A computer readable storage medium comprising a computer program, characterized in that, When the computer program is run on an electronic device, it causes the electronic device to perform the data transmission method as described in any one of claims 1-17.