A method and terminal for sharing information between applications
By implementing the inter-application information sharing method on the terminal and using the shared application as a transit station, the problems of cumbersome operations and limited information types in the prior art are solved, and efficient and simplified information sharing between multiple applications are achieved.
Patent Information
- Application Number
- CN202410452135.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-27
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2042-01-27
AI Technical Summary
In the prior art, the information sharing method between applications is complicated to operate and the information type is limited, making it difficult to meet the information sharing needs between multiple applications.
By implementing an inter-application information sharing method on the terminal, using the shared application as a transit station, the user can store the information in the shared application by performing operations in the first application, and directly insert or convert the shared information in the second application.
It simplifies user operations, improves the efficiency of information sharing among different applications, supports the sharing of multiple information types, and does not affect the normal operation of the first application during the sharing process.
Smart Images

Figure CN118260107B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of terminal technology, and in particular to a method and a terminal for sharing information between applications. Background Art
[0002] There are more and more applications on the terminal, and the demand for information sharing between applications is also increasing. At present, the terminal provides some simple sharing methods for text, pictures, etc. For example, the user can copy the selected text in application 1, and then switch to application 2 to paste the text to achieve text sharing. For another example, the user can select a picture in application 1 and save the selected picture to the local gallery application. Then switch to application 2 and import the picture in the gallery application in application 2 to achieve picture sharing. Alternatively, the user can select a picture from application 1, select the sharing function, and share the selected picture to application 2 to achieve picture sharing. It can be imagined that when there are many contents / types of shared information, or the shared information comes from multiple applications, or the shared information is shared to multiple applications, the user needs to switch repeatedly in multiple applications and perform related operations. It can be seen that the existing method of sharing information between applications is cumbersome to operate, and the types of information that can be shared are limited. Summary of the invention
[0003] The present application provides a method and terminal for sharing information between applications, which can improve the efficiency of information sharing between different applications and simplify user operations. In order to achieve the above purpose, the present application embodiment provides the following technical solutions:
[0004] In a first aspect, a method for sharing information between applications is provided, which is applied to a terminal, and the method includes: the terminal displays a first interface of a first application, the first interface includes a first interface element; the terminal detects a first operation acting on the first interface element; in response to detecting the first operation, the terminal displays a first window, the first window displays a fourth interface of a third application, the fourth interface prompts that the third application has been started, and the first interface element of the first application has been stored in the third application; the terminal detects a second operation, the second operation is used to start a second application or switch to a second interface of the second application; in response to detecting the second operation, the terminal displays the second interface of the second application; and the terminal also displays the first window (it should be understood that the terminal can display the interface and the interface of the second application at the same time) The first window may also be displayed continuously after the first window is started, and then in response to a second operation, the second interface of the second application is displayed, or in response to the second operation, the second interface of the second application is displayed first and then the first window is displayed); the fifth interface of the third application is displayed in the first window, the fifth interface of the third application includes the second interface element, and the second interface element includes at least part of the content of the first interface element; a third operation executed by the user on the second interface element in the first window is received; in response to receiving the third operation, the terminal displays the third interface of the second application, the third interface includes the third interface element, the third interface element is used to present the content of the second interface element, and the third interface element is the same as or different from the second interface element.
[0005] Thus, the user can start the third application (i.e., the shared application) and store the first interface element in the third application by directly performing the first operation on the first interface element (i.e., the shared object) in the first interface of the first application. In other examples, when the third application is already started before the user performs the first operation, the first operation directly triggers the process of storing the first interface element in the third application.
[0006] In the third application, the second interface element is a copy of the first interface element and may include all or part of the content of the first interface element. Then, the content of the second interface element is inserted into the interface of the second application through the third application. The third interface element in the second application is obtained based on the second interface element and may be the same as or different from the second interface element.
[0007] In short, the third application is equivalent to a transfer station for sharing information between the first application and the second application. It can be understood that when there are many contents / types of shared objects, or when the shared objects come from multiple applications (that is, the number of first applications is greater than 1), or when the shared objects are shared to multiple applications (that is, the number of second applications is greater than 1), the user does not need to repeatedly switch between multiple applications to perform related operations. It can be seen that this solution improves the efficiency of information sharing between different applications and simplifies user operations.
[0008] In addition, during the process of storing the shared object in the shared application, the first application is always running in the foreground. In other words, the user's operation of storing the shared object in the shared application does not affect the normal operation of the first application.
[0009] In a possible implementation, before displaying the fifth interface of the third application in the first window, the method further includes: the terminal detecting a fourth operation of the user on the first window, the fourth operation being used to display the interface elements in the third application.
[0010] When the first window displays the fourth interface of the third application, it can be considered that the interface of the third application in the retracted state (or contracted state, pulled up state) is the interface of the third application in the expanded state (or contracted state, pulled up state). The user can open the interface of the third application in the expanded state, that is, the fifth interface, by the fourth operation on the first window. The fifth interface includes various shared objects stored by the third application, including the second interface elements.
[0011] In one possible implementation, the method also includes: receiving a fifth operation from the user on the second interface element in the first window; the fifth operation is different from the third operation; in response to receiving the fifth operation from the user, the terminal displays a sixth interface of the third application, and the sixth interface is used to edit the second interface element in the third application.
[0012] That is to say, the third application also provides an editing interface for the shared objects stored therein, and the user can modify or delete the shared objects in the third application.
[0013] In a possible implementation, the method further includes: receiving a sixth operation performed by the user on the first window, where the sixth operation is used to exit the third application; and in response to receiving the sixth operation, the terminal no longer displays the first window.
[0014] Thus, a method for exiting a third application is provided.
[0015] In one possible implementation, when the second interface of the second application supports the insertion of interface elements of the same type as the second interface element, the third interface element is the same as the second interface element; when the second interface of the second application does not support the insertion of interface elements of the same type as the second interface element, the third interface element is an interface element obtained by converting the second interface element by the third application or the second application.
[0016] That is, the third application or the second application can automatically modify the format and / or type of the second interface element to be inserted according to the type of interface elements supported by the insertion position to improve the success rate of sharing the shared object.
[0017] In one possible implementation, the first interface element includes a text control; the second interface element includes a text control, the second interface element includes part of the text in the first interface element, and the layout of the text in the second interface element is different from the layout of the text in the first interface element.
[0018] That is to say, the embodiments of the present application can realize sharing of text content. In some examples, the shared text content can be part of the content in a text control. In some other examples, the third application can also adjust the layout of the stored text.
[0019] In a possible implementation, the layout of the text in the third interface element is different from the layout of the text in the second interface element.
[0020] That is to say, the second application can also adaptively adjust the layout of the inserted text (shared object).
[0021] In a possible implementation, the first interface element includes a text control and a picture control, and the second interface element includes a text control and a picture control.
[0022] That is to say, the user can store the contents of multiple controls into the third application at one time through the first operation, thereby improving sharing efficiency.
[0023] In one possible implementation, the first interface element includes a video control; the second interface element includes a video control, the status of the video in the second interface element is the same as the status of the video in the first interface element, and the status of the video includes at least one of a playing status, an unplayed status, or a playing progress.
[0024] That is to say, in the scenario of sharing videos, the video stored in the third application can maintain its playing status in the first application.
[0025] In one possible implementation, when the second interface of the second application supports the insertion of video-type interface elements, the third interface element includes a video control; when the second interface of the second application does not support the insertion of video-type interface elements, the third interface element includes a link to the video or at least one picture control.
[0026] That is, in the scenario of sharing a video, the shared video can be converted into a connection or multiple pictures according to the second interface support of the second application by inserting a video-type interface element.
[0027] In one possible implementation, the first interface element includes cards and / or mini-programs; the second interface element includes cards and / or mini-programs; the data of the cards and / or mini-programs in the first interface element is the same as the data of the cards and / or mini-programs in the second interface element.
[0028] Among them, the cards and / or mini-programs include UI controls, logic codes between UI controls, and related resources, etc. In other words, the shared objects of program algorithm type stored in the third application (such as cards and / or mini-programs) can be refreshed manually or automatically, so that the data of the cards and / or mini-programs in the third application are consistent with those of the cards and / or mini-programs in the first application.
[0029] In one possible implementation, the third interface element includes a card and / or a mini-program, and the data of the card and / or mini-program in the third interface element is the same as the data of the card and / or mini-program in the first interface element.
[0030] In one possible implementation, in response to detecting a first operation, the terminal displays a first window, including: in response to detecting the first operation, the terminal starts a third application; the first application sends information of the first interface element to the third application; the third application generates a second interface element based on the information of the first interface element; wherein the information of the first interface element includes one or more of the type of the first interface element, the position of the first interface element on the first interface, the content of the first interface element, and the state of the first interface element; wherein the state of the interface element includes a selected state and an unselected state.
[0031] In a second aspect, a terminal is provided, comprising: a processor, a memory and a touch screen, wherein the memory and the touch screen are coupled to the processor, the memory is used to store computer program codes, and the computer program codes include computer instructions. When the processor reads the computer instructions from the memory, the terminal executes the method described in the above aspect and any possible implementation thereof.
[0032] In the third aspect, a device is provided, which is included in a terminal, and the device has the function of implementing the terminal behavior in any of the above aspects and possible implementation methods. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes at least one module or unit corresponding to the above function. For example, a receiving module or unit, a display module or unit, and a processing module or unit, etc.
[0033] In a fourth aspect, a computer-readable storage medium is provided, comprising computer instructions. When the computer instructions are executed on a terminal, the terminal executes the method as described in the above aspect and any possible implementation thereof.
[0034] In a fifth aspect, a graphical user interface on a terminal is provided, wherein the terminal has a display screen, a camera, a memory, and one or more processors, wherein the one or more processors are used to execute one or more computer programs stored in the memory, and the graphical user interface includes a graphical user interface displayed when the terminal executes the method described in the above aspects and any possible implementation methods thereof.
[0035] In a sixth aspect, a computer program product is provided. When the computer program product is run on a computer, the computer is enabled to execute the method as described in the above aspects and any possible implementation thereof.
[0036] In the seventh aspect, a chip system is provided, including a processor. When the processor executes instructions, the processor executes the method described in the above aspects and any possible implementation thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Figure 1 A schematic diagram of the structure of a terminal provided in an embodiment of the present application;
[0038] Figure 2A A schematic diagram of the software structure of a terminal provided in an embodiment of the present application;
[0039] Figure 2B A schematic diagram of the software structure of another terminal provided in an embodiment of the present application;
[0040] Figure 2C A schematic diagram of the software structure of another terminal provided in an embodiment of the present application;
[0041] Figure 2D A schematic diagram of a motion effect provided by a motion effect module provided in an embodiment of the present application;
[0042] Figure 2E A schematic diagram of an implementation mechanism of a motion effect module provided in an embodiment of the present application;
[0043] Figure 3 A schematic diagram of interfaces of some terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0044] Figure 4 A schematic diagram of interfaces of other terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0045] Figure 5A A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0046] Figure 5BA schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0047] Figure 6 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0048] Figure 7 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0049] Fig. 8A A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0050] Figure 8B A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0051] Fig. 9 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0052] Fig.10 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0053] Fig.11 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0054] Fig.12 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0055] Fig.13 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0056] Fig.14 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0057] Fig.15 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0058] Fig.16 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0059] Fig.17 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0060] Fig.18 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0061] Fig.19 A schematic diagram of interfaces of some further terminals involved in the method for sharing information between applications provided in an embodiment of the present application;
[0062] Fig. 20 A flowchart of a method for sharing information between applications provided in an embodiment of the present application;
[0063] Fig.21 A flowchart of another method for sharing information between applications provided in an embodiment of the present application;
[0064] Fig. 22 A schematic diagram of a chip system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0065] In the description of the embodiments of the present application, unless otherwise specified, “ / ” means or. For example, A / B can mean A or B. The “and / or” in this article is merely a way to describe the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
[0066] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.
[0067] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0068] Exemplarily, in the embodiments of the present application, the terminal may be, for example, a mobile phone, a tablet computer, a personal computer (PC), a personal digital assistant (PDA), a smart watch, a netbook, a wearable terminal, an augmented reality (AR) device, a virtual reality (VR) device, a vehicle-mounted device, a smart screen, a smart car, a smart speaker, etc. The present application does not impose any special restrictions on the specific form of the terminal.
[0069] Figure 1 A schematic structural diagram of the terminal 100 is shown.
[0070] The terminal 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, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0071] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the terminal 100. In other embodiments of the present application, the terminal 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0072] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0073] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.
[0074] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0075] In some embodiments, the processor 110 may include one or more interfaces. It is understood that the interface connection relationship between the modules illustrated in the embodiments of the present invention is only a schematic illustration and does not constitute a structural limitation on the terminal 100. In other embodiments of the present application, the terminal 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
[0076] The charging management module 140 is used to receive charging input from a charger.
[0077] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140 to power the processor 110, the internal memory 121, the display screen 194, the camera 193, and the wireless communication module 160.
[0078] The wireless communication function of the terminal 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0079] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to electronic device 100. Mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. Mobile communication module 150 can receive electromagnetic waves from antenna 1, and filter, amplify and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. Mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through antenna 1. In some embodiments, at least some functional modules of mobile communication module 150 can be set in processor 110. In some embodiments, at least some functional modules of mobile communication module 150 can be set in the same device as at least some modules of processor 110.
[0080] The modulation and demodulation processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is transmitted to the application processor.
[0081] The application processor outputs sound signals through an audio device (not limited to the speaker 170A, the receiver 170B, etc.), or displays images or videos through the display screen 194. In some embodiments, the modem processor can be an independent device. In other embodiments, the modem processor can be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.
[0082] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the terminal 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0083] The terminal 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
[0084] The terminal 100 can realize the shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194 and the application processor.
[0085] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function, such as storing music, video and other files in the external memory card.
[0086] The internal memory 121 can be used to store computer executable program codes, which include instructions. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the terminal 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the terminal 100 by running instructions stored in the internal memory 121 and / or instructions stored in a memory provided in the processor.
[0087] The terminal 100 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor.
[0088] The software system of the terminal 100 may adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture. The terminal 100 may adopt an Android system or a Hongmeng system, etc. Here, the embodiment of the present invention takes the Android system of a layered architecture as an example to exemplify the software structure of the terminal 100.
[0089] Figure 2A It is a software structure block diagram of the terminal 100 according to an embodiment of the present invention.
[0090] The layered architecture divides the software into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.
[0091] The above application layer may include a series of application packages. Figure 2A As shown, the above application package may include other applications such as memo, email, browser, etc.
[0092] In some embodiments of the present application, the above application package may also include a shared application, which is used to provide a user interface for information sharing between applications, and a user interface for editing, deleting, and managing information stored in the shared application, etc. For example, the shared application may implement information sharing between applications by calling the sharing module described below.
[0093] The application framework layer provides an application programming interface (API) and a programming framework for the application programs in the application layer. The application framework layer includes some predefined functions.
[0094] like Figure 2A As shown, the application framework layer may include basic system services provided by the Android system, such as a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like. Among them, the window manager is used to manage window programs. The window manager can obtain the size of the display screen, determine whether there is a status bar, lock the screen, capture the screen, and the like. The content provider is used to store and obtain data, and make the data accessible to the application. The data may include video, images, audio, calls made and received, browsing history and bookmarks, phone books, and the like. The view system includes visual controls, such as controls for displaying text, controls for displaying pictures, and the like. The view system can be used to build applications. The display interface may be composed of one or more views. For example, a display interface including a text notification icon may include a view for displaying text and a view for displaying pictures. The phone manager is used to provide communication functions for the terminal 100. For example, the management of call status (including connected, hung up, etc.). The resource manager provides various resources for the application, such as localized strings, icons, pictures, layout files, video files, and the like. The notification manager enables the application to display notification information in the status bar, which can be used to convey notification-type messages and can automatically disappear after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of an icon or scroll bar text, such as a notification of an application running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, the terminal vibrates, the indicator light flashes, etc.
[0095] In some embodiments of the present application, the application framework layer may further include a sharing module for implementing information sharing between different applications. Specifically, the sharing module may be used to implement information sharing between different applications on the terminal 100, and may also implement information sharing between the same or different applications between the terminal 100 and other terminals. In a specific implementation, the sharing module may be called by an application in an upper layer (e.g., an application layer) in the form of a system interface. Optionally, the sharing module may be upgraded along with the version upgrade of the operating system.
[0096] It should be noted that, in some other embodiments, such as Figure 2BAs shown, the shared module can also be located between the application layer and the application framework layer. Optionally, the shared module can be upgraded along with the version upgrade of the operating system.
[0097] In some other embodiments, Figure 2C As shown, the shared module can also be located in the application layer. Optionally, the shared module can also be integrated with the shared application or other applications. In a specific implementation, the shared application or other applications can be integrated into their own installation package in the form of an AAR file (a binary archive file of an Android library project) or a JAR file (a file that aggregates a large number of Java class files, related metadata and resources). The version of the shared module can be upgraded independently or with the version upgrade of the application.
[0098] Optionally, the application framework layer may also include an animation module, which can be used to provide animation functions for each application (such as the first application, the second application, or the shared application, etc.) in the upper layer (i.e., the application layer) and the system services (such as the shared module) of this layer (i.e., the application framework layer), that is, to provide an interface presentation function with animation effects. Figure 2D As shown, the animation effects that the animation effect module can provide include basic animation effects and advanced animation effects. Among them, the basic animation effects include animation effects such as displacement, scaling, rotation, transparency changes, etc. of interface elements (such as controls, windows, widgets, webview, etc.). Advanced animation effects include animation effects such as the movement of interface elements presenting spring pop-ups, delayed changes, linkage changes with other interface elements, and other special effects. In other words, the present application can provide arbitrary animation effects for interface changes in the process of information sharing between applications through the animation effect module to prompt the user terminal 100 to execute the information sharing function between applications.
[0099] like Figure 2E As shown, taking the implementation of basic animation effects by the animation effect module as an example, the implementation principle of the animation effect module is introduced. In the animation time between the initial state of the animation and the final state of the animation, the animation effect module can control the animation type and the animation transformation form. Specifically, controlling the animation type refers to controlling the transformation type of the animation, including displacement (the position of the interface element changes in a linear or nonlinear manner), rotation (the position of the interface element changes in a rotational manner), scaling (the size of the interface element changes), and transparency changes. Controlling the animation transformation form refers to how to determine the values of relevant parameters (such as the position of the interface element, the size of the interface element, the transparency of the interface element, etc.) during the animation change process. In the specific implementation method, the animation transformation form can be realized by an interpolator and an estimator. Optionally, the animation effect module can also control the relevant parameters of the animation time, such as the animation start time, the animation end time, the animation duration, etc.
[0100] In some other embodiments, the animation module may also be located between the application layer and the application framework layer, or the animation module may also be located in the application layer.
[0101] In some embodiments, the terminal 100 may adopt a preset information sharing process between motion effect prompt applications, or may adopt an information sharing process between motion effect prompt applications set by a user, which is not limited in the embodiments of the present application.
[0102] Among them, Android Runtime includes core libraries and virtual machines. 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 function that needs to be called by the Java language, and the other part is the Android core library.
[0104] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
[0105] The system library may include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
[0106] The surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.
[0107] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[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 drawing engine for 2D drawings.
[0110] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.
[0111] The technical solutions involved in the following embodiments can all be implemented in the terminal 100 having the above-mentioned hardware architecture and software architecture.
[0112] The technical solution provided in the embodiment of the present application can realize the storage of the shared object (i.e., shared information) in the first application (also referred to as the source application) on the terminal 100 into the shared application, and then share the shared object to the second application (also referred to as the target application) through the shared application. In other words, the shared application can be used to temporarily store shared objects to be shared. Optionally, the user can also modify the content and / or format (such as file format, content layout) of the shared object stored in the shared application. Alternatively, the shared application can automatically perform adaptive modifications to the format of the stored shared object. Alternatively, when the shared object of the shared application is shared to the second application, the second application can perform adaptive modifications to the content or format of the shared object. In other words, the shared object stored in the shared application is editable, and the shared application or the second application can modify the content and / or format of the shared object.
[0113] In the following, the terminal 100 is taken as an example of a mobile phone, and the technical solution provided in the embodiment of the present application is described in detail in combination with specific scenarios and drawings.
[0114] Scenario 1: Image and text sharing scenario
[0115] In the picture and text sharing scenario, the shared objects may be, for example: text (such as a paragraph of text, multiple paragraphs of text, part of the text in a paragraph, discontinuous text in multiple paragraphs, etc.), one or more pictures, and a combination of text and pictures.
[0116] (1) A shared object includes a control.
[0117] For example, the shared object is a part of a paragraph of text as an example for illustrative explanation. Figure 3 As shown in (1), the mobile phone displays an interface 301. The interface 301 is, for example, a web page in a browser application (i.e., the first application), or a reading page of a document in a document application (i.e., the first application). When a user wishes to share information in a web page or document, he or she may first select the information to be shared (i.e., the shared object), such as text 302 in the document. Then, the user may perform a preset operation, which is used to trigger the mobile phone to start a sharing function (e.g., start a sharing application). Alternatively, when the mobile phone has started a sharing application, the preset operation is used to trigger the mobile phone to start a process of storing a new shared object. The preset operation is, for example, any of a predefined long press, double click, gravity press, knuckle tapping action, finger drawing of a preset pattern (e.g., a closed figure, a figure of special letters or characters, etc.), three-finger sliding, dragging, air gestures, etc. Optionally, the preset operation may also be inputting a specific voice command, etc. The embodiment of the present application does not limit the specific form of the preset operation that triggers the mobile phone to start the sharing function.
[0118] In a specific implementation, when it is detected that the user performs an operation to trigger a sharing function (for example, start a shared application), the mobile phone determines the shared object on the one hand, for example, the first application determines the shared object according to the controls contained in the current interface and the information of the controls; on the other hand, the sharing function is started, for example, the shared application is started, and the shared application calls the sharing module to start the sharing process. In some examples, the shared application can be displayed on the interface in the form of a floating window, which can also be called a sharing window, a sharing center, a transfer center, etc., which is not limited in the embodiments of the present application. In a specific implementation, the sharing window can be implemented by a floating window of a window manager (WindowManger, VM) in the application framework layer. In some embodiments, the first application obtains the interface elements (for example, controls, windows, widgets, WebView) included in the interface 301, and the information of each interface element. Among them, the information of each interface element includes one or more of the type of each interface element (text control, picture control, button control, etc.), the position of the interface element (for example, the coordinates of each vertex), the content of the interface element, the state of the interface element (selected state, unselected state, part of the content is selected, etc.). The following is an example of an interface element being a control. For example, the first application obtains interface 301 including control 10 (title control), control 20 (text control), control 30 (picture control) and control 40 (text control). Further, the text information in control 20 and the state of the text (selected state and unselected state) are obtained. When it is determined that the text 302 in control 20 is in the selected state, the first application can determine that the text 302 is a shared object. Further, the first application sends the relevant information of the control 20 where the text 302 is located to the shared application. The shared application calls the sharing module to start an activity component, and generates a control of the corresponding type, such as a text control, in the Activity component according to the control 20 where the text 302 is located, and sets the content of the text control to the text 302. In some examples, the format of the text 302 in the text control generated by the sharing module can be the same as or different from the format of the text 302 in the control 20 in the first application. Optionally, after the shared application receives the text 302 sent by the first application, a text editing interface can also be provided. The user can edit the text 302 through the text editing interface, and then the third application sets the content of the newly created text control according to the edited content. In other words, the third application uses the text 302 edited by the user as a shared object stored in the third application. Optionally, the sharing module can also generate a preview of the text control based on the newly generated text control to prompt the user to store a preview of the shared object in the shared application. It should be noted that in this embodiment, the example of determining the shared object by the first application is used for explanation. In other embodiments, the shared object can also be determined by the shared application.For example, the first application sends all the control information in the interface 301 (including the control information selected by the user and the control information not selected by the user) to the shared application, and the shared application determines the shared object in the interface 301 and generates the control corresponding to the shared object, etc. The method for the shared application to determine the shared object is the same as the method for the first application to determine the shared object. For other contents, please refer to the description of the relevant contents in the previous embodiment, which will not be repeated here.
[0119] For example, Figure 3 As shown in (2), when it is detected that the user performs an operation to trigger the sharing function (for example, start the shared application), the mobile phone displays an interface 303. The interface 303 includes a window 305, which is used to prompt that the sharing function of the mobile phone has been started, such as starting the shared application. In one example, the window 305 can also display a preview of the shared objects stored in the shared application, or display a preview of the shared objects most recently stored in the shared application. The embodiment of the present application does not limit the style of the window 305. In another example, the mobile phone can display the window 305 at a default position on the screen (for example, the upper right corner of the screen). Alternatively, the mobile phone can also adaptively select, for example, a blank or unimportant control position to place the window 305 according to the layout of the controls in the current interface (i.e., the interface 301 of the first application). Alternatively, the user can also manually adjust the position of the window 305, for example, by dragging the window 305 to the sidebar, etc. In a specific implementation, the position change of the window 305 can be achieved by modifying the attribute value of the floating window (for example, the position of the floating window). It should be noted that window 305 can be considered as the interface of the shared application in a collapsed state (or contracted state, pulled up state), and window 607 showing the details of the shared object in the shared application below can be considered as the interface of the shared application in an expanded state.
[0120] Optionally, in the interface 303, the mobile phone may also display a preview 304 of the shared object, for showing a preview effect of the shared object being stored in the shared application.
[0121] In one example, the mobile phone may use a specific animation effect to prompt the user to store the shared object in the shared application. Figure 2A-2C , the shared application can call the animation module through the shared module to achieve the corresponding animation effect. For example, Figure 3In the interface 303 shown in (2), the preview 304 moves at a certain speed to a specific area (e.g., the area covered by the window 305), giving the user a visual effect that the preview 304 is moved into the shared application. Alternatively, as the preview 304 approaches the window 305, the preview 304 gradually shrinks until the preview 304 contacts or overlaps with the window 305, giving the user a visual effect that the preview 304 is sucked into the shared application. Alternatively, as the preview 304 approaches the window 305, the preview 304 rotates at a certain speed until it disappears in the area where the window 305 is located. Alternatively, the user can press and hold the preview 304 with a finger, and move the finger in the direction of the window 305, and the preview 304 moves with the hand, giving the user a visual effect that the preview 304 is dragged to the shared application. Of course, the mobile phone can also use other animation effects to prompt the shared object to be stored in the shared application, and the embodiment of the present application does not impose any special restrictions on this.
[0122] After the shared object in the first application is stored in the shared application, the mobile phone can display Figure 3 In the interface 306, window 305 may mark the newly stored shared object in a certain way. For example, window 305 displays a subscript, which is used to mark the number of shared objects stored in the shared application. When a new shared object is stored, the subscript number in window 305 increases by 1. Alternatively, window 305 may also display a preview of the stored shared object.
[0123] It can be noted that in this embodiment, during the process of storing the shared object in the shared application, the first application is always running in the foreground. In other words, the user's operation of storing the shared object in the shared application does not affect the normal operation of the first application.
[0124] In addition, in the above embodiment, the user first selects the shared object in the interface 301, and then executes the preset operation to trigger the sharing function. In some other embodiments, the user may first execute the preset operation to trigger the sharing function, and then select the shared object. Alternatively, in some scenarios, the user cannot select the shared object in the interface 301, then after the user executes the preset operation to trigger the sharing function, the mobile phone can automatically determine the shared object.
[0125] For example, see Figure 4 ,like Figure 4 As shown in (1), when the mobile phone displays interface 301 and detects that the user has executed a preset operation to trigger the sharing function, the mobile phone displays a window 305 in interface 301. Window 305 is used to prompt the user that the mobile phone has started the sharing application. It can be noted that no sharing object is selected in interface 301 at this time. Then, the user can select the sharing object to be shared in interface 301, such as Figure 4As shown in (2), the user selects text 302.
[0126] In a specific implementation, when it is detected that the user performs a preset operation to trigger the sharing function, the mobile phone (for example, the first application) obtains the controls included in the interface 301, and the information of each control. The information of each control includes one or more of the type of each control (text control, picture control, button control, etc.), the position of the control (for example, the coordinates of each vertex of the control), the content of the control, the state of the control, etc. For example, the mobile phone obtains that the interface 301 includes control 10 (title control), control 20 (text control), control 30 (picture control) and control 40 (text control).
[0127] Furthermore, the mobile phone can detect the user's operation of selecting a shared object, thereby determining the shared object. In some examples, the user can select a control in the interface 301 or select a part of the content in the control. Then, when the user performs the operation of selecting a shared object, the state of the control corresponding to the shared object changes to the selected state, and the mobile phone can determine the shared object selected by the user through the change of the state of the control (the unselected state changes to the selected state). For example, Figure 4 As shown in (2), when the user selects the text 302 in the control 20, the state of the text 302 in the control 20 changes to a selected state. Then, the mobile phone can determine that the text 302 is a shared object.
[0128] In some other embodiments, the user cannot select a certain control in the interface 301, or cannot select specific content in the control. Then the mobile phone can still determine the shared object according to the selection operation performed by the user. The mobile phone has obtained the position of each control in the interface 301, and then according to the position of the finger sliding when the user performs the selection operation, it can determine the control selected by the user or the selected part of the content in a certain control, thereby determining the shared object selected by the user. For example, Figure 4 As shown in (3), after detecting the motion track 307 of the user's finger on the touch screen of the mobile phone, the shared object selected by the user can be determined as the control 20 or the text 302 in the control 20 according to the motion track 307 and the positions of the various controls in the interface 301. In summary, the specific method for the mobile phone to determine the shared object is not limited in the embodiment of the present application.
[0129] Then, the shared application calls the shared module to start an Activity component, generates a control that matches the shared object in the Activity, and sets the content of the control to be the same as the content of the control corresponding to the shared object. For other content, please refer to the previous article Figure 3 The examples shown are not repeated here.
[0130] In some other embodiments, the user may not need to perform the operation of selecting a shared object. The mobile phone can determine that the control corresponding to the location where the preset operation of triggering the sharing function is performed is the shared object based on the location where the user is when performing the preset operation of triggering the sharing function. Alternatively, when the mobile phone does not detect that the user performs the operation of selecting a shared object, it can also determine that all controls or specific types of controls (such as text controls, video controls, picture controls, applets, cards, etc.) in the current interface are shared objects. For other content, please refer to the relevant descriptions in other embodiments, which will not be repeated here.
[0131] It can be seen that the technical solution provided by the embodiment of the present application is not limited by whether the control or the control content in the interface 301 can be selected. In other words, regardless of whether the control in the interface 301 can be selected or the content in the control can be selected, the embodiment of the present application can store any content in the interface 301 in the shared application, so as to facilitate subsequent sharing with other applications. In other words, the embodiment of the present application does not modify the program code of the application (e.g., the first application) where the shared object originally resides, and can share the shared object in the application with other applications.
[0132] (2) The shared object includes multiple controls of different types.
[0133] In some other embodiments, the user may also select multiple controls as shared objects, and store these controls as shared objects in a shared application at one time, thereby improving the efficiency of temporarily storing shared objects. The types of the selected multiple controls may be the same or different. The selected multiple controls may be multiple controls that are continuous in position or multiple controls that are not continuous in position.
[0134] For example, the shared object includes the content of the text control and the picture control. Figure 5A As shown in (1), the mobile phone displays an interface 401, wherein multiple controls in the interface 401 are selected, for example, control 20 (text control), control 30 (picture control) and control 40 (text control) are in a selected state. At this time, after the mobile phone detects that the user performs a preset operation to trigger the sharing function, the mobile phone obtains the controls included in the interface 401 and the information of each control, and determines that control 20 (text control), control 30 (picture control) and control 40 (text control) are shared objects. In some other examples, the user may also select controls 20 and 40 that are not continuous in position, and then perform the preset operation to trigger the sharing function, and the mobile phone may determine that controls 20 and 40 are shared objects. Alternatively, the user performs the preset operation to trigger the sharing function and directly acts on controls 20 and 40, and the mobile phone determines that controls 20 and 40 are shared objects according to the position of the user performing the preset operation to trigger the sharing function.
[0135] In one example, a sharing application calls a sharing module to start an Activity component, and correspondingly creates two text controls and one image control in the Activity component. The contents of the two newly created text controls are set to the contents of control 20 and control 40, respectively, and the content of the image control is set to the content of control 30 (for example, it can be a specific picture or a network link corresponding to the picture). It should be noted that the layout of the two text controls and the image control in the sharing application can be the same as or different from the layout of controls 20, 30, and 40 in interface 401. Then, the mobile phone generates a preview based on the contents of the two text controls and the image control. In one example, the mobile phone displays the following. Figure 5A Interface 402 shown in (2). Window 403 is displayed in interface 402 to prompt that the shared application has been started. Preview 404 is also displayed in interface 402. Optionally, preview 404 can present a three-dimensional effect to indicate that the shared object includes the content of multiple controls. For example, preview 404 can be a preview of each control in the superimposed shared object. Optionally, preview 404 can also display the number of controls contained in the shared object. For example, in this example, the shared object contains three controls, so "3" is displayed in the upper right corner of preview 404. Optionally, preview 404 uses a specific animation effect to prompt the user to save the shared object to the shared application. In another example, the mobile phone can also display the following: Figure 5A The interface 405 shown in (3) shows a preview 406. Figure 5A Unlike the preview 404 in the interface 402 shown in (2), the preview 406 displayed in the interface 405 displays the contents of the three controls included in the shared object in a flat format. The embodiment of the present application does not limit the presentation method of the preview of the shared object.
[0136] Then, the phone displays Figure 5A In the interface 407 shown in (4), the number indicated by the subscript of the window 403 in the interface 407 is increased by one, which is used to prompt that the shared object selected this time has been stored in the shared application. For other contents of this embodiment, please refer to the description of the relevant contents above, which will not be repeated here.
[0137] It can be understood that, in this example, multiple controls stored in a shared application at one time can be treated as a whole, and the multiple controls stored in the shared application can be shared with other applications at one time later, thereby improving the sharing efficiency of the shared objects.
[0138] Optionally, in another example, when the mobile phone determines that control 20 (text control), control 30 (picture control) and control 40 (text control) are shared objects, the mobile phone (specifically, the shared application calls the sharing module) can also start three Activity components accordingly, each Activity component corresponding to a control in the shared object. For other contents, please refer to the description of other embodiments above. After the shared object is stored in the shared application, the mobile phone can display the following Figure 5B In the interface 408 shown in FIG. 4 , the number indicated by the subscript of the window 403 in the interface 408 is increased by three.
[0139] It is understandable that, in this example, multiple controls stored in a shared application at one time can be treated as independent individuals, and users can subsequently choose to share one or several controls with other applications as needed to meet more sharing needs.
[0140] From the above, it can be seen that the embodiments of the present application can store the contents of multiple controls of the same type or the contents of multiple controls of different types into a shared application at one time, and then share the contents of multiple controls stored in the shared application with other applications at one time or on demand, thereby improving the sharing efficiency of shared objects.
[0141] After the shared object is stored in the shared application, the shared application can modify or delete the shared object automatically or according to the user's instructions.
[0142] Some examples include Figure 6 As shown in (1), after the user stores the shared object in the interface 601 into the shared application, the user can expand the detailed interface of the shared object stored in the shared application through the window 602 in the current interface. Figure 6 As shown in (2), the user can also switch from interface 601 to mobile desktop 603. It can be seen that at this time, window 602 is still displayed in mobile desktop 603, and the user can still use window 602 to expand the detailed interface of the shared object stored in the shared application. In some other examples, the user can also open the interface of the second application through the mobile phone, and expand the detailed interface of the shared object stored in the shared application when the mobile phone displays the interface of the second application. For example, it is detected that the user is in Figure 6 In the desktop 603 shown in (2), an icon 604 for operating the mail application is displayed on the mobile phone. Figure 6 The interface 605 shown in (3) is a new email page. It can be seen that the interface 605 displays a window 602, and the user can still expand the detailed interface of the shared object stored in the shared application through the window 602.
[0143] Here, the following example is used to explain the operation of window 602 in the interface 605 of the second application to expand the detailed interface of the shared object stored in the shared application. For example, in response to detecting that the user performs operation 1 (such as single click, long press, etc.) on window 602 in the interface 605, the mobile phone displays the following Figure 6 The interface shown in (4) includes a window 606 for displaying information about shared objects stored in a shared application. That is, operation 1 is used to expand detailed information about shared objects stored in a shared application. Window 606 contains information about shared objects stored in the shared application, such as shared objects 607, shared objects 608, and shared objects 609. Optionally, the shared application can also sort the shared objects displayed in window 606 according to preset rules. For example, the shared objects are sorted according to the time sequence in which they are stored in the shared application, or sorted by type (such as text type, picture type, video type, folder type, mini-program type, card type, etc.), or sorted according to the file size of the shared objects, or sorted according to a combination of two or more rules, etc. The embodiment of the present application does not limit the sorting of shared objects in window 606. It should be noted that the above has explained that the user can store multiple controls at one time (that is, a shared object includes multiple controls). When the mobile phone sorts the shared objects according to the preset rules, there may be a situation where different controls in a shared object are separated (that is, there are controls of different shared objects between multiple controls in the same shared object). Then, the mobile phone can associate multiple controls belonging to the same shared object so that the user can share multiple controls stored in the shared application at one time to the second application at one time. For example, the shared application includes shared objects 1 and shared objects 2. Among them, shared object 1 includes a first type of control 1 (such as a text control) and a second type of control 2 (such as a picture control), that is, control 1 and control 2 are stored in the shared application by the user at one time. Shared object 2 includes a second type of control 3 (such as a picture control). When the mobile phone sorts according to the type of control, control 1 of shared object 1 and control 3 of shared object 2 are arranged together, while control 1 and control 2 are not arranged together. In one example, the mobile phone can mark control 1 and control 2 of shared object 1 to indicate that control 1 and control 2 belong to the same shared object (that is, shared object 1). Of course, in some other embodiments, the mobile phone may also prioritize arranging multiple controls belonging to the same shared object together, and other controls may be sorted using other rules. For example, control 1 and control 2 may overlap (visually can be seen as a whole), and there is no overlap with control 3. When the user's operation of expanding control 1 and control 2 is detected, control 1 and control 2 are spread out, that is, control 1 and control 2 do not overlap at this time. Of course, the user can also operate again to make control 1 and control 2 overlap again.
[0144] Optionally, the mobile phone may also limit the maximum number of shared objects displayed in window 606 to prevent the interface of the first application or the second application from being blocked when there are many shared objects displayed in window 606. When the number of shared objects stored in the shared application is greater than the maximum number, some of the shared objects ranked later may be hidden. The user may view the hidden shared objects by, for example, sliding.
[0145] Furthermore, the window 606 also includes operation controls for each shared object, such as a delete control 610 for the shared object 607, a delete all control 611 for all shared objects, etc. Among them, the delete control 610 for the shared object 607 is used to delete the shared object 607 from the shared application. The delete all control 611 for all shared objects is used to delete all shared objects in the shared application with one click. It is understandable that the window 606 may also include other function controls for shared objects.
[0146] It should be noted that, since the shared objects stored in the shared application are stored independently in the shared application in the form of an interface (such as an Activity), the user can independently edit, modify, delete, and other operations on each shared object. It can be understood that the shared application in this application is an application independent of the first application and the second application, so the shared objects stored in the shared application are also independent of the first application and the second application. In other words, when a shared object has been stored in the shared application, when the first application switches to other interfaces (the interface no longer includes the shared object), the shared objects stored in the shared application will not be affected. Alternatively, the mobile phone exits the first application, the memory and other resources occupied by the first application are recycled, etc., and the shared objects stored in the shared application still exist. Similarly, when the user shares the shared object with the second application, the second application switches to other interfaces (the interface no longer includes the shared object) or the mobile phone exits the second application, it will not affect the shared objects stored in the shared application.
[0147] For example, here, the process of a user modifying a shared object in a shared application is described by taking the user modifying a shared object 607 as an example. Figure 6 As shown in (4), when it is detected that the user performs operation 2 (such as single click, long press, double click, etc.) on the shared object 607, the mobile phone displays the following Figure 7The interface 612 shown in (1) can be used to edit the selected shared object (i.e., shared object 607). In other words, operation 2 is used to select a shared object and enter the editing interface of the selected shared object. The user can add, delete, and modify the content of the shared object in interface 612, and can also modify the font format (bold, italic, underline, etc.) and paragraph format (such as alignment, etc.) of the text. Figure 7 As shown in (2), after the user modifies the content and / or format of the shared object, the modified content of the shared object can be saved by operating the save control 613. After detecting that the user operates the save control 613, the mobile phone can display the following Figure 7 It can be noted that the content and format of the shared object 607 have been modified accordingly.
[0148] In addition, the user can also select a specific shared object in the shared application to share with the second application through window 606. Figure 7 In the interface shown in (3), it is detected that the user performs operation 3 (such as long pressing, dragging, etc.) on the shared object 607, and the mobile phone shares the shared object 607 to the new email interface of the email application. Among them, operation 3 is used to select a shared object, and share the selected shared object to a specific application. It should be noted that operation 3 here is different from operation 2 mentioned above. For example, operation 3 can be specifically pressing and holding the shared object 607, dragging the shared object 607 out of the window 606, and dragging it to a specific position in the new email interface of the email application, for example, it can be the position in the new email interface where the shared object is to be inserted. Figure 7The interface 614 shown in (4) is an interface for inserting a shared object 607 in a new email interface. In some examples, the shared application or the second application can adaptively adjust the format (e.g., layout, etc.) of the inserted shared object according to the characteristics of the control to which the insertion position belongs in the second application (e.g., the size of the control, the existing content of the control, etc.). In other examples, the shared application can also automatically convert the type of the shared object according to the characteristics of the second application. For example, when the second application is a gallery application, the shared application can convert a shared object of a text control type into a picture and insert it into the second application. For another example, when the second application is a file management application, the shared application can convert a shared object of a text control type into a file format. For another example, when the second application is a memo application, the shared application can perform text recognition on a shared object of a picture type and insert the recognized text into the second application. Optionally, the content converted for the shared object here can be deleted after this sharing. In a specific implementation, the shared application can call a custom interface implementation, such as based on the Android Open Source Project (AOSP) Item interface modification, to achieve the conversion of the shared object.
[0149] In another example, when the user drags the shared object 607, after the shared object 607 is dragged out of the window 606, the mobile phone can hide the window 606. In this way, the mobile phone can display the entire interface of the second application, so that the user releases his finger at a specific position in the interface to instruct the mobile phone to insert the content of the shared object at the specific position.
[0150] In other embodiments, the user can select two or more shared objects in the shared application and share them with the second application at one time. Fig. 8A As shown in (1), in the shared object window 606 of the interface 615, the user can operate the shared objects 607 and 608, and then the user performs operation 3. In response to detecting that the user performs operation 3, the mobile phone displays the following Fig. 8A The interface 616 shown in (2) has the shared object corresponding to the shared object 607 and the shared object corresponding to the shared object 608 inserted into the interface 616.
[0151] In some other embodiments, the user may also share all shared objects in the shared application to the second application at once. Fig. 8A The interface 617 shown in (3) does not expand the details interface of the shared object. If it is detected that the user performs operation 4 (such as dragging, double-clicking, long pressing, etc.) on window 602, the mobile phone displays the following Fig. 8AIn the interface 618 shown in (4), all the shared objects in the shared application have been inserted into the interface 618. That is, the above operation 4 is used to share all the shared objects in the shared application to other applications at one time. It should be noted that operation 4 is different from the above operation 1. For example, operation 4 can be specifically to press and hold window 602 and drag window 602 to a specific position in the new email interface of the email application, such as the position in the new email interface where the shared object is to be inserted.
[0152] It should also be noted that the above Figure 6 , Figure 7 and Fig. 8A The interfaces and related operations of the shared applications shown are only examples, and the embodiments of the present application do not impose specific restrictions on the interfaces and related operations in the shared applications. For example, in the foregoing, the editing interface of a shared object can be directly entered through window 606 to edit the shared object. In some other examples, the management interface of a shared object (which can be considered as the secondary interface of the shared application) can also be entered through window 606 (which can be considered as the primary interface of the shared application), and all shared objects in the shared application can be managed through the management interface, such as editing, deleting, sharing, grouping, sorting, and other operations.
[0153] like Figure 8B As shown in (1), the window 606 displayed by the mobile phone includes an editing control 801. In response to detecting that the user operates the editing control 801, the mobile phone displays Figure 8B The editing interface 802 of the shared object shown in (2). In one example, the shared objects in the editing interface 802 are sorted according to the type of shared objects (e.g., text type, picture type, video type, program type, etc.). The editing interface 802 includes functional controls for operating each shared object, such as editing controls, sharing controls, deletion controls, etc., and the user can edit the corresponding shared object through these controls. Of course, the user can also modify the sorting, grouping, etc. of each shared object through the editing interface 802. In another example, the functional controls for operating each shared object may not be displayed in the editing interface 802. When the mobile phone detects that the user performs a specific operation (e.g., a long press operation) on a shared object in the editing interface 802, the shared object is selected, and the mobile phone then displays the functional controls corresponding to the selected shared object. Of course, the user can also select multiple shared objects and perform unified operations on the selected multiple shared objects at the same time. The relevant operations are not described one by one here.
[0154] Optionally, in some other embodiments, such as Figure 8BAs shown in (2), when it is detected that the user performs an operation of expanding the history record, for example, the user slides up from the bottom of the screen by a preset distance and then hovers for a preset time (for example, 3 seconds), the mobile phone can display the following Figure 8B The history record 803 shown in (3) in the figure. In one example, the history record 803 shows that the user has recently added a shared application or browsed / shared a shared object within a preset time period (e.g., three days), and the shared object has been deleted by the user (i.e., the shared object is not displayed by the user in the editing interface 802). The user can restore the shared object through the restore control 804. That is, the shared object is redisplayed in the editing interface 802, or the shared object can also be displayed in the window 606. The user can also delete the shared object through the delete control 805. That is, the shared application deletes the shared object.
[0155] Optionally, in some other embodiments, such as Figure 8B As shown in (3), when a user operation is detected, such as a user sliding upward from the bottom of the screen, the mobile phone exits the interface of the history record 803 and displays the following Figure 8B Interface 802 shown in (2).
[0156] Optional, when displayed on the phone Figure 8B When the interface 802 shown in (2) is displayed, or when the mobile phone displays the Figure 8B When the interface shown in (1) is displayed, the mobile phone detects that the user performs a return / exit operation, and the mobile phone can exit the shared application. Of course, the user can also use other methods to instruct the mobile phone to exit the shared application. For example, when the window of the shared application is in the collapsed state, such as Fig. 8A In the window 602 shown in (4), when it is detected that the user presses and holds the window 602 and slides upward to drag the window 602 out of the interface, the mobile phone exits the shared application. Alternatively, when it is detected that the user presses and holds the window 602 for a preset time (the user does not release the window 602 at this time), the mobile phone can display a delete control, and when it is detected that the user continues to drag the window 602 to the delete control position, the mobile phone exits the shared application. In short, the embodiment of the present application does not specifically limit the way in which the mobile phone exits the shared application.
[0157] Scenario 2: Video sharing scenario
[0158] In the video sharing scenario, the shared object includes at least one video. The shared object may be, for example, one or more videos, a combination of a video and text, a combination of a video and a picture, a combination of a video, text and a picture, and the like.
[0159] (1) The shared object includes a video.
[0160] For example, Fig. 9As shown in (1), the mobile phone displays the interface 701 of the first application, which includes a video control 702 and a text control 703. When the mobile phone detects that the user performs a preset operation on the video control 702 to trigger the sharing function, the mobile phone starts the sharing function, and the mobile phone can determine that the video control 702 is a shared object. It should be noted that at this time, the video control 702 in the interface 701 can be in an unplayed state, a played state, or a paused state. In other words, when the video control 702 is in any state, the user can save the video control 702 to the shared application.
[0161] In a specific embodiment, the first application of the mobile phone sends the content of the video control 702 (for example, the playback address of the video) to the sharing application, and the sharing application calls the sharing module to create a new Activity component, and generates a video control in the Activity component according to the video control 702, and sets the content of the video control to the content of the video control 702 in the first application (that is, the playback address of the above video). It should be noted that at this time, the newly created video control in the sharing application can retain the playback state and playback progress of the video control 702 in the first application. That is, the playback state and playback progress of the newly created video control in the sharing application are consistent with the playback state and playback progress of the video control 702. Alternatively, the newly created video control in the sharing application can also default to the unplayed state (that is, the playback progress is 0). In some other embodiments, the newly created video control in the sharing application can also be a clip of the video control 702 in the first application. For example, when the video control 702 in the first application is playing, after detecting that the user performs a preset operation to trigger the sharing function, the third application can record the current playback time of the video control 702, and intercept a video clip of a preset duration (for example, 15 seconds) from the current playback time as the content of the newly created video control by the third application. For another example, when it is detected that the user performs a preset operation to trigger the sharing function on the video control 702 in the first application, the third application can also directly draw the video editing interface corresponding to the video control 702. Then, the editing operation on the video control 702 can be received, such as intercepting a part of the clip to set the content of the new video control of the third application. In other words, the shared object stored in the third application is the clip in the selected shared video in the first application.
[0162] And, if Fig. 9 As shown in (2), the shared application generates a preview 705 of the newly created video control, and the preview 705 prompts the user with a certain animation effect that the shared object has been stored in the shared application. For example: Fig. 9 Middle (2) Fig. 9 (3) and Fig. 9 (4) shows the animation effect of preview 704. Specifically, Fig. 9 Zhong (2) and Fig. 9 As shown in (3), the preview 705 gradually decreases and moves toward the window 704. Fig. 9 As shown in (4), when the distance between the preview 705 and the window 704 is less than a preset distance value, the preview 705 disappears. Optionally, the subscript of the window 704 is increased by 1. In general, the animation effect of the preview 705 gives the user a visual effect that the preview 705 is sucked into the window 704, which is used to inform the user that the shared object has been stored in the shared application.
[0163] like Fig. 9 As shown in (4), when it is detected that the user performs operation 1 on the window 704 of the shared application, the mobile phone can display the following Fig.10 Window 706 shown in (1) is used to display information about shared objects in a shared application, such as displaying a newly created video control of a shared application. It can be noted that window 706 also includes other functional controls for newly created video controls of a shared application, such as a delete control and a play control. Among them, the play control can be used to indicate that a newly created video control in a shared application is played in window 706. In other words, a user can play a shared object of the video class in window 706 to view more video content, which is helpful for the user to determine whether to share the video based on more video content. Of course, window 706 can also include an editing control for the video control (not shown in the figure). When it is detected that a user operates the editing control, the shared application can call an application / tool with a video editing function in the mobile phone or call a system service related to video editing, etc., to facilitate the user to edit the video control in the shared application.
[0164] like Fig.10 As shown in (2), the mobile phone displays the interface 707 of the second application, such as the new email interface of the email application. When it is detected that the user performs operation 3 on the shared object in window 706, the mobile phone shares the selected shared object to the second application. Fig.10 The interface 708 shown in (3) is an interface for inserting a shared object in the new email interface.
[0165] In some embodiments, after the user performs operation 3 for the shared object in window 706, the mobile phone can also determine whether the insertion position of the second application supports the control type (e.g., video type) and / or format (e.g., mp4 or wmv) corresponding to the shared object. If supported, the mobile phone can directly insert the content of the shared object at the insertion position of the second application. For example, Fig.10As shown in (3), the cursor position in the email body (i.e., the insertion position) supports the insertion of video controls, so a shared object of the video type can be directly inserted. In a specific implementation, the application package of the second application can add a declaration, which is used to indicate the type of shared objects that the second application supports for insertion. Then, when the shared application needs to share a shared object to the second application, it can first obtain the declaration of the second application to determine whether the current insertion position supports the type of shared object to be inserted. In another specific implementation, the application package of the second application does not need to add additional declarations. Then, when the shared application needs to share a shared object to the second application, it can first obtain the information of the control at the current insertion position of the second application (such as the type, characteristics, status, etc. of the control), and automatically determine whether the control at the current insertion position supports the type of shared object to be inserted.
[0166] If not supported, the mobile phone can adjust the content of the shared object according to the control type supported by the insertion position of the second application to insert the content of the shared object. Fig.10 In the interface 710 shown in (4), if the cursor position in the email body does not support inserting a video control but supports inserting text, the mobile phone can insert the playback address 711 of a shared object of the video type, such as a uniform resource locator (URL). Fig.11 In the interface 712 shown, the cursor position in the email body does not support the insertion of video controls, but supports the insertion of pictures. Then the mobile phone can obtain all or part of the image frames in the shared object of the video type and insert the image frames into the email body, such as the inserted picture 713 in the interface 712 (the number of pictures 713 can be one or more). For other contents in this embodiment, please refer to the description of related contents in other scenarios.
[0167] In some other embodiments, operation 3 is a series of actions such as the user's finger pressing the preview of a shared object in a shared application, moving the preview to the second application interface, and releasing the finger when the finger reaches the insertion position (i.e., the finger leaves the mobile phone touch screen) as an example. In the process of the user's finger pressing the preview of a shared object in the shared application and moving it, the mobile phone (for example, the second application) can also obtain the current position of the user's finger in real time, and determine the control corresponding to the current position of the finger (the control of the second application), and determine whether the control supports the insertion of the type (for example, video type) and / or format (for example, mp4 or wmv) of the shared object. If the control supports the insertion of the type of shared object selected by the current user, the user can be prompted so that the user can choose whether to release the control at the current position, that is, insert the shared object at the current position. If the control does not support the type of shared object selected by the current user, the user can be prompted so that the user does not release the control position, that is, the user does not choose to insert the shared object at the current position. For example: when the user's finger presses the preview of a shared object in the shared application and starts to drag, the preview of the shared object moves with the movement of the user's finger. When the user's finger reaches the interface of the second application, if the current position of the finger supports the insertion of the shared object, the preview of the shared object moving with the hand presents state 1. If the current position of the finger does not support the insertion of the shared object, the preview of the shared object moving with the hand presents state 2, where state 1 and state 2 are different. For example, compared with state 1, state 2 adds a prohibited mark, etc. Alternatively, state 1 is in color and state 2 is in gray, etc.
[0168] In some other embodiments, when the mobile phone displays window 706 (i.e., expands the details of the preview of the shared object in the shared application), the mobile phone can also obtain in real time the type and / or format of the shared object supported by the insertion position of the second application. In addition, the preview of the shared object displayed in window 706 that does not correspond to the type and / or format supported by the insertion position of the second application is set to a non-insertable state (e.g., grayed out). That is, the user cannot perform the operation of inserting the shared object set to a non-insertable state into the second application. It can be seen from this that the mobile phone can detect in real time whether each control in the second application supports the type and / or format of the shared object selected by the user, and display corresponding user prompts to guide the user to select the insertion position, so as to improve the interaction efficiency between the user and the mobile phone.
[0169] It can be seen that even in some scenarios, when the video control in the first application cannot be selected by the user, the above solution can be used to share the video control that cannot be selected by the user with other applications, expanding the application scenarios of information sharing between applications and meeting more sharing needs of users.
[0170] In addition, when the second application interface does not support the insertion of video-type shared objects, the playback address of the video-type shared object, the included image frames, etc. can be inserted. This is also conducive to expanding the application scenarios of information sharing between applications and meeting more sharing needs of users.
[0171] (2) The shared object includes a combination of video and text.
[0172] For example, Fig.12 As shown in (1), the mobile phone displays the interface 701 of the first application, and the interface 701 includes a video control 702 and a text control 703. The user selects the video control 702 and the text control 703, and then the user performs a preset operation to trigger the sharing function. In response to detecting that the user performs the preset operation, the mobile phone displays the following Fig.12 The interface shown in (2) includes a window 704 for prompting that the sharing function has been activated. In addition, the mobile phone generates a preview 714 of the selected shared object (video control 702 and text control 703). The specific implementation of the mobile phone generating the preview 714 can refer to the previous description and will not be repeated here. Optionally, the preview 714 can use a stereoscopic effect to prompt the multiple shared objects (video control 702 and text control 703) stored this time. Optionally, the preview 714 can use a specific animation effect to prompt that the selected shared object has been stored. Optionally, after the animation effect of the preview 714 ends, the mobile phone can display the following Fig.12 In the interface 715 shown in (3), the number of the subscript of the window 704 increases by 2, which is used to prompt that a total of two shared objects are stored in the shared application.
[0173] For other contents in this embodiment, such as how to share one or more shared objects from a shared application to a second application, etc., reference may be made to the description of related contents in other scenarios, which will not be repeated here.
[0174] It can be seen that the embodiments of the present application can realize the one-time storage of multiple different types of controls into a shared application, thereby increasing the diversity of types of information shared between applications and improving the efficiency of sharing.
[0175] Scenario 3: Card or mini-program sharing scenario
[0176] The technical solution provided in the embodiment of the present application can also be used to realize the sharing of program algorithm type shared objects between applications. The program algorithm type shared objects include, for example, cards (such as weather cards, flight cards, etc.), applets, etc. It can be understood that the program algorithm type shared object is essentially a lightweight application. Then, the program algorithm type shared object includes UI controls, logic codes between UI controls, and related resources, etc.
[0177] (1) The shared object includes one or more cards
[0178] For example, Fig.13 As shown in (1), the user activates the negative first screen 1301 of the mobile phone, which includes multiple cards of situational intelligence, such as a courier card 1302 (displaying the courier information corresponding to the mobile phone number registered by the mobile phone user), a travel assistant card 1303 (displaying the travel information corresponding to the mobile phone number registered by the mobile phone user, such as flight information, train information, taxi information, etc.) and a parking card 1304 (displaying the parking information corresponding to the license plate number registered by the mobile phone user). In response to detecting that the user performs a preset operation to trigger the sharing function on the courier card 1302, the mobile phone displays the following information: Fig.13 In the interface 1305 shown in (2), a window 1306 is displayed in the interface 1305 to prompt the user that the shared application has been started. Optionally, the window 1306 also displays a preview 1307 of the express card (i.e., the shared object). Optionally, the preview 1307 can use a certain animation effect, such as moving into the icon 1306 and disappearing, prompting the user that the express card has been stored in the shared application. In a specific implementation, after the negative one screen 1301 detects that the user performs a preset operation, it determines that the shared object is the express card 1302 according to the location where the user performs the preset operation, and the card information of the express card 1302 (including UI controls, logic codes between UI controls, and related resources, etc.) is passed to the shared application, and the shared application creates a new Activity and a new card in the Activity. The content of the card is set to be the same as that of the express card 1302. It can be noted that the newly created card in the shared application and the express card 1302 in the negative first screen 1301 are independent cards, but since the contents of the two cards are the same, the newly created card in the shared application can be kept consistent with the contents of the express card 1302 in the negative first screen 1301. Fig.13 In the interface 1308 shown in (3), the number of the subscript of the window 1306 increases by 1, indicating that a new shared object (i.e., the express card) is added to the shared application.
[0179] When the user wants to share the shared object to a second application, the second application can be started. Fig.14 The interface 1309 shown in (1) is a chat interface after the mobile phone starts the instant messaging application. The user can perform operation 1, which is used to expand the detailed information of the shared object stored in the shared application. In response to detecting that the user performs operation 1, the mobile phone displays the following Fig.14The interface 1310 shown in (2) has a window 1311 displayed therein, which is used to display detailed information of the shared objects stored in the shared application, including the previously stored express card 1312. It can be noted that a refresh control 1313 and a delete control for the express card are also displayed in the express card 1312. As described above, the express card includes UI controls, logic codes between UI controls, and related resources, so the user can refresh the content in the express card 1312 by operating the refresh control 1313.
[0180] The user can perform operation 3 on the express card 1312, and operation 3 is used to share the express card 1312 to the second application (such as an instant messaging application). In one example, operation 3 is, for example, pressing and holding the express card 1312, and dragging the express card 1312 to the information input box in the interface 1310. In response to detecting that the user performs operation 3 on the express card 1312, the mobile phone displays the following Fig.14 In the interface 1314 shown in (3), the information input box of the interface 1314 displays a preview of the express card, and of course, the card information can also be displayed to indicate that the shared object of the card type is shared to the current interface. In response to detecting that the user operates the send control, the mobile phone displays the following Fig.14 The interface 1315 shown in (4) shows that the mobile phone user has sent the shared object shared to the instant messaging application to the corresponding contact through the instant messaging application server.
[0181] It should be noted that when the shared objects stored in the shared application are shared objects of program algorithms (such as cards, mini-programs, etc.), each shared object in the shared application updates its own content. Fig.15 In the interface 1316 shown in (1), the interface 1316 displays a window 1311, which displays various shared objects stored in the shared application, such as a video control 1317 and a courier card 1312. It can be noted that a refresh control 1313 is also displayed in the courier card 1312, which can be used to update the content of the shared object corresponding to the courier card 1312. In response to detecting that the user operates the refresh control 1313, the mobile phone displays the following Fig.15In the interface 1318 shown in (2), in the window 1311 in the interface 1318, the content of the shared object corresponding to the express card 1312 has been updated, such as the status of package 1 has been updated from "arrived at the post station" to "collected". It can be understood that when the user shares the shared object to other applications, the content of the shared object viewed on other applications has been updated accordingly. Of course, in some other embodiments, the shared objects of the program algorithm class in the shared application can be updated in real time by default, or, when the user expands the preview of each shared object stored in the shared application (that is, when the mobile phone displays the window 1311), the real-time update begins.
[0182] It should also be noted that in some other embodiments, the user needs to share the shared object in the first application to multiple second applications. Take sharing a courier card as an example. The user stores the shared object of the first application in the shared application, and then directly shares the shared object to multiple second applications through the shared application. The process of storing the shared object of the first application in the shared application and sharing the shared object to the first second application (such as an instant messaging application) through the shared application can be referred to in the above description. Fig.13 and Fig.14 Then, the user can directly start the second second application (such as the mail application), open the new mail interface of the mail application, and perform operation 3 on the preview corresponding to the shared object by sharing the application, so as to share the shared object of the first application to the second application again. And so on. It can be seen that when sharing the shared object in the first application to multiple second applications, the sharing method provided in the embodiment of the present application is conducive to avoiding the user from repeatedly switching between the first application and multiple second applications, thereby improving the sharing efficiency.
[0183] (2) The shared object includes one or more mini-program pages
[0184] For example, Fig.16 As shown in (1), the mobile phone displays the main interface 1601 of the instant messaging application. In response to detecting that the user performs a pull-down operation (or other operations), the mobile phone displays the following Fig.16 The interface 1602 shown in (2) in the figure displays multiple mini-program icons. For example, it includes icons of recently used mini-programs and icons of mini-programs that the mobile phone user has collected. When the user wishes to share a mini-program between applications, the user can directly perform a preset operation to trigger the sharing function at the icon of the corresponding mini-program. For example, the user performs a preset operation on the icon 1603 of mini-program 6. In response to detecting that the user performs a preset operation on the icon 1603 of mini-program 6, the mobile phone displays the following. Fig.16The interface 1604 shown in (3) in the figure can display a window 1606 of the shared application (the number indicated by the subscript of the window 1606 is "2") and an icon 1605 of the small program 6. The icon 1605 of the small program 6 can optionally use a certain animation effect to prompt the user that the small program 6 is being stored in the shared application. Fig.16 In the interface 1607 shown in (4), the number indicated by the subscript of the shared application window 1606 has increased by 1 (changed to "3"), indicating that a new shared object has been stored in the shared application. It can be understood that the mobile phone sends the program algorithm corresponding to the small program 6 to the shared application, and the shared application creates a new Activity, which includes all the contents of the small program 6 (including UI controls, logic codes between UI controls, and related resources, etc.).
[0185] In some other embodiments, the user can also save the current interface of the mini-program into the shared application in the interface of the opened mini-program. Fig.17 The interface 1608 shown in (1) is an interface of the mini-program 5. The interface 1608 also includes a window 1606 for sharing applications. At this time, the number indicated by the window 1606 is "3". In response to detecting that the user performs a preset operation in the interface, the mobile phone displays the following Fig.17 The interface 1609 shown in (2) in the figure. At this time, the interface 1609 includes a window 1606 of a shared application. At this time, the number indicated in the window 1606 is "4", indicating that the shared application has stored a new shared object.
[0186] It should be noted that when a user shares a mini-program or a certain interface of a mini-program to a second application through a sharing application, it can be determined first whether the second application supports the insertion of a shared object of a program algorithm type. If supported, the shared object of the program algorithm type can be directly inserted. For example, the chat interface of an instant messaging application supports the insertion of a shared object of a program algorithm type. Optionally, in some embodiments, the second application can also display an authorization interface to prompt the user to authorize the insertion of a shared object of the program algorithm type at the current insertion position.
[0187] If it is not supported, you can also insert a link corresponding to the shared object of the program algorithm type, and the user can also enter the shared object of the program algorithm type through the connection in the second application. For example, the new email interface of the email application does not support shared objects of the program algorithm type, but can support the insertion of links corresponding to shared objects of the program algorithm type. Alternatively, when the second application does not support the insertion of shared objects of the program algorithm type (for example, the second application does not support the version of the shared object of the program algorithm type), the second application can also jump to the download center (such as the application market) so that the user can download the related shared objects of the program algorithm type through the download center.
[0188] Scenario 4: File or folder sharing scenario
[0189] For example, Fig.18 As shown in (1), the mobile phone displays a file management interface 1801. The interface 1801 includes files in different directories. For example, the interface 1801 displays information of multiple files in the download directory, such as the creation time / update time of the file, the file type icon, the file name, etc. Optionally, the interface 1801 can also display a window 1802 for sharing applications. At this time, the number of shared objects indicated by window 1802 is 3. When the user wants to share one or more files between applications, the user can first select one or more files to be shared, such as file 1 and file 2, and then start the preset operation of the sharing function. In response to detecting that the user performs the preset operation, the first application can obtain the storage path of the selected file 1 and file 2, and send the storage path of file 1 and file 2 to the sharing application. The sharing application can directly obtain the original files of file 1 and file 2 according to the storage path of file 1 and file 2. Then, the mobile phone displays as shown. Fig.18 The interface 1803 shown in (2) in the figure. The interface 1803 shows a preview 1804 of the shared objects (i.e., file 1 and file 2). In addition, the preview 1804 moves closer to the window 1802 of the shared application with a certain animation effect until it disappears. The mobile phone displays the following Fig.18 The interface 1805 shown in (3) in the figure. At this time, the number of shared objects indicated by the window 1802 of the shared application is 4, that is, there are new shared objects stored in the shared application.
[0190] Scenario 5: Cross-device sharing scenario
[0191] It should be noted that the above scenarios 1 to 4 are all described by taking the sharing of information between different applications on the same terminal 100 as an example. In fact, the technical solution provided in the embodiment of the present application is also applicable to the scenario of sharing information between different applications on different terminals 100. In other words, the technical solution provided in the embodiment of the present application can realize the sharing of information (i.e., shared object) of a first application on a terminal to a second application on the terminal. It can also realize the sharing of information (i.e., shared object) of a first application on a terminal to a second application on another terminal.
[0192] For example, Fig.19As shown, the mobile phone displays the interface 1901 of the first application (for example, the mini-program list interface of the WeChat application). At this time, the window 1902 of the shared application is also displayed on the interface 1901. At this time, the subscript of the window 1902 indicates that the number of shared objects included in the shared application is 2. When the mobile phone detects that the user performs a preset operation on the icon of the mini-program 6 in the interface 1901, a preview 1903 of the mini-program 6 is generated, and the preview 1903 gradually approaches the window 1902 of the shared application until it disappears. The mobile phone displays the interface 1904, and the subscript of the window 1902 of the shared application indicates that the number of shared objects in the shared application has become 3. Then, the mobile phone synchronizes the change information of the newly added shared objects in the shared application to the computer. It should be noted that the mobile phone and the computer establish a communication connection in advance and complete mutual authentication. In one example, the mobile phone and the computer log in to the same Wi-Fi network, and / or, the mobile phone and the computer log in to the same user account (for example, a Huawei account, etc.), and / or, the mobile phone and the computer are mutually trusted devices through the user's manual authorization, etc. The embodiment of the present application does not limit the mutual authentication process between the mobile phone and the computer.
[0193] In a specific implementation, the mobile phone and the computer can achieve data synchronization in the shared application between the mobile phone and the computer through the distributed soft bus technology, that is, the synchronization of the shared object data. Specifically, when the shared object in the shared application of the mobile phone changes, the mobile phone will obtain the list of mutual trust devices, register the online and offline notification of the mutual trust device, and maintain the information of the mutual trust device in real time. Among them, the mutual trust device can be, for example, a device that logs in to the same Wi-Fi network as the mobile phone, and / or, logs in to the same user account as the mobile phone (such as a Huawei account, etc.), and / or, the user manually authorizes the device that the mobile phone trusts each other, etc. Further, the mobile phone can also filter the devices that do not support the sharing of shared objects in the mutual trust devices. For example, the filtered mutual trust devices include computers. The shared application in the mobile phone pulls up the shared application in the computer and sends the data of the shared object updated by the mobile phone to the computer so that the shared application in the computer updates the data of the shared object. It can be seen that the data of the shared object in the shared application of the mobile phone is consistent with the data of the shared object in the shared application in the computer. It can be seen that the distributed soft bus provides a unified distributed communication capability for the interconnection and intercommunication between multiple terminals of collaborative display, creating conditions for senseless discovery and zero-wait transmission between terminals. In this way, application developers only need to focus on the implementation of business logic without having to worry about networking methods and underlying protocols.
[0194] Of course, other methods can also be used to synchronize data in shared applications between mobile phones and computers. For example, after a user updates a shared object in a shared application through a mobile phone, the mobile phone sends the updated data to a server, which is then pushed to the computer by the server, so that the information in the shared application on the computer is consistent with the information in the shared application on the mobile phone. The embodiments of the present application do not limit the method for synchronizing data in a shared application between a mobile phone and a computer.
[0195] It should also be noted that in some other embodiments, the mobile phone also provides a cancellation mechanism for preset operations. For example: when the mobile phone detects that the user performs a preset operation, the mobile phone can display a cancel control on the interface to terminate the process of storing the shared object in the shared application. That is to say, during the entire process of the mobile phone storing the shared object of the first application in the shared application, if the user is detected to operate the cancel control, the mobile phone will terminate the storage of the shared object of the first application in the shared application. Alternatively, within the preset time (for example, 5 seconds) when the shared object of the first application is just stored in the shared application, if the user is detected to operate the cancel control, the mobile phone can also delete / withdraw the newly stored shared object in the shared application. For another example: take the preset operation of pressing and holding the shared object in the first application and dragging it to the window 1902 of the shared application as an example. When it is detected that the user is pressing and holding the shared object in the first application and dragging it in the direction close to the window 1902 of the shared application, the mobile phone may have started the process of storing the shared object in the shared application. However, when the mobile phone detects that the user has not let go of the shared object of the first application before dragging it to a specific location (such as the area where the window 1902 of the shared application is located), or drags it in a direction away from the window 1902 of the shared application, the mobile phone can terminate the process of storing the shared object in the shared application. For another example: when the mobile phone detects that the user performs a preset operation, the mobile phone starts the process of storing the shared object in the shared application. During the entire process of the mobile phone storing the shared object of the first application in the shared application, if it is detected that the user performs a specific operation (such as performing a lock screen operation), the mobile phone terminates storing the shared object of the first application in the shared application. In summary, the embodiments of the present application do not limit the specific implementation of the cancellation mechanism of the preset operation.
[0196] Continue to see Fig.19, the computer displays the interface 1905 of the second application (for example, the new email interface of the email application). It can be noted that the window 1906 of the shared application displayed in the interface 1905 indicates that the number of shared objects in the shared application indicated by the window 1906 is 3. That is, the data in the shared application in the computer and the mobile phone are synchronized. In response to the user operating the window 1906 of the shared application (for example, clicking with the left button of the mouse), the computer displays the interface 1907, and the shared application expands the window 1908 in the interface 1907, and the window 1908 includes the shared objects stored in the shared application. In response to detecting that the user operates the applet 6 (for example, clicking with the left button of the mouse on the icon 1909 of the applet 6 and dragging it to the insertion position in the second application), the computer inserts the applet 6 in the second application. Of course, before the computer inserts the applet 6 in the interface of the second application, it can also judge whether the current insertion position of the second application supports the insertion of the applet 6. Please refer to the previous description for related content, which will not be repeated here.
[0197] It can be seen that multiple terminals 100 can also share information between applications by sharing applications, and improve sharing efficiency.
[0198] It should also be noted that the embodiments in the above-mentioned scenarios can be combined arbitrarily if the solutions themselves are not contradictory.
[0199] like Fig. 20 FIG. 1 is a flow chart of a method for information sharing between applications provided in an embodiment of the present application, the method comprising:
[0200] S2001. The first application displays a first interface.
[0201] The first terminal starts a first application and displays a first interface of the first application.
[0202] S2002: Receive an operation of the user selecting a first interface element (ie, a shared object) in the first interface.
[0203] The shared object is information in the first application that the user wants to share, and the shared object can be one or more of text, picture, video, card, mini program, and file.
[0204] In some examples, this step S2002 may also be performed after step S2003. Alternatively, this step S2002 may not be performed, that is, the user does not need to perform the operation of selecting a shared object in the first interface, and the first terminal may automatically determine the shared object in the first interface according to the position of the preset operation performed by the user in step S2003. For details, please refer to the description of the relevant content in the previous text.
[0205] S2003: Receive a preset operation performed by the user.
[0206] Among them, the preset operation is an operation that triggers the first terminal to start the shared application, or, when the first terminal has started the shared application, the preset operation is used to trigger the process of storing a new shared object. The preset operation is, for example, any of the predefined long press, double click, gravity press, knuckle tapping, finger drawing of preset patterns (such as closed graphics, graphics of special letters or characters, etc.), three-finger sliding, dragging, air gestures, etc. Optionally, the preset operation can also be inputting a specific voice command, etc. The embodiment of the present application does not limit the specific form of the preset operation that triggers the mobile phone to start the sharing function.
[0207] S2004: The first application sends information about the first interface element to the shared application.
[0208] In some examples, when the first interface element is any one or more of text, picture, and video, the information of the first interface element includes the content of the corresponding text control, the content of the picture control, and the content of the video control, etc.
[0209] In other examples, when the first interface element is a card or a mini-program, the information of the first interface element includes the content of the UI controls (ie, the first interface element) contained in the card or mini-program, the logic code between the UI controls, and related resources, etc.
[0210] In some other examples, when the first interface element is a file stored in the first terminal (eg, a document, a picture, an audio, a video, an executable file, etc.), the information of the first interface element includes a storage path corresponding to the file, etc.
[0211] S2005: The shared application creates a new active component, creates a new second interface element in the active component, and sets the content of the second interface element according to the information of the first interface element, wherein the second interface element includes at least part of the content of the first interface element.
[0212] It can be understood that the second interface element in the shared application is a copy of the first interface element in the first application, and the second interface element in the shared application is independent of the first application.
[0213] S2006: The shared application draws a preview of the second interface element. The preview of the second interface element uses a certain animation effect to prompt the user that the shared object in the first application has been stored in the shared application.
[0214] In some other embodiments, the first application may draw a preview of the first interface element in this step, and the preview of the first interface element uses a certain animation effect to prompt the user that the shared object in the first application has been stored in the shared application. This is shown in step S2006'.
[0215] S2007. The second application displays a second interface.
[0216] In one example, the first terminal starts the second application and displays the second interface of the second application. In this scenario, the subsequent steps will realize information sharing between different applications on the same terminal (ie, the first terminal).
[0217] In another example, the second terminal starts the second application and displays the second interface of the second application. In this scenario, subsequent steps will implement information sharing between different applications on different terminals (ie, the first terminal and the second terminal).
[0218] S2008: The sharing application detects that the user performs a sharing operation on the second interface element.
[0219] In the scenario of information sharing between different applications on the same terminal (ie, the first terminal), the sharing application on the first terminal detects that the user performs a sharing operation on the second interface element.
[0220] In the scenario of information sharing between different applications on different terminals (i.e., the first terminal and the second terminal), it is the shared application on the second terminal that detects that the user performs a sharing operation on the second interface element. It should be noted that in this scenario, the data in the shared application on the first terminal (i.e., the information of the shared object) and the data in the shared application on the second terminal (i.e., the information of the shared object) are kept updated synchronously. In other words, when the data in the shared application on the first terminal changes (for example, the first terminal stores the first interface element in the first application into the shared application), the changed data will be synchronized to the shared application on the second terminal.
[0221] S2009: The shared application sends information about the second interface element to the second application.
[0222] The information of the second interface element may refer to the above description of the information of the first interface element.
[0223] S2010. The second application inserts a shared object in the second interface according to the information of the second interface element, that is, a third interface element is displayed in the second interface of the second application, and the third interface element is used to present the content of the second interface element.
[0224] In some examples, the second application can directly insert a third control in the second interface, and the content of the third control is consistent with the content of the second interface element, that is, the third control is a copy of the second space. For example, the second interface element is a text control, a picture control, or a video control, and the second application can directly insert a text control, a picture control, or a video control in the second interface.
[0225] In other examples, the second application converts the content of the second interface element according to the type of shared objects supported for insertion in the second interface. Then, the converted content is inserted in the second interface. For example, if the second interface element is a video control or a file, the second application can insert the playback address of the video in the video control or the storage path of the file in the second interface.
[0226] For other contents, please refer to the description of related contents in the previous article, which will not be repeated here.
[0227] like Fig.21 , which is a flow chart of another method for information sharing between applications provided in an embodiment of the present application, the method includes: step S2001 to step S2006', step S2101, and step 2007 to step S2010.
[0228] It should be noted that after step S2005, after the second interface element is newly created in the shared application of the first terminal, step S2101 is executed, that is, the shared application of the first terminal can send the second interface element to the shared application of the second terminal, that is, data synchronization of the shared object in the shared application of the first terminal and the second terminal is achieved. In other words, the second interface element is stored in the shared application of the second terminal. The execution order of step S2101, step S2006, and step S2006' in the embodiment of the present application is as follows.
[0229] In addition, when other changes occur to the data of the shared object in the shared application in the first terminal, for example, the user modifies the shared object or deletes the shared object through the shared application in the first terminal, the shared application in the first terminal will also synchronize the changed data to the shared application in the second terminal. Alternatively, when the data of the shared object in the shared application in the second terminal changes, the shared application in the second terminal will also synchronize the changed data to the shared application in the first terminal. In other words, the shared application in the first terminal maintains data synchronization with the shared application in the second terminal.
[0230] It should also be noted that, after executing step S2005, the first terminal may also synchronize the second interface element to other more terminals (including the second terminal) that are mutually trusted devices with the first terminal and support the shared object sharing function.
[0231] For other contents, please refer to the description of related contents in the previous article, which will not be repeated here.
[0232] The present application also provides a chip system, such as Fig. 22As shown, the chip system includes at least one processor 2001 and at least one interface circuit 2002. The processor 2001 and the interface circuit 2002 can be interconnected via lines. For example, the interface circuit 2002 can be used to receive signals from other devices (such as the memory of the terminal 100). For another example, the interface circuit 2002 can be used to send signals to other devices (such as the processor 2001). Exemplarily, the interface circuit 2002 can read the instructions stored in the memory and send the instructions to the processor 2001. When the instructions are executed by the processor 2001, the terminal can execute the various steps performed by the terminal 100 (such as a mobile phone) in the above-mentioned embodiment. Of course, the chip system can also include other discrete devices, which are not specifically limited in the embodiments of the present application.
[0233] The embodiment of the present application also provides a device, which is included in a terminal, and has the function of implementing the terminal behavior in any of the methods in the above embodiments. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes at least one module or unit corresponding to the above function. For example, a detection module or unit, a display module or unit, a determination module or unit, and a calculation module or unit, etc.
[0234] An embodiment of the present application also provides a computer storage medium, including computer instructions. When the computer instructions are executed on a terminal, the terminal executes any method in the above embodiments.
[0235] The embodiments of the present application also provide a computer program product. When the computer program product is run on a computer, the computer is enabled to execute any of the methods in the above embodiments.
[0236] An embodiment of the present application also provides a graphical user interface on a terminal, wherein the terminal has a display screen, a camera, a memory, and one or more processors, wherein the one or more processors are used to execute one or more computer programs stored in the memory, and the graphical user interface includes a graphical user interface displayed when the terminal executes any of the methods in the above embodiments.
[0237] It is understandable that, in order to realize the above functions, the above-mentioned terminals etc. include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the embodiments of the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the embodiments of the present invention.
[0238] The embodiment of the present application can divide the functional modules of the above-mentioned terminal etc. according to the above-mentioned method example. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present invention is schematic and is only a logical function division. There may be other division methods in actual implementation.
[0239] Through the description of the above implementation methods, technicians in the relevant field can clearly understand that for the convenience and simplicity of description, 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 is divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device and unit described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0240] Each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of software functional units.
[0241] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as flash memory, mobile hard disk, read-only memory, random access memory, disk or optical disk.
[0242] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A method for sharing information between applications, characterized in that: Applied to a terminal, the method comprises: The terminal displays a first interface of a first application, where the first interface includes a first interface element; The terminal detects a first operation acting on the first interface element; In response to detecting the first operation, the terminal displays a first window, the first window displays a fourth interface of a third application, the fourth interface includes information that the first interface element of the first application has been stored in the third application; The terminal detects a second operation, where the second operation is used to start a second application or switch to a second interface of the second application; In response to detecting the second operation, the terminal displays the second interface of the second application; and the terminal also displays the first window; the first window displays the fifth interface of the third application, the fifth interface of the third application includes the second interface element, and the second interface element includes at least part of the content of the first interface element; Receiving a third operation performed by a user on the second interface element in the first window; In response to receiving the third operation, the terminal displays a third interface of the second application, wherein the third interface includes a third interface element, and the third interface element is used to present content of the second interface element; The method further comprises: receiving a fifth operation of the user on the second interface element in the first window; the fifth operation is different from the third operation; In response to receiving the fifth operation of the user, the terminal displays a sixth interface of the third application, where the sixth interface is used to edit the second interface element in the third application.
2. The method according to claim 1, characterized in that Before displaying the fifth interface of the third application in the first window, the method further includes: The terminal detects a fourth operation performed by the user on the first window, where the fourth operation is used to display an interface element in the third application.
3. The method according to claim 1, characterized in that The method further comprises: receiving a sixth operation performed by the user on the first window, wherein the sixth operation is used to exit the third application; In response to receiving the sixth operation, the terminal no longer displays the first window.
4. The method according to any one of claims 1 to 3, characterized in that: When the second interface of the second application supports the insertion of an interface element of a type corresponding to the second interface element, the third interface element is the same as the second interface element; When the second interface of the second application does not support the insertion of an interface element of a type corresponding to the second interface element, the third interface element is an interface element obtained by converting the third application or the second application according to the second interface element.
5. The method according to any one of claims 1 to 3, characterized in that: The first interface element includes a text control; The second interface element includes a text control, the second interface element includes part of the text in the first interface element, and the layout of the text in the second interface element is different from the layout of the text in the first interface element.
6. The method according to claim 5, characterized in that The layout of the text in the third interface element is different from the layout of the text in the second interface element.
7. The method according to any one of claims 1 to 3, characterized in that: The first interface element includes a text control and a picture control, and the second interface element includes a text control and a picture control.
8. The method according to any one of claims 1 to 3, characterized in that: The first interface element includes a video control; the second interface element includes a video control, the status of the video in the second interface element is the same as the status of the video in the first interface element, and the status of the video includes at least one of a playing status, an unplayed status, or a playing progress.
9. The method according to claim 8, characterized in that When the second interface of the second application supports the insertion of a video-type interface element, the third interface element includes a video control; When the second interface of the second application does not support the insertion of a video-type interface element, the third interface element includes a link to the video or at least one picture control.
10. The method according to any one of claims 1 to 3, characterized in that: The first interface element includes cards and / or mini-programs; the second interface element includes cards and / or mini-programs; the data of the cards and / or mini-programs in the first interface element is the same as the data of the cards and / or mini-programs in the second interface element.
11. The method according to claim 10, characterized in that The third interface element includes a card and / or a mini-program, and the data of the card and / or the mini-program in the third interface element is the same as the data of the card and / or the mini-program in the first interface element.
12. The method according to any one of claims 1 to 3, characterized in that: In response to detecting the first operation, the terminal displays a first window, including: In response to detecting the first operation, the terminal starts a third application; the first application sends information about the first interface element to the third application; the third application generates the second interface element according to the information about the first interface element; Among them, the information of the first interface element includes one or more of the type of the first interface element, the position of the first interface element in the first interface, the content of the first interface element and the state of the first interface element; wherein the state of the interface element includes a selected state and an unselected state.
13. The method according to claim 5, characterized in that In response to detecting the first operation, the terminal displays a first window, including: In response to detecting the first operation, the terminal starts a third application; the first application sends information about the first interface element to the third application; the third application generates the second interface element according to the information about the first interface element; Among them, the information of the first interface element includes one or more of the type of the first interface element, the position of the first interface element in the first interface, the content of the first interface element and the state of the first interface element; wherein the state of the interface element includes a selected state and an unselected state.
14. A terminal, characterized in that: include: A processor, a memory and a touch screen, wherein the memory and the touch screen are coupled to the processor, the memory is used to store computer program codes, and the computer program codes include computer instructions. When the processor reads the computer instructions from the memory, the terminal executes the method for sharing information between applications as described in any one of claims 1 to 13.
15. A computer-readable storage medium, characterized in that: The method comprises computer instructions, and when the computer instructions are executed on a terminal, the terminal executes the method for sharing information between applications as claimed in any one of claims 1 to 13.
Citation Information
Patent Citations
Method and device for changing interface skins
CN106991018A
Content sharing method and electronic equipment
CN110333814A