Data transmission methods, electronic devices and storage media
By responding to user drag-and-drop operations within electronic devices, data transfer between different systems is achieved, solving the problem of inconvenient data transfer between electronic device systems and improving user experience and data security.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HONOR DEVICE CO LTD
- Filing Date
- 2025-01-27
- Publication Date
- 2026-07-31
AI Technical Summary
Existing electronic devices are inconvenient to transfer data between different systems, and user operations are cumbersome, affecting the user experience.
By responding to user drag-and-drop operations, it can transfer application data between different systems on electronic devices, support floating movement of application icons and split-screen display, realize application installation and data backup, and perform data recovery using data transmission pipelines.
It improves the convenience of data transmission and user experience, supports batch transmission of application data, and enhances data security.
Smart Images

Figure CN122488980A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of terminal technology, and in particular to a data transmission method, electronic device, and storage medium. Background Technology
[0002] As electronic devices offer increasingly more functions, people are becoming more reliant on them for work, daily life, and other related activities. To facilitate user experience, some electronic devices incorporate two operating systems, both capable of storing data and running applications. This caters to the needs of diverse users.
[0003] Currently, improving the ease of data transmission between two systems using electronic devices is a problem that needs to be solved. Summary of the Invention
[0004] This application provides a data transmission method, an electronic device, and a storage medium. This method improves the convenience of data transmission.
[0005] To achieve the above objectives, the embodiments of this application adopt the following technical solutions:
[0006] Firstly, a data transmission method is provided, applicable to electronic devices such as mobile phones and tablets. The method includes: the electronic device displaying a first interface of a first system and a second interface of a second system in a split-screen manner; the first interface includes a first application icon, and the second system is a subsystem running under the first system. Subsequently, in response to a user's first drag operation on the first application icon, the electronic device displays the first application icon in a floating state; during the display of the floating first application icon, the floating first application icon moves following the user's first drag operation. When the first application icon is dragged to a first position on the second interface, in response to the user's release operation, the electronic device displays a third interface of the first system and a fourth interface of the second system in a split-screen manner; the fourth interface includes the first application icon.
[0007] In this method, the electronic device can respond to a drag-and-drop operation, displaying a first application icon from the first system on the interface of the second system. In other words, data related to the first application icon is transmitted to the second system, thus improving the convenience of data transmission.
[0008] In one possible design of the first aspect, the application icon for the first application is a single application icon, and the first application is installed on the main system. The aforementioned response to the user's release operation, the electronic device displays a split-screen view of the third interface of the first system and a fourth interface of the second system, including: in response to the user's release operation, the electronic device uses the installation package of the first application to install it on the second system, thus obtaining the second application. Subsequently, based on the completion of the second application installation, the third interface of the first system and the fourth interface of the second system are displayed in a split-screen manner.
[0009] In this design, electronic devices can respond to user drag-and-drop operations, transferring a first application installed on the first system to the second system. For example, the electronic device can use the installation package of the first application to install it on the second system, thus obtaining the second application. This further enhances the convenience of data transmission.
[0010] In another possible design of the first aspect, the method further includes: after the second application is installed, the electronic device backs up the application data of the first application to obtain backup data. Then, the electronic device creates a data transmission channel. Next, the second application of the electronic device obtains the backup data through the data transmission channel. Then, the electronic device restores the backup data to the second application installed on the second system.
[0011] In this design, electronic devices can transmit application data of an application while it is installed on the second system, thereby further improving the convenience of data transmission.
[0012] In another possible design of the first aspect, the method further includes: the electronic device determining the transmission time of the backup data based on the size of the backup data; and then, the electronic device displaying the transmission time of the backup data.
[0013] In another possible design of the first aspect, the first system corresponds to a first system user, and the second system corresponds to a second system user. The method further includes: after receiving a destruction operation on the second system, the electronic device installs a third application on the first system using the installation package of the first application based on the third system user. The third system user is different from the first system user and different from the second system user. Then, the third application obtains backup data of the second application (e.g., the third application can obtain backup data of the second application through a data transmission channel). Afterwards, the electronic device restores the backup data of the second application to the third application installed on the first system. Finally, the electronic device destroys the second system.
[0014] In another possible design of the first aspect, before the electronic device displays the first interface of the first system and the second interface of the second system in a split-screen manner, the method further includes: in response to an operation of the settings application of the first system, the electronic device displays a first control. Then, in response to a triggering operation on the first control, the second system is activated, and a first icon of the second system is displayed on the desktop of the first system.
[0015] In another possible design of the first aspect, the aforementioned first interface is the desktop of the first system, and the second interface is the desktop of the second system. The method further includes: the electronic device displaying the desktop of the first system in full screen, the desktop of the first system including a first icon of the first system. The aforementioned electronic device displaying the first interface of the first system and the second interface of the second system in split screen includes: in response to a trigger operation on the first icon, the electronic device displaying the desktop of the first system and the desktop of the second system in split screen.
[0016] In another possible design of the first aspect, the above method further includes: when the electronic device displays the fifth interface of the first system in full screen, in response to the user's target operation, the electronic device displays the fifth interface and the desktop of the second system in split screen.
[0017] In another possible design of the first aspect, the above method further includes: when the first interface of the first system and the second interface of the second system are displayed in a split screen, displaying an adjustment control at the dividing line between the first interface and the second interface; in response to a triggering operation on the adjustment control, changing the display size of the first interface and the display size of the second interface; or, in response to a triggering operation on the adjustment control, displaying the second interface in a floating window; or, in response to a triggering operation on the adjustment control, displaying the second interface in full screen.
[0018] In a second aspect, an electronic device is provided, the electronic device including a memory and one or more processors, the memory being coupled to the processors; wherein the memory stores computer program code, the computer program code including computer instructions; when the computer instructions are executed by the processor, the electronic device performs the method provided by the first aspect and any possible design of the first aspect.
[0019] Thirdly, a computer-readable storage medium is provided, including computer instructions that, when executed on an electronic device, cause the electronic device to perform the methods provided by the first aspect and any possible design of the first aspect.
[0020] Fourthly, a computer program product containing instructions is provided, which, when run on an electronic device, enables the electronic device to perform the methods provided by the first aspect and any possible design of the first aspect.
[0021] Fifthly, a chip system is provided for use in an electronic device, the chip system including one or more processors for invoking computer instructions to cause the electronic device to perform the methods provided by the first aspect and any possible design of the first aspect.
[0022] The technical effects of any of the design methods in aspects two through five can be found in the technical effects of different design methods in aspect one, and will not be repeated here. Attached Figure Description
[0023] Figure 1 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application;
[0024] Figure 2 A schematic diagram of the architecture of an electronic device provided in an embodiment of this application;
[0025] Figures 3A-3B A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0026] Figure 4 A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0027] Figure 5 A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0028] Figure 6 A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0029] Figure 7 A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0030] Figures 8A-8C A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0031] Figure 9 A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0032] Figures 10A-10C A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0033] Figure 11 A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0034] Figure 12 A schematic diagram of another architecture of the electronic device provided in the embodiments of this application;
[0035] Figure 13 A flowchart illustrating the data transmission method provided in an embodiment of this application;
[0036] Figure 14 A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0037] Figures 15A-15B A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0038] Figures 16A-16B A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0039] Figures 17A-17B A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0040] Figures 18A-18B A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0041] Figure 19 A schematic diagram of another architecture of the electronic device provided in the embodiments of this application;
[0042] Figure 20 Another flowchart illustrating the data transmission method provided in this application embodiment;
[0043] Figure 21 This is another schematic flowchart illustrating the data transmission method provided in an embodiment of this application;
[0044] Figures 22A-22C A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0045] Figures 23A-23B A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0046] Figures 24A-24B A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0047] Figures 25A-25B A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0048] Figure 26 A schematic diagram of yet another architecture of the electronic device provided in an embodiment of this application;
[0049] Figure 27 Another flowchart illustrating the data transmission method provided in this application embodiment;
[0050] Figures 28A-28C A schematic diagram of a user graphical interface provided in an embodiment of this application;
[0051] Figure 29 Another schematic flowchart illustrating the data transmission method provided in this application embodiment;
[0052] Figure 30This is a schematic diagram of the chip system provided in an embodiment of this application;
[0053] Figure 31 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0054] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. "And / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of the embodiments of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different.
[0055] In this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being better or more advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.
[0056] The technical solutions disclosed in this application involve the collection, storage, use, processing, transmission, provision, and disclosure of users' personal information, all of which comply with relevant laws and regulations and do not violate public order and good morals.
[0057] Electronic devices offer more and more functions, and people are becoming increasingly reliant on them. Users can use electronic devices for work, life, and other related activities.
[0058] Some electronic devices can be configured with multiple operating systems, such as System A and System B. Users can use System A for everyday use, and System B for private use. System A and System B are independent of each other.
[0059] Currently, it is not very convenient for electronic devices to transfer data between different systems. Electronic devices need to receive multiple user operations before they can transfer data between different systems.
[0060] For example, a user is using system A. Then, in response to user action A, the electronic device packages the application data of application A in system A into a file (e.g., a packaged file) and stores the packaged file in a designated storage location. Next, in response to user action B, the electronic device enters system B. Then, the electronic device runs application A in system B. Next, in response to user action C, application A running in system B loads the packaged file from the aforementioned designated storage location. This allows the electronic device to transfer the data of application A in system A to application A in system B. In this process, the electronic device's file system needs to perform the operations of storing and reading the packaged file, which is relatively cumbersome. Furthermore, the electronic device needs to receive multiple user actions (e.g., user action A, user action B, and user action C) to complete this process, which makes the user experience cumbersome and negatively impacts the user experience.
[0061] In view of this, embodiments of this application provide a data transmission method in which an electronic device can transmit application data between different systems in response to a user's drag-and-drop operation. This improves the convenience of data transmission by the electronic device and enhances the user experience.
[0062] Application data can include temporary files generated by the application during its operation, configuration files, and audio, image, and video files.
[0063] It should be understood that in the following embodiments, the technical solutions provided in the embodiments of this application will be described using an electronic device with two systems as an example. However, this does not limit the electronic device to only having two systems. In actual use, the electronic device can also have more systems. For example, the electronic device can have three systems, four systems, etc. The embodiments of this application do not impose any limitation on the number of systems set up in the electronic device.
[0064] Furthermore, when electronic devices transmit data between different systems, they can manage the transmitted data based on its privacy requirements. This enhances data security during data transmission.
[0065] Furthermore, electronic devices can also transmit data for a specific application in batches. This further enhances the convenience of data transmission on electronic devices.
[0066] The aforementioned electronic devices can also be referred to as terminals, including terminal equipment, user equipment (UE), mobile station (MS), and mobile terminal (MT). These electronic devices can be mobile phones, tablets, wearable devices, smart screens, augmented reality (AR) / virtual reality (VR) devices, laptops, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), and other electronic devices capable of running multiple operating systems.
[0067] For example, some electronic devices incorporate multiple systems. To facilitate understanding, the technical concepts related to multiple systems provided in the embodiments of this application will be introduced below.
[0068] The main system is the primary operating system of an electronic device. It manages and controls the device's resources, such as hardware resources like the CPU and software resources like applications (APPs). The program entities running on the main system (e.g., applications, threads, processes) can also be referred to as program entities running in the main space. The main space can be understood as the primary user space of an electronic device. Users can install, run, and uninstall applications within the main space as needed.
[0069] A subsystem is an application running at the application layer of the main system; its operation depends on the main system. Furthermore, electronic devices can install and run applications within subsystems. Program entities running within a subsystem are independent of those running in the main system. Moreover, application entities running in the main system and program entities running in the subsystem can be the same or different. The user graphical interface of the subsystem and the user graphical interface of the main system can be displayed simultaneously on the electronic device's screen. Alternatively, only one of the user graphical interfaces of the subsystem and the main system can be displayed in the foreground on the electronic device's screen.
[0070] The main system and subsystems described above each have independent storage spaces, and data isolation exists between them. For example, program entities running on the main system (such as applications, processes, threads, etc.) cannot access the storage space of the subsystems; similarly, program entities running on the subsystems cannot access the storage space of the main system.
[0071] To enhance the security of data stored within the subsystem's storage space, user identity verification can be performed upon access to the parallel space. Therefore, a password or biometric authentication method, such as fingerprint or facial recognition, can be set for accessing the parallel space. The password for the parallel space can be different from or the same as the password for the main space; similarly, the biometric authentication method for the parallel space can be the same as or different from the biometric authentication method for the main space, allowing for selection based on specific needs in practical applications.
[0072] It is understood that the above "parallel space" is only used as an example. In practical applications, parallel space can also be called "parallel system", "clone system", "twin system application", "twin security system", "second system", "security system", etc. In the following embodiments of this application, "parallel space" is used as an example for illustration.
[0073] Next, the structure and architecture of electronic devices will be described by way of example.
[0074] Figure 1 The structure of the electronic device 100 provided in the embodiments of this application is shown.
[0075] Electronic device 100 may include processor 110, external memory interface 120, internal memory 121, universal serial bus (USB) interface 130, sensor 180, and display screen 194, etc. Among them, sensor 180 may include pressure sensor 180A, touch sensor 180K, etc.
[0076] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0077] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0078] The controller can be the nerve center and command center of the electronic device 100. The controller can generate operation control signals according to the instruction opcode and timing signals to complete the control of fetching and executing instructions.
[0079] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0080] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0081] The I2C interface is a bidirectional synchronous serial bus that includes a serial data line (SDA) and a serial clock line (SCL).
[0082] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display screen 194. The MIPI interface includes a display serial interface (DSI). The processor 110 and the display screen 194 communicate through the DSI interface to realize the display function of the electronic device 100.
[0083] USB interface 130 is an interface that conforms to the USB standard specification, specifically it can be a Mini USB interface, Micro USB interface, USB Type C interface, etc.
[0084] It is understood that the interface connection relationships between the modules illustrated in the embodiments of the present invention are merely illustrative and do not constitute a structural limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.
[0085] Electronic device 100 implements display functions through display screen 194 and application processor, etc. GPU is a microprocessor for image processing, connected to display screen 194 and application processor. GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0086] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, electronic device 100 may include one or N displays 194, where N is a positive integer greater than 1.
[0087] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.
[0088] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of electronic device 100 by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of electronic device 100 (such as audio data, phonebook, etc.). Furthermore, internal memory 121 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
[0089] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A can be disposed on display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may include at least two parallel plates with conductive material. When force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Electronic device 100 determines the pressure intensity based on the change in capacitance. When a touch operation is applied to display screen 194, electronic device 100 detects the intensity of the touch operation based on pressure sensor 180A. Electronic device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A. In some embodiments, touch operations applied to the same touch position but with different touch operation intensities can correspond to different operation commands. For example, when a touch operation with an intensity less than a first pressure threshold is applied to the SMS application icon, a command to view an SMS is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to the SMS application icon, a command to create a new SMS is executed.
[0090] Touch sensor 180K, also known as a "touch panel," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touch screen." Touch sensor 180K detects touch operations applied to or near it. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K may also be located on the surface of electronic device 100, in a different position than display screen 194.
[0091] The technical solutions provided in this application are applicable to the above-mentioned... Figure 1 The resulting electronic device structure.
[0092] After introducing the hardware structure of electronic devices, we will now introduce the software architecture of electronic devices.
[0093] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This embodiment of the invention uses a layered architecture of Android. TM Taking the system as an example, the software architecture of electronic device 100 is illustrated.
[0094] Figure 2 The architecture of the electronic device 100 provided in the embodiments of this application is shown.
[0095] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into three layers, from top to bottom: the application layer, the application framework layer, and the kernel layer.
[0096] The application layer can include a series of application packages.
[0097] like Figure 2 As shown, the application package may include applications running on the main system (e.g., contacts application, gallery application, note-taking application, etc.) and applications running on subsystems (e.g., subsystem desktop components, etc.). It should be noted that the main system and subsystems may also include other applications, such as camera applications, phone applications, etc. Furthermore, subsystems may also include the same applications as the subsystems themselves. This application does not impose any limitations on the applications included in the main system and subsystems.
[0098] The subsystem desktop component manages the display of the electronic device's subsystem desktop. For example, it manages the layout of application icons displayed on the subsystem desktop, and also manages the size of these icons.
[0099] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.
[0100] For example, the application framework layer may also include a window manager, content provider, view system, resource manager, etc.
[0101] The window manager is used to manage windowed applications. It can retrieve screen size, determine the presence of a status bar, lock the screen, and capture screenshots, among other things.
[0102] Content providers store and retrieve data, making that data accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.
[0103] A view system includes visual controls, such as controls for displaying text and controls for displaying images. View systems can be used to build applications. A display interface can consist of one or more views.
[0104] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, and more.
[0105] The kernel layer includes at least the display driver.
[0106] As a possible example, the subsystem desktop component can invoke the view system, causing the electronic device to draw the view corresponding to the subsystem's desktop. Then, the subsystem desktop component can invoke the display driver, causing the electronic device to display the subsystem's desktop on a screen.
[0107] The technical solutions provided in this application are applicable to the above-mentioned... Figure 2 Electronic devices with a new architecture.
[0108] The following discussion focuses on foldable screen phones (hereinafter referred to as phones) as electronic devices. Foldable screen phones possess the aforementioned features. Figure 1 The structure shown, and the foldable screen phone having the above-mentioned Figure 2 Taking the illustrated architecture as an example, the technical solutions provided in the embodiments of this application will be introduced.
[0109] The foldable screen phone mentioned above can be either an outward-folding or inward-folding screen phone; the folding method of the foldable screen phone can be horizontal or vertical, and this application embodiment does not impose any restrictions on the product form of the foldable screen phone. It is understood that the technical solutions provided in this application embodiment are not limited to foldable screen phones. In other embodiments, the technical solutions provided in this community embodiment can also be applied to tablet computers, non-foldable screen phones, and other electronic devices. This application embodiment does not impose any restrictions on the product form to which the technical solutions are applied.
[0110] The following sections will describe the creation, entry, exit, and destruction of parallel spaces provided in the embodiments of this application.
[0111] Creating a parallel space can be understood as the phone starting (creating) a subsystem when the subsystem itself is not yet running. For example, when the subsystem is in an unused state, the phone creates the subsystem, making it usable.
[0112] Furthermore, entering a parallel space can be understood as the phone switching to display the subsystem's desktop when the phone's subsystem has been started but the phone is not displaying the subsystem's desktop (e.g., the subsystem is not visible in the foreground). For example, when the subsystem is in use and the phone is not displaying the subsystem's desktop, the phone displays the subsystem's desktop in the foreground (e.g., the phone displays the subsystem's desktop in full-screen mode, the phone displays the subsystem's desktop in a split-screen window, the phone displays the subsystem's desktop in a floating window, etc.).
[0113] Furthermore, the aforementioned exit from parallel space can be understood as the phone not displaying the subsystem's desktop when the phone's subsystem has been started and the phone is displaying the subsystem's desktop (e.g., switching the subsystem's desktop to the foreground and making it invisible). For example, when the subsystem is in use and the phone is displaying the subsystem's desktop, the phone switches the subsystem's desktop to the background.
[0114] Furthermore, the aforementioned destruction of parallel spaces can be understood as the phone shutting down (destroying) a subsystem when the subsystem has already been started. For example, if the subsystem is in use, the phone destroys the subsystem, rendering it unusable.
[0115] The content regarding the creation of parallel spaces in the technical solutions provided in the embodiments of this application.
[0116] In some embodiments, users can create parallel spaces through settings provided by the phone's settings application. In other embodiments, the above-mentioned "creating a parallel space" can also be equivalently expressed as "creating a new parallel space," "establishing a parallel space," etc.
[0117] For example, see Figure 3A In section (a), the phone's display shows the main system's system desktop 300. The main system's system desktop 300 includes icons or controls for applications such as calendar, themes, app store, and time. These applications (e.g., calendar, themes, app store, and time) are all installed on the main system. Users can launch the application corresponding to the icon displayed on the desktop 300.
[0118] Understandably, users can configure their phone's features through the settings app. In response to a trigger action on icon 301, the phone displays... Figure 3A The main system settings interface 310 is shown in part (b) of the diagram.
[0119] The triggering operation can be a user's click, a user's long press, or a voice command input by the user to the phone's voice assistant, such as "open the settings app." This application embodiment does not limit the form of the triggering operation; all subsequent descriptions of triggering operations will refer to this document, and this application embodiment does not impose any restrictions on this.
[0120] For example, see Figure 3A In section (b), the settings interface 310 includes function options that can be configured on the main system. These include options such as "Display and Brightness," "Sound and Vibration," and "Security" 311. Users can configure different functions within these options.
[0121] For example, under the "Sound and Vibration" option, you can set the sound for incoming calls and / or messages on the main system. As another example, under the "Display and Brightness" option, you can set the display font, font size, and screen brightness on the main system. And as yet another example, under the "Security" option 311, you can configure security-related functions for the main system.
[0122] Among them, the "Security" option 311 provides functions related to creating parallel spaces, and users can create parallel spaces on their phones through the "Security" option 311.
[0123] For example, after the phone displays interface 310, in response to a triggering operation on option 311, the phone displays the functional items included in the "Security" option. For instance, after the phone displays interface 310, in response to a triggering operation on option 311, the phone displays... Figure 3B The settings interface 320 is shown in section (a). Interface 320 includes a parallel space creation button 321.
[0124] For example, see Figure 3BIn part (a) of the diagram, the phone displays a split-screen interface 320. The phone displays the function options included in the settings interface in the first area of the display (e.g., the left side). The phone displays the function items corresponding to the "Security" option in the second area of the display (e.g., the right side). The function items corresponding to the "Security" option may include items such as creating a parallel space, setting up device discovery, setting up emergency SOS, and setting up payment protection.
[0125] Users can create a parallel space through the subsystem creation button 321 ("Parallel Space Not Enabled" option or icon) included in interface 320. If no parallel space is created on the phone, the phone will display information indicating that the subsystem is not enabled in the creation button 321 included in interface 320, such as the message "Not Enabled".
[0126] In some possible examples, when the phone is in split-screen mode, the "Security" option in the first area can be "selected". For example, the "Security" option may have a background color, while all other options may have no background color. The background color of the "Security" option can be set as needed; for example, it can be set to gray, light blue, light green, etc.
[0127] After the phone displays interface 320, in response to the triggering operation of button 321, the phone displays information related to the creation of parallel space.
[0128] For example, after the phone displays interface 320, in response to a trigger operation on button 321, the phone displays... Figure 3B The interface 330 is shown in part (b). Interface 330 includes a subsystem activation control 331. In response to a trigger operation on control 331, the phone creates a parallel space, such as creating a user corresponding to the subsystem through the multi-user mechanism provided by the kernel, configuring storage space for the subsystem, configuring permissions for the subsystem, etc. The user corresponding to the subsystem is different from the system user corresponding to the main system; for example, their user IDs (uid) are different. For example, the uid of the system user corresponding to the main system can be 0, and the uid of the system user corresponding to the subsystem can be 10.
[0129] Optionally, the interface 330 may also include animation 333, which uses graphical changes to demonstrate the functions and roles of the subsystem.
[0130] Optionally, the interface 330 may also include a prompt message 332, which displays the functions and roles of the subsystem in text form.
[0131] As a possible example, in response to a triggering operation on control 331, the electronic device displays a prompt to verify the lock screen password and a password input keyboard on the screen. The user can then enter their preset lock screen password. The electronic device then verifies the entered password, and if the password matches the preset password, it can continue with the subsystem creation operation. This ensures that the subsystem creation operation is performed by the user or someone trusted by the user, thus improving the subsystem's security.
[0132] As another possible example, since users often forget their passwords during daily use, in order to allow users to reset their passwords when they forget them, and to ensure that the password reset is done by the user or someone trusted by the user, electronic devices can also prompt users to set security questions. Security questions are used to reset passwords when users forget their passwords.
[0133] In other possible implementations, to facilitate quick and convenient access to the parallel space (i.e., when the phone's subsystem is already running but the subsystem interface is not displayed), electronic devices can provide access to the parallel space via fingerprint. Therefore, when creating the parallel space, users can choose to associate fingerprints, facial recognition, or other methods to ensure its security.
[0134] In other embodiments, users can create parallel spaces by inputting gestures into the phone. That is, the phone creates parallel spaces in response to preset gestures.
[0135] The aforementioned gesture operations can be "zoom in", "zoom out", "three-finger swipe up", "knuckle swipe", etc. This application embodiment does not impose any restrictions on gesture operations.
[0136] For example, see the enlargement gesture. Figure 4 The default gesture is the "magnification gesture". The "magnification gesture" involves the user placing two fingers on the system desktop to create two touch points on the desktop, and then spreading the two fingers wide without lifting them to increase the distance between them.
[0137] For example, the phone displays interface 400, and in response to the phone detecting a "zoom gesture" 401, the phone creates a parallel space if the phone's subsystem has not been created.
[0138] After the subsystem is created on the phone, the user can use the subsystem provided by the phone and its various functions.
[0139] Regarding the content about entering parallel space in the technical solutions provided in the embodiments of this application.
[0140] In some embodiments, after a mobile phone creates a parallel space, the parallel space remains open until the phone receives an operation to destroy the parallel space. Even if the subsystem interface is switched to the background or the process of an application running in the subsystem is terminated in the multitasking management interface, the phone's subsystem remains in use.
[0141] As a possible example, after a parallel space is created on the phone, the phone can display an icon for the parallel space on the main space's desktop. Users can then trigger the phone to bring the subsystem's desktop to the foreground via the parallel space's icon.
[0142] For example, after the parallel space is created on the phone, the phone can add an icon for the parallel space to the main space's desktop, for example, see Figure 5 The phone displays the main system desktop 500. Desktop 500 includes icons 501 for the parallel space. The creation of the parallel space by the phone can be achieved through the above... Figure 3A ,and Figure 3B The corresponding process completes the creation of the parallel space; or, the phone completes the creation of the parallel space, or the phone completes the process through the above. Figure 4 The corresponding process completes the creation of the parallel space.
[0143] Next, in response to the triggering action on icon 501, the phone enters a parallel space, such as displaying the main system's desktop and the subsystem's desktop in split-screen mode. See again for an example. Figure 5 In response to the trigger operation on icon 501, the phone displays the desktop 530 of the subsystem and the desktop 520 of the main system in split screen mode.
[0144] Comparing the desktop 530 of the subsystem and the desktop 520 of the main system, users can distinguish between the desktop 530 and the main system desktop 520 by using the parallel space marker 533 area included in the desktop 530. Alternatively, users can also distinguish between the desktop 530 and the main system desktop 520 by using the security watermark 532 area included in the desktop 530. In some possible examples, the arrangement of application icons in the subsystem desktop 530 and the main system desktop 520 may be different, and users can also distinguish between the desktop 530 and the main system desktop 520 by the arrangement of application icons.
[0145] Furthermore, in response to the triggering operation of icon 501, the phone displays the desktop 530 of the subsystem and the desktop 520 of the main system in split-screen mode, as well as the phone display window adjustment control 531. The user can use the window adjustment control 531 to trigger the adjustment of the display size of desktop 530 and desktop 520.
[0146] Optionally, users can adjust the controls within the window to make the phone display the main space's desktop in full-screen mode (which can also be understood as exiting the parallel space), or to make the phone display the parallel space's desktop in full-screen mode. Additionally, users can adjust the controls within the window to make the phone display the parallel space's desktop as a floating window.
[0147] For example, the phone displays the desktop 530 of the split-screen subsystem and the desktop 520 of the main system, as well as the phone's window adjustment control 531. Next, in response to a trigger operation on the window adjustment control 531, the phone displays the window adjustment option box 611.
[0148] For example, see Figure 6 The device displays a window adjustment option box 611, a subsystem desktop 610, and a main system desktop 600. The window adjustment option box 611 includes a full-screen control 611A and a floating control 611B. The full-screen control 611A triggers the phone to display the subsystem desktop in full-screen mode, while the floating control triggers the phone to display the subsystem desktop as a floating window.
[0149] For example, in response to a trigger operation on the full-screen control 611A, the phone displays the subsystem's desktop 620 in full-screen mode. Optionally, the phone also displays a window adjustment control 621. As another example, in response to a trigger operation on the floating control 611B, the phone displays the main system's desktop 630 in full-screen mode, and the phone displays a first floating window 640, which includes the subsystem's desktop. Optionally, the phone also displays a window adjustment control 641.
[0150] The functions of window adjustment control 641 and window adjustment control 621 can be found in the description above, and will not be repeated here.
[0151] As another possible example, after the phone creates a parallel space, it can respond to preset gestures by switching the subsystem's desktop to the foreground. For instance, the phone can display both the subsystem's desktop and the main system's desktop in a split-screen mode. For a description of preset gestures, please refer to the previous text. Figure 4 The corresponding introduction will not be elaborated here.
[0152] It is understood that in the technical solutions provided in the embodiments of this application, the mobile phone switching the desktop of the subsystem to the foreground display may include split-screen display of the main system's desktop and the subsystem's desktop; for example, as described above. Figure 5 As shown. Furthermore, the phone can switch the subsystem's desktop to the foreground, or it can display the subsystem's desktop in full-screen mode; for example, the phone can display the aforementioned... Figure 6Interface 620. Also, the phone can switch the subsystem's desktop to the foreground, and may also include the phone displaying the main system's desktop in full screen, and the phone displaying a floating window that includes the subsystem's desktop, for example, the phone displaying the above... Figure 6 The desktop 630 and the first floating window 640 in the middle.
[0153] It should be noted that this application embodiment does not impose any restrictions on how the phone displays the subsystem's desktop after the user triggers the phone to switch the subsystem's desktop to the foreground. For ease of description, the following will use the example of the phone's split-screen display of the desktop in a parallel space.
[0154] Regarding the content about exiting parallel space in the technical solutions provided in the embodiments of this application.
[0155] In some embodiments, after the phone enters the parallel space (e.g., the phone displays the subsystem on the desktop in the foreground), the phone can display the exit of the parallel space on the desktop of the subsystem. The user can trigger the phone to exit the parallel space through the exit (e.g., the phone switches the desktop of the subsystem to the foreground and makes it invisible). The exit of the parallel space can also be referred to as the exit control of the parallel space.
[0156] As a possible example, see the above. Figure 5 The phone displays the main system desktop 520 and the subsystem desktop 530 in split-screen mode. The subsystem desktop 530 includes an exit control 534 for the parallel space. Next, in response to the triggering operation of the exit control 534, the phone displays the main space desktop 500 in full-screen mode.
[0157] See above for some other possible examples. Figure 6 The phone displays the subsystem's desktop 620 in full-screen mode. Desktop 620 includes an exit control 622. In response to a triggering operation on the exit control 622, the phone displays the aforementioned subsystem's desktop in full-screen mode. Figure 5 The desktop 500 of the main system is shown.
[0158] See above for some other possible examples. Figure 6 The phone displays the subsystem's desktop as a floating window. For example, the phone displays desktop 630 and the first floating window 640. The user can trigger the phone to display the main system's desktop by closing control 642. Alternatively, the user can also trigger the phone to switch the subsystem's desktop to the background and display the main system's desktop by exiting the parallel space control 643.
[0159] For example, in response to a trigger operation on the close control 642, the phone stops displaying the first floating window 640, and the phone displays the above... Figure 5 The desktop 500 of the main space is shown.
[0160] For example, in response to the triggering operation of the exit control 643, the phone stops displaying the first floating window 640, and the phone displays the above... Figure 5 The desktop 500 of the main space is shown.
[0161] Regarding the content on destroying parallel spaces in the technical solutions provided in the embodiments of this application.
[0162] In some embodiments provided in this application, after the phone has enabled the parallel space (e.g., after the phone's subsystem has been started), the user can destroy the parallel space through settings in the phone's settings application. It is understood that if the phone's parallel space is destroyed, the phone cannot start the parallel space, or the phone cannot access the parallel space.
[0163] As a possible example, see Figure 7 The phone displays settings interface 700. Interface 700 includes a destroy button 701 for the parallel space. Next, in response to the triggering of the destroy button, the phone displays settings interface 710, which includes a destroy control 711. Interface 710 also includes some settings for the parallel space, such as settings for the parallel space password and the authentication method for entering the parallel space. Next, in response to the triggering of the destroy control 711, the phone destroys the parallel space. For example, the phone logs out the user corresponding to the subsystem. For instance, the phone logs out the sub-user with UID 10 corresponding to the subsystem.
[0164] Among them, the comparison interface 700 and the above Figure 3B As shown in the interface 320, when the parallel space is not enabled, the button 321 included in the interface 320 can be used to trigger the phone to create the parallel space. When the parallel space is enabled, the button 701 included in the interface 700 is used to trigger the phone to destroy the parallel space. Furthermore, the display position of the button 321 in the interface 320 is the same as the display position of the button 701 in the interface 700.
[0165] In some embodiments provided in this application, the mobile phone can move the application's data from the main system's storage space to the subsystem's storage space simultaneously with the application being moved from the main system to the subsystem's storage space. Alternatively, the mobile phone can also move the application's data from the subsystem's storage space to the main system's storage space simultaneously with the application being moved from the subsystem. In other words, the mobile phone can move both the application and its application data at the same time.
[0166] In this context, "mobile application" can be understood as an installed application. For example, if an application is moved from the main system to a subsystem, it can be understood as the phone installing the application using the system user corresponding to the subsystem. Similarly, if an application is moved from a parallel control to the main system, it can be understood as the phone installing the application using the system user corresponding to the main system.
[0167] Application data can include temporary files generated by the application during its operation, configuration files, and audio, image, and video files.
[0168] Compared to some solutions where users need to package application data into a file in the main system first, and then load the packaged file in the subsystem, the technical solution provided in Example 1 can improve the convenience of mobile phone data transmission.
[0169] In some embodiments, the mobile phone can also move the application data of the application while the application is being installed into the subsystem.
[0170] For example, users can use the above Figure 5 The corresponding example triggers the phone to enter the subsystem. See below for further details. Figure 8A After the phone enters the subsystem, the phone displays the main system's desktop 800 and the subsystem's desktop 810 in a split-screen format. Desktop 810 includes an add button 811. Users can install applications into the subsystem using the add button 811.
[0171] Next, in response to the triggering operation of the add button 811, the phone displays the main system desktop 800 and the application list interface 820 in split-screen mode. The application list interface 820 includes icons of applications installed on the phone's main system. Furthermore, considering that some applications used by users in subsystems might degrade the user experience, the phone can also filter the applications installed on the main system and display the icons of the filtered applications in the application list interface 820.
[0172] For example, interface 820 includes "WeChat" TM "The application icon 821 and the corresponding selection box 821A. The selection box 821A indicates whether its corresponding application is selected through its state. For example, selection box 821A in its first state indicates 'WeChat'." TM "The application was not selected."
[0173] Then, see Figure 8B In response to the selection of icon 821, the phone displays the main system desktop 800 and the application list interface 830 in split-screen mode. Interface 830 includes "WeChat". TM"The application icon 831, and the corresponding selection box 831A. Selection box 831A is in its second state, indicating 'WeChat'." TM The application has been selected.
[0174] Optionally, the interface 830 also includes a select all button 833. Users can use the select all button 833 to select the icon of each application included in the interface 830.
[0175] Additionally, interface 830 includes a confirmation control 832. Users can use the confirmation control to trigger the phone to install the selected application into the subsystem, and to move the application's data to the subsystem.
[0176] Next, in response to the triggering operation of the confirmation control 832, the mobile phone uses "WeChat". TM "The application's installation package is installed in the subsystem" - WeChat TM "Application, and in WeChat" TM After the application is installed, "WeChat" will be installed. TM "The application's data is moved to the subsystem. On the phone, 'WeChat'..." TM "During the migration of application data, the phone can display the main system desktop 800 and the application list interface 840 in split screen. Interface 840 includes a prompt box 841. The prompt box 841 includes the message 'Migrating WeChat and WeChat application data to the subsystem.' The prompt box 841 also displays the remaining time for this migration."
[0177] As a possible example, in response to a triggering operation on the confirmation control 832, if WeChat is not installed on the phone's subsystem... TM "In the case of the application, the phone's subsystem desktop component triggers the application migration component to instruct the phone's package manager service (PMS) to use WeChat." TM The application's installation package is installed in the subsystem as "WeChat". TM "Application. Next, in WeChat..." TM "After the application installation is complete, the subsystem desktop component instructs the application data migration service to migrate WeChat." TM "Application data. The application data migration service runs on the phone's subsystem. In response to this instruction, the application data migration service instructs the backup manager service (BMS) to migrate data from WeChat." TM "The application's data is backed up to obtain backup data. Then, the application data migration service creates a data transmission pipeline and receives the backup data sent by the BMS through this pipeline. Afterwards, the application data migration service restores the backup data to the 'WeChat' subsystem." TM"application.
[0178] Then, see Figure 8C On mobile WeChat TM After the application's data processing is complete, the phone displays the main system's desktop 800 and the subsystem's desktop 850 in a split-screen mode. Desktop 851 also includes a notification window 851, which prompts the user to "WeChat". TM "The application migration is complete, and WeChat..." TM "The application's data is retained in the main system. The prompt window 851 also includes a confirmation button 851A. The confirmation button 851A is used to trigger the phone to display the subsystem's desktop."
[0179] Then, in response to the confirmation button 851A, the phone displays the main system's desktop 800 and the subsystem's desktop 860 in a split-screen mode. A comparison is then made between desktop 860 and desktop 810; based on WeChat... TM "The application has been installed. The Desktop 860 adds WeChat to the Desktop 810 platform." TM The app icon is 861. Users can use icon 861 to launch WeChat on their phones. TM "application.
[0180] From the above Figure 8A , Figure 8B and Figure 8C As the corresponding example shows, when the application is migrated to the subsystem, its data is also migrated to the subsystem. This reduces the number of human-computer interactions required by the user and improves convenience.
[0181] Alternatively, in some other examples, after an application is migrated to a subsystem, the phone can delete the application's data on the main system, but not uninstall the application from the main system. This saves storage space on the phone.
[0182] For example, users can use the above Figure 5 The corresponding example triggers the phone to enter a parallel universe. See below for further details. Figure 9The phone displays a split-screen view of the main system's desktop 900 and the subsystem's desktop 910. Desktop 910 includes a move-in control 911. Then, in response to a trigger operation on the move-in control 911, the phone displays the main system's desktop 900 and a move-in interface 920. Users can use interface 920 to move data or applications from the main system to the subsystem. Interface 920 includes application options 921. Then, in response to a trigger operation on application options 921, the phone displays an application list interface. The application list interface includes icons of applications installed on the main system. Users can use the application list interface displayed on the phone to trigger the migration of applications and their data from the main system to the subsystem. For further details on this process, please refer to the previous text. Figure 8A , Figure 8B and Figure 8C The corresponding examples will not be elaborated here.
[0183] In some embodiments, after an application is removed from a subsystem, the phone can install the application onto the main system, and the phone can migrate the application data of the application to the main system.
[0184] For example, see Figure 10A The phone displays the main system's desktop (1000) and the subsystem's desktop (1010) in a split-screen mode. Desktop 1010 includes WeChat. TM The application icon is 1011. Following a long press on icon 1011, the phone displays the main system desktop 1000 and the subsystem desktop 1020. Desktop 1020 includes a first menu 1021. The first menu 1021 includes a first option 1021A, through which the user can access WeChat. TM The application has been migrated to the main system. Additionally, the first menu (1021) includes an "Uninstall" option, allowing users to uninstall WeChat from the subsystem. TM Uninstall the application.
[0185] Next, see Figure 10B In response to the trigger operation of the first option 1021A, if WeChat is not installed on the phone's main system... TM In the case of applications, WeChat is installed on the main system of the phone. TM "Application, and in WeChat" TM After the application is installed, "WeChat" will be installed. TM "The application's data is moved to the subsystem. On the phone, 'WeChat'..." TM "During the migration of application data, the phone can display the main system's desktop 1000 and the subsystem's desktop 1030 in a split-screen format. Desktop 1030 includes a prompt box 1031 with the message 'Migrating WeChat and its application data to the main system.' The prompt box 1031 also displays the remaining time for this migration."
[0186] For further details on the remaining time for mobile computing migration, please refer to the example corresponding to Figure 8 above, which will not be repeated here.
[0187] Then, on mobile WeChat TM After the application completes its data processing, the phone displays the main system's desktop 1050 and the subsystem's desktop 1040 in a split-screen mode. Desktop 1040 also includes a notification window 1041, which prompts the user to "WeChat". TM "The application migration is complete, and WeChat..." TM "Application data is retained in the subsystem. The prompt window 1041 also includes a confirmation button 1041A. The confirmation button 1041A is used to trigger the phone to display the subsystem's desktop. Furthermore, the desktop 1050 also includes 'WeChat'..." TM "The application icon is 1051."
[0188] In other examples, users can also migrate applications installed on the subsystem to the main system, as well as migrate the application data of that application to the main system, using the removal controls included in the subsystem's desktop.
[0189] For example, the desktop 1010 described above also includes a move-out control 1012. See then... Figure 10C In response to a trigger operation on the remove control 1012, the phone displays the main system's desktop 1000 and the remove file interface 1060 in split-screen mode. Interface 1060 includes multiple option buttons, such as buttons for images, videos, audio, etc. Interface 1060 also includes application option buttons 1061. In response to a trigger operation on option button 1061, the phone displays the main system's desktop 1000 and the application list interface 1070 in split-screen mode. The application list interface includes icons of applications installed on the phone's subsystems that conform to preset application types. For example, "WeChat". TM The application icon is 1071. Users can trigger the opening of WeChat on their phones using icon 1071. TM "The application is moved from the phone's main system to a subsystem. The specific process is the same as described above." Figure 8A , Figure 8B The corresponding examples are similar and will not be repeated here.
[0190] In other examples, after the phone displays the main system's desktop 1000 and the subsystem's desktop 1020 in split-screen mode, it responds to a triggered operation on the first option 1021A. For example... Figure 11 As shown, install "WeChat" on the phone's main operating system. TM In the case of applications (e.g., the main system desktop 1100 includes "WeChat"), TMThe application icon (1101) is displayed on the phone's subsystem desktop (1110), and a prompt window (1111) is displayed. The prompt window (1111) includes a second option (1111A), a third option (1111B), and a fourth option (1111C).
[0191] Among them, the second option 1111A is used to trigger the phone to create an application clone for the migrated application in the main system, the third option 1111B is used to overwrite the data of the original application in the main system with the data of the migrated application, and the fourth option 1111C is used to cancel the migration.
[0192] For example, see again Figure 11 In response to the triggering operation of the second option 1111A, the phone's main system displays the migrated "WeChat". TM "The application creates an app clone. And through the 'WeChat' clone obtained from the app clone..." TM "Applications carry application data from subsystems. For ease of description, the main system originally had 'WeChat'..." TM The application is called WeChat 1, a clone of the original WeChat app. TM The application is called WeChat 2. On mobile phones, "WeChat"... TM "After the application data is completed, the phone displays the main system's desktop 1120 and the subsystem's desktop 1130 in split-screen mode. Desktop 1120 includes the WeChat 1 icon 1121 and the WeChat 2 icon 1122. The application data for WeChat 2 is migrated from the subsystem. Desktop 1130 does not include the WeChat application icon."
[0193] In this way, the mobile phone can use the multi-user mechanism provided by the kernel to allow different system users to run the same application on the main system. For example, see the above. Figure 11 In response to a trigger operation on the WeChat icon 1121, the phone runs the WeChat application through the first system user; in response to a trigger operation on the WeChat icon 1122, the phone runs the WeChat application through the second system user. The first system user and the second system user are different, and the first system user is different from the system user corresponding to the subsystem, and the second system user is different from the system user corresponding to the subsystem.
[0194] For example, Figure 12 An example of a software architecture provided by an embodiment of this application is illustrated. See also Figure 12The subsystem applications located in the application layer can include a subsystem desktop component, an application data migration service, and an application migration component. The application data migration service is used to migrate application data, and the application migration component is used to install the migrated application in the phone's subsystem or on the phone's main system. Additionally, the application framework layer also includes a package manager service (PMS) and a backup manager service (BMS). The PMS is used to manage application installation packages.
[0195] For example, see Figure 13 The data transmission method provided in this application embodiment may include steps S1300-S1307.
[0196] S1300. After obtaining the user's first user action, the subsystem desktop component instructs the application migration component to be launched.
[0197] The first user operation may include the above. Figure 8A The illustration shows the triggering operation of the add button 811. Alternatively, the first user action may include the actions described above. Figure 9 The illustrated trigger operation on the move-in control 911. Alternatively, the aforementioned first user operation may include, for example... Figure 10A The illustrated trigger operation for the first option 1021A. Alternatively, the aforementioned first user operation may include, for example... Figure 10A The triggering operation of the remove control 1012 is shown.
[0198] S1301. Use the application migration component to obtain the target application and the corresponding migration target.
[0199] The target application can be specified by the user.
[0200] For example, in the above Figure 8A , Figure 8B and Figure 8C In the corresponding example, the target application could be WeChat, as indicated by the user, which they want to move into the subsystem. TM "Application. For example, in the above..." Figure 9 In the corresponding example, the target application could also be WeChat, which the user indicated they wanted to move into the subsystem. TM "Application. For example, in the above..." Figure 10A , Figure 10B and Figure 10C In the corresponding example, the target application could be WeChat, which the user indicates they want to move to the main system. TM "application.
[0201] The migration target can be understood as the direction in which the target application is being migrated. The migration target can include the main system or a subsystem.
[0202] For example, in the above Figure 8A , Figure 8B and Figure 8C In the corresponding example, the migration target can be a subsystem. For example, in the above... Figure 9 In the corresponding example, the migration target can be a subsystem. For example, in the above... Figure 10A , Figure 10B and Figure 10C In the corresponding example, the migration target can be the main system.
[0203] If the target application is not installed on the target device, the phone performs step S1302.
[0204] S1302. The application migration component instructs the PMS to install the target application in the migration target.
[0205] As a possible example, the application migration component can call the PMS (Program Management System) interface related to application installation, instructing the PMS to install the target application on the migration target. For instance, the PMS uses the target application's installation package to install the target application in the phone's subsystem. After the PMS completes the installation of the target application on the migration target, the application migration component can obtain information about the completion of the installation through a callback function.
[0206] If the target application is installed on the migration target, or if the PMS has completed the installation of the target application on the migration target, the mobile phone executes step S1303.
[0207] S1303. The application migration component instructs the application data migration service to migrate the application data of the target application.
[0208] If the available storage space of the target device is greater than or equal to the application data size of the target application, the mobile phone executes step S1304.
[0209] S1304. Application Data Migration Service instructs BMS to back up the application data of the target application to obtain backup data.
[0210] For example, the application data migration service can call a pre-defined interface of the BMS to instruct the BMS to back up the application data of the target application and obtain backup data.
[0211] S1305. Use the data migration service to create a data transfer pipeline.
[0212] The data transmission pipeline can be understood as the phone's Linux. TMThe kernel provides an inter-process data transfer mechanism. For example, it can be understood as a segment of memory within the operating system kernel used to store temporary data. In other examples, the application migration component creating a data transfer pipeline may include the application migration component requesting a memory space of a specified length. This specified length may be related to the size of the backup data. For example, it could be 0.5 times the backup data size, 0.8 times the backup data size, and so on.
[0213] The write end of this data transmission pipeline is BMS data, and the read end is the application migration component.
[0214] S1306. Backup data obtained by the application data migration service through the data transmission pipeline.
[0215] After the application data migration service completes the pipeline creation, the BMS can send the backup data to the data transmission pipeline.
[0216] S1307. The application data migration service restores the backup data to the target application in the migration destination.
[0217] Therefore, through the steps S1300-S1307 described above, the mobile phone can transfer application data while installing an application. This improves the convenience of mobile phone data transfer.
[0218] As described above, in some other technical solutions, the mobile phone can package the application data of the target application into a file (hereinafter referred to as the packaged file) in the main system and store the file in a specified storage location. The mobile phone can launch the target application from the subsystem and instruct the target application to load the packaged file from the specified storage location. In this technical solution, since the specified storage location where the packaged file is stored is mostly located in the mobile phone's disk space, the above process requires the mobile phone's file system (e.g., F2FS file system), which affects the efficiency of data transmission. However, in the process corresponding to steps S1300-S1307, the backup data is transferred through a pipe in the mobile phone's memory space without the need for the mobile phone's file system, which can further improve the convenience of mobile phone data transmission.
[0219] Understandably, in the above Figure 8A , Figure 8B and Figure 8C In the example, the mobile phone can migrate WeChat from the main system to the subsystem by executing the above S1300-S1307. TM "Applications, and WeChat" TM "Application data of the application."
[0220] For example, after the phone displays the main system's desktop 800 and the subsystem's application list interface 810 in split-screen mode, in response to a trigger operation on the add button 811, the phone executes step S1300. Next, after the phone displays the main system's desktop 800 and the subsystem's application list interface 830 in split-screen mode, in response to a trigger operation on the confirmation control 832, the phone executes steps S1301-S1307. During the execution of step S1306, the phone can calculate the remaining time and display the calculated remaining time on the phone's desktop.
[0221] After the phone completes step S1307, the phone displays the main system's desktop 800 and the subsystem's application list interface 850 in split-screen mode.
[0222] Optionally, the phone can obtain the size of the application data to be moved and calculate the remaining time based on a preset data movement speed. Furthermore, considering that the phone's load may affect the data movement speed, the phone can also pre-configure data movement speeds under various load conditions. The phone then calculates the remaining time based on the data movement speed corresponding to the current load.
[0223] In the above Figure 10A , Figure 10B and Figure 10C In the example, the mobile phone can migrate WeChat from the main system to the subsystem via S1300-S1307 as described above. TM "Applications, and WeChat" TM "Application data of the application."
[0224] In other examples, after the phone performs step S1303, if the available storage space of the target device is less than the application data size of the target application, the phone can perform garbage collection on the target device's storage space to increase its available storage space. Alternatively, if the available storage space of the target device is less than the application data size of the target application, the phone can prompt the user that the target device's available storage space is insufficient.
[0225] For example, see the above. Figure 8B After the phone displays the main system's desktop 800 and the subsystem's application list interface 830 in split-screen mode, in response to the triggering operation of the confirmation control 832, if the available storage space of the phone's subsystem is less than that of "WeChat",... TM "Regarding the size of the application's data, see..." Figure 14 The phone displays the main system's desktop 1400 and the subsystem's application list interface 1410 in a split-screen mode. Interface 1410 includes a prompt box 1411; prompt box 1411 includes buttons 1411A and 1411B.
[0226] Button 1411A is used to trigger the phone to clean up the available storage space of the subsystem. For example, the phone can perform the storage space cleanup process in the background. Alternatively, the phone can display a file management interface in the foreground, allowing the user to delete files stored in the subsystem to increase the available storage space. Button 1411B is used to trigger the phone to cancel the cleanup of WeChat. TM "The migration of application data."
[0227] In other examples, after the phone's subsystem is destroyed, the phone can migrate each application installed within the subsystem and its application data to the subsystem.
[0228] For example, in the above Figure 7 In the example, after the phone displays the settings interface 710, in response to the triggering operation of the destroy control 711, the phone executes steps S1300-S1307 to migrate each application installed in the subsystem and its application data to the main system.
[0229] In other embodiments provided in this application, users can move data between the database of the main system and the database of the subsystem by dragging and dropping.
[0230] In this context, the main system's database can be understood as the storage space corresponding to the main system. The subsystem's database can be understood as the storage space corresponding to the subsystem. Program entities running on the main system (e.g., applications, processes, threads) cannot access the subsystem's storage space, and program entities running on the subsystem cannot access the main system's storage space.
[0231] As a possible example, users can use drag-and-drop operations to send application data of the first application from the main system's database (data storage space) to the subsystem's database. The first application could be a contacts application, file management application, gallery application, or note-taking application, etc.
[0232] For example, see Figure 15A The phone displays the main system's Contacts application interface 1500 and the subsystem's Contacts application interface 1510 in split-screen mode. Interface 1500 includes a first contact option 1501, as well as contact options for "Annie C" and "Daisy B". Interface 1510 includes contact options for "Debbie E", "Jenny D", and "Jack F". Users can click on a contact option to view the contact's information, such as their contact details.
[0233] Next, in response to a long press on option 1501, option 1501 floats up. After option 1501 floats up, it can be moved following the user's drag operation. The user's drag operation and long press operation are consecutive. For example, the phone displays the main system's Contacts application interface 1520 and the subsystem's Contacts application interface 1530 in a split-screen mode. The first contact option 1521 floats up at the same position as option 1501 in interface 1500. The user's drag operation moves the first contact option 1521 to the position shown by the first contact option 1531.
[0234] Then, see Figure 15B The phone displays the application interface 1540 of the main system's Contacts application and the application interface 1550 of the subsystem's Contacts application in split-screen mode. After the first contact option 1551 is moved to the display area of the main system's Contacts application, in response to the user's release operation on the first contact option 1551, based on the release operation being triggered at the application interface 1550, the phone moves the data corresponding to the first contact option from the main system's database to the subsystem's database, and the phone then displays the application interface 1540 of the main system's Contacts application and the application interface 1560 of the subsystem's Contacts application in split-screen mode.
[0235] Specifically, the first contact data (e.g., the contact data corresponding to the "Jack F" contact option) stored in the main system's database (such as the contact database) is moved to the subsystem's contact database. Based on the changes in the application data in the contact database, the phone displays the first contact option 1561 (e.g., the "Jack F" contact option) on interface 1560.
[0236] It can be seen that, in Figure 15A and Figure 15B In the corresponding example, users can move data between the main system and the subsystem by dragging and dropping.
[0237] It should be understood that the above Figure 15A and Figure 15B In the corresponding example, application data in the main system's database was moved by the phone to the subsystem's database. Similarly, users can also move application data from the subsystem's database to the main system's database.
[0238] For example, see Figure 16A After the phone passed Figure 15A and Figure 15BFollowing the corresponding example, the phone displays the main system's Contacts app interface 1700 and the subsystem's Contacts app interface 1710 in a split-screen mode. Interface 1710 includes a second contact option 1711. Then, in response to a long press on option 1711, option 1711 floats up, and after floating up, option 1711 can be moved following the user's drag operation. The user's long press and drag operation are consecutive. For example, the phone displays the main system's Contacts app interface 1720 and the subsystem's Contacts app interface 1730 in a split-screen mode. During the split-screen display of the main system's Contacts app interface 1720 and the subsystem's Contacts app interface 1730, the second contact option 1731 moves following the user's drag operation.
[0239] Then, see Figure 16B The user drags the second contact option 1731 to the position shown as the second contact option 1741. Next, the phone displays the main system's contact application interface 1740 and the subsystem's contact application interface 1750 in split-screen mode. In response to the release operation on the second contact option 1741, based on the release operation's trigger location being on the main system's application interface 1760, the phone moves the contact data corresponding to the second contact from the main system's database to the subsystem's database. Based on the fact that the contact data corresponding to the second contact has been moved to the subsystem's contact database, the phone displays the main system's contact application interface 1760 and the subsystem's contact application interface 1770 in split-screen mode. Interface 1770 includes the second contact option 1761.
[0240] In other examples, users can also move data in batches between the main system's database and the subsystem's database using drag-and-drop operations.
[0241] For example, see Figure 17A The phone displays the main system's file management interface 1600 and the subsystem's file management interface 1610 in a split-screen format. Interface 1600 includes multiple file options, such as options for file A, file B, and file C. Interface 1610 includes multiple file options, such as options for file D, file E, and file F.
[0242] Next, in response to a long press on the first file option 1601, the phone displays the main system's file management interface 1620 and the subsystem's file management interface 1610 in a split-screen format. Interface 1620 includes option boxes. Users can select files using these option boxes. For example, interface 1620 includes option boxes 1621 and 1622.
[0243] Specifically, the trigger position of the long press operation initiated by the user in interface 1600 corresponds to the file option in file C, and option box 1622 is in the selected state. Option box 1621 is in the unselected state, and the phone can respond to the user's selection operation on option box 1621 by switching option box 1621 to the selected state. For example, as... Figure 17B The file management interface 1660 of the main system includes the option box 1661 shown.
[0244] Next, in response to the user's drag-and-drop action on the file option, the file option moves according to the position of the drag operation. For example, see... Figure 17B The phone displays the main system's file management interface 1660 and the subsystem's file management interface 1630 in split-screen mode. Interface 1630 includes file options 1631, the display position of which follows the drag operation. Then, in response to releasing option 1631, the phone moves the user-selected files (e.g., files A and C) from the main system to the subsystem, and the phone displays the main system's file management interface 1640 and the subsystem's file management interface 1650 in split-screen mode. Comparing interfaces 1650 and 1610, it can be seen that interface 1650 adds file options for both file A and file option for file C compared to interface 1610.
[0245] It should be understood that the above Figure 17A and Figure 17B In the corresponding example, the user moved data in batches from the main system's database to the subsystem's database; similarly, the user can also move data in batches from the subsystem's database to the main system's database. Specific examples are the same as above. Figure 17A and Figure 17B Similar examples are given here, so they will not be repeated.
[0246] In other examples, users can also move application data between different applications via drag-and-drop. For instance, a phone can respond to a drag-and-drop operation by moving application data for application A from the main system's database to the subsystem's database. This allows application B, running on the phone's subsystem, to access the application data from application A. Here, application A and application B are two different applications. For example, the installation packages for application A and application B are different.
[0247] For example, see Figure 18AThe application data includes contact data. The phone displays the main system's Contacts application interface 1800 and the subsystem's Notes application interface 1810 in split-screen mode. Interface 1800 includes multiple contact options, such as a third contact option 1801. Next, in response to a long press on the third contact option 1801, the third contact option 1801 floats up. After the third contact option 1801 floats up, it can be moved following a user's drag operation. The user's long press and drag operation are consecutive. For example, the phone displays the main system's Contacts application interface 1820 and the subsystem's Notes application interface 1830 in split-screen mode. The user's drag operation moves the third contact option 1821 to the position of the third contact option 1831.
[0248] Then, see Figure 18B The phone displays the Contacts app interface 1820 and the Notes app interface 1840 of the subsystem in split-screen mode. In response to the user releasing the third contact option 1841, and based on the release action being triggered in the Notes app interface 1840 of the subsystem, the phone moves the contact data corresponding to the third contact option 1841 from the main system's database to the subsystem's database. Since the contact data corresponding to the third contact option 1841 has been moved to the subsystem's database, the Notes app running on the phone's subsystem can access the contact data corresponding to the third contact option 1841, and the phone displays the Contacts app interface 1820 and the Notes app interface 1850 of the main system in split-screen mode. Interface 1850 includes the contact data for "Jack A," such as "Jack A's" phone number, address, email address, etc.
[0249] In the technical solutions corresponding to the above embodiments, the mobile phone can realize data transfer between the main system and the subsystem through a drag-and-drop framework. The drag-and-drop framework can respond to the user's drag-and-drop operation, moving data from one view object to another. Furthermore, the drag-and-drop framework includes: a drag-and-drop event class, a drag-and-drop listener, and methods and classes that assist the drag-and-drop framework.
[0250] In some solutions, for example, Google TMThe native Android drag-and-drop framework has some limitations in data transmission. For example, it can only transmit data in the following types: text, URL, intent, and HTML. These limitations may prevent it from meeting the needs of certain scenarios. For instance, contact data may contain many fields, such as name, nickname, birthday, company, phone number, notes, group, ringtone, website, and email address. None of these four data types are suitable for directly transmitting contact data.
[0251] Furthermore, in some solutions, the phone can use a preset format to store contact data or contact IDs in text or HTML formats. However, this method may lead to display errors because the application may not be configured to parse the preset format, which will affect the user experience.
[0252] Therefore, this application provides a data transmission method in which intent type data is extended. For example, an extended type is added to the intent. Then, when the mobile phone transmits data, the data sender adds the content of the data to be transmitted to the intent through the extended type. Next, the data receiver obtains the intent by dragging and dropping the frame. Then, the data receiver obtains the content of the data to be transmitted by reading the data in the extended type of the intent.
[0253] For example, Figure 19 An example of a possible software architecture provided by an embodiment of this application is shown. See also Figure 19 The application layer can include a second application running on the subsystem and a first application running on the main system. It should be understood that the first application can be any application running on the main system, such as a file management application, a launcher application, a contacts application, etc. Similarly, the second application running on the subsystem can be any application running on the subsystem, such as a subsystem desktop application, a contacts application, a file management application, etc.
[0254] The application framework layer can include drag-and-drop frames.
[0255] The drag-and-drop framework can respond to user drag-and-drop operations, moving application data from one view object to another.
[0256] As a possible example, in the technical solution provided in this application embodiment, a first type (e.g., NewDataType) for carrying the data to be transmitted (e.g., application data) and a second type (e.g., NewDataInfo) for carrying the data entity to be transmitted can be added to the intent. For example, the data type may include: note type, contact type, folder type, etc. The data entity may include: data content; or, the storage path recording the data content, etc. NewDataInfo may be in JSON format.
[0257] For example, the data sender can add a first type or a second type to the intent using the intent.putExtra command. The data receiver can retrieve the first type or the second type added by the data sender from the intent using the intent.getExtra command.
[0258] For example, the sender can use the `intent.putExtra("NewDataType", "folder")` command to add the type of data to be transferred as a folder to the intent. As another example, the sender can use the `intent.putExtra("NewDataType", "contact_info")` command to add the type of data to be transferred as a contact to the intent. And as yet another example, the sender can use the `intent.putExtra("NewDataType", "contact_id")` command to add the type of data to be transferred as a contact ID to the intent.
[0259] For example, the data sender can add the data entity to the intent using intent.putExtra(“NewDataInfo”,StringInfo).
[0260] For example, if the data type is a folder (i.e., NewDataType is folder), the above StringInfo can be {"version":"1.0.0.0", "folder":" / XYZ / "}.
[0261] For example, if the data type is a contact ID (i.e., NewDataType is contact_id), the above StringInfo could be {"version":"1.0.0.0","contact_id":"183681"}.
[0262] For example, if the data type is contact information (i.e., NewDataType is contact_info), the above StringInfo could be {"version":"1.0.0.0","name":"Jack A","mobile-phone":"123123","address":"China Chengdu","e-mail":"ABC@M.com"}.
[0263] For example, see Figure 20 The mobile phone can perform the following steps S2000-S2005, or steps S2000-S2006, to transmit application data.
[0264] S2000. In response to a user action, the first application determines the data to be transmitted from the database of the main system.
[0265] The user action described above can be a long press. Alternatively, it can be a drag operation following a long press, where the long press and drag operations are consecutive.
[0266] For example, in the above, Figure 15A , Figure 15B In the corresponding example, the first application mentioned above could be a contacts application. (In the cedar tree) Figure 17A , Figure 17B In the corresponding example, the first application mentioned above could be a file management application.
[0267] As one possible implementation, the view corresponding to the first application can subscribe to a listener provided by the drag-and-drop framework. When the phone receives the aforementioned user action, the drag-and-drop framework generates a drag event (e.g., ACTION_DRAG_STARTED), and the view corresponding to the first application receives this drag event (e.g., sends true to the drag-and-drop framework). The drag event includes at least trigger coordinates, which represent the coordinates at which the user action is triggered on the phone's screen. The view corresponding to the first application can then determine the data to be transmitted based on the trigger coordinates.
[0268] For example, with the above Figure 15AFor example, in the case of split-screen display interfaces 1500 and 1510 on the phone, the views corresponding to the main system's Contacts application include at least: the view corresponding to the first contact option 1501, the view corresponding to the "Daisy B" contact option, and the view corresponding to the "Annie C" contact option. In response to the user's long-press operation, the drag framework generates an ACTION_DRAG_STARTED event. Next, the views corresponding to option 1501, the "Daisy B" contact option, and the "Annie C" contact option receive the aforementioned drag event. Specifically, the view corresponding to option 1501, based on the fact that the trigger coordinates of the drag event are within the display coordinate range of the view corresponding to option 1501, determines that the data to be transmitted is the contact data corresponding to option 1501, such as the contact data corresponding to "Jack A".
[0269] Next, after step S2000, the mobile phone executes step S2001.
[0270] S2001. The first application places the data to be transmitted into the intent.
[0271] As a possible example, the first application can call the intent.putExtra command to add data to be transferred to the intent. For example, the type of data to be transferred can be placed in the first type of the intent, and the data entity of the data to be transferred can be placed in the second type of the intent.
[0272] For example, with the above Figure 15A For example, the view corresponding to option 1501 calls the intent.putExtra(“NewDataType”,“contact_info”) command to add the data type to be transmitted as contact information to the intent. As another example, the view corresponding to option 1501 calls the intent.putExtra(“NewDataInfo”,{“version”:“1.0.0.0”,“name”:“Jack A”,“mobile-phone”:“123123”,“address”:“ChinaChengdu”,“e-mail”:“ABC@M.com”}) command to add the data entity corresponding to the contact “Jack A” to the intent.
[0273] Optionally, the main system's Contacts app can also draw drag animations and display them on the phone's screen.
[0274] After step S2001, the mobile phone executes step S2002.
[0275] S2002. The first application sends the above intent to the drag-and-drop frame.
[0276] S2003. In response to the user's release action, the drag-and-drop frame sends the aforementioned intent to the second application.
[0277] As one possible implementation, upon receiving the aforementioned release operation on the phone, the drag-and-drop framework generates a drag event (e.g., ACTION_DRAG_DROPPED). In response to this drag event, the view corresponding to the second application returns true to the drag-and-drop framework. Based on the second application's view returning true to the drag-and-drop framework, the drag-and-drop framework sends the aforementioned intent to the second application.
[0278] S2004. The second application parses the data to be transmitted from the intent.
[0279] As one possible implementation, the view of the second application can obtain the first type of the intent and parse the data to be transmitted based on the first type.
[0280] S2005. The second application stores the data to be transmitted into the subsystem's database.
[0281] As one possible example, the second application can store the data to be transferred in a storage path accessible to the program entity running on the subsystem.
[0282] In this way, the second application of the subsystem can obtain the data to be transmitted and display it on the phone's screen. For example, as described above... Figure 15B For example, the subsystem's Contacts application can obtain the data to be transmitted, such as the contact data of "Jack A". Next, the subsystem's Contacts application triggers the phone to split-screen to display the application interface 1540 of the main system's Contacts application and the application interface 1560 of the subsystem's Contacts application; interface 1560 includes the first contact option 1561.
[0283] Optionally, after step S2005, the mobile phone may also execute step S2006.
[0284] S2006. The second application instructs the first application to delete the data to be transmitted stored in the main system database.
[0285] For example, with the above Figure 15B For example, the subsystem's Contacts application instructs the main system's Contacts application to delete the data to be transferred from the database stored in the main space.
[0286] Optionally, the subsystem's contacts application can transmit the first instruction to the main system's contacts application via the aforementioned drag-and-drop framework; alternatively, the sub-main system's contacts application can transmit the first instruction to the main system's contacts application via other modules of the phone. The first instruction instructs the main system's contacts application to delete the data to be transferred stored in the database in the main space.
[0287] The above should be understood Figure 20 The corresponding process is that the first application in the main system sends the data to be transmitted to the second application in the subsystem. Similarly, a mobile phone can do so through the following... Figure 21 The steps S2100-S2105 or S2100-S2106 shown involve sending data to be transmitted from the second application of the subsystem to the first application of the main system.
[0288] For example, see Figure 21 The mobile phone can perform the following steps S2100-S2105, or steps S2100-S2106, to transmit application data.
[0289] S2100. In response to a user action, the second application determines the data to be transmitted from the subsystem's database.
[0290] S2101. The second application places the data to be transmitted into the intent.
[0291] S2102. The second application sends the above intent to the drag-and-drop frame.
[0292] S2103. In response to the user's release action, the drag frame sends the aforementioned intent to the first application.
[0293] S2104. The first application parses the data to be transmitted from the intent.
[0294] S2105. The second application stores the data to be transmitted into the database of the main system.
[0295] As a possible example, the first application can store the data to be transferred in a storage path accessible to the program entity running on the main system.
[0296] Optionally, after step S2105, the mobile phone may execute step S2106.
[0297] S2106. The first application instructs the second application to delete the data to be transmitted stored in the subsystem database.
[0298] In other technical solutions provided in the embodiments of this application, when a user moves data between the main system and the subsystem via drag-and-drop operations, the mobile phone can manage the moved data. It should be understood that users may store some highly important data within the subsystem. The mobile phone can manage this data, for example, by disallowing its transfer to the main system, or allowing its transfer to the main system only after verifying the user account and its corresponding password. This improves the information security of the mobile phone and prevents the leakage of highly important information.
[0299] In some possible implementations, the mobile phone has a preset control policy. In response to the user's drag operation, the mobile phone can determine the control result according to the control policy. The control result may include a first result (e.g., disallowing data transmission), a second result (e.g., allowing data transmission), or a third result (e.g., dynamically managing the transmitted data).
[0300] As a possible example, when a user moves data between the main system and the subsystem by dragging and dropping, the phone can determine the control result as a secondary result based on a preset control strategy, that is, allow data transfer.
[0301] Further examples of this process are as described above. Figure 15A , Figure 15B , Figure 16A , Figure 16B , Figure 18A , Figure 18B Similarly, please refer to the previous text, which will not be repeated here.
[0302] As another possible example, when a user moves data between the main system and subsystems via drag-and-drop, the phone can determine the control outcome as a third result based on a preset control strategy, that is, dynamically manage the transmitted data. For example, multiple options can be provided for the user to choose whether the phone responds to the user's drag-and-drop operation to transmit data.
[0303] For example, see Figure 22A The phone displays a split-screen view of the photo list interface 2200 of the main system's photo album application and a photo list interface 2210 of the subsystem's photo album application. Interface 2210 includes a first photo option 2211. Next, the user drags option 2211 to the main system. The process of dragging option 2211 to the main system is similar to the example provided in Embodiment 2 above. For example, it may include: in response to a long press operation on option 2211, option 2211 floats up, and after floating up, the position of option 2211 changes with the drag operation. Next, after option 2211 is moved to the display area of the corresponding gallery application on the main system, the user releases the button.
[0304] Subsequently, in response to the user dragging and dropping option 2211 to the main system, the phone adds a control pop-up window 2212.
[0305] The addition of a control pop-up 2212 to the aforementioned mobile phone can be understood as the addition of a control pop-up 2212 to the existing split-screen display of the main system's photo list interface 2200 and the subsystem's photo list interface 2220. The display location of the control pop-up 2212 can be as follows: Figure 22A As shown, it is located between interface 2200 and interface 2220. Alternatively, the display position of the control pop-up 2212 can be within the display area of interface 2200. Or, the display position of the control pop-up 2212 can be within the display area of interface 2220. This embodiment of the application does not limit the display position of the control pop-up.
[0306] The aforementioned control pop-up window 2212 may include: first option 2212A, second option 2212B, and third option 2212C.
[0307] Users can trigger the movement of the dragged object on the phone using the first option.
[0308] For example, in response to a trigger operation on the first option 2212A, "Photo D" is transferred from the subsystem to the main system, see [link to relevant documentation]. Figure 22B The phone displays a photo list interface 2230 of the main system's photo album application and a photo list interface 2240 of the subsystem's photo album application. Interface 2230 includes a draggable "Photo D" photo option, while interface 2240 does not include the draggable "Photo D" photo option.
[0309] Users can trigger the movement of the dragged object on the phone using the second option.
[0310] It should be understood that in response to the triggering operation of the second option 2212B, "Photo D" is transferred from the subsystem to the main system. When the first option 2212A is triggered, with the phone displaying the photo list interfaces of both the main system's and subsystem's photo apps in a split-screen mode, if the user moves data via drag-and-drop, the phone will again display a control pop-up. However, when the first option 2212A is triggered, with the phone displaying the photo list interfaces of both the main system's and subsystem's photo apps in a split-screen mode, if the user moves data via drag-and-drop, the phone will not display a control pop-up, and the phone will move the data corresponding to the drag-and-drop operation. Therefore, the difference between triggering the first option 2212A and triggering the second option 2212B lies in whether the phone displays a control pop-up during subsequent use.
[0311] For example, see Figure 22C After the second option 2212B is triggered, the phone displays a split-screen view of the photo list interface 2230 of the main system's photo album application and a photo list interface 2240 of the subsystem's photo album application. Interface 2240 includes the second photo option 2241. Next, the user drags and drops the second photo option 2241 to the main system. Further details regarding the user dragging and dropping the second photo option 2241 to the main system can be found above and will not be repeated here.
[0312] In response to the user dragging and dropping the second photo option 2241 to the main system, "Photo B" is transferred from the subsystem to the main system. The phone then displays the photo list interface 2250 of the main system's photo album application and the photo list interface 2260 of the subsystem's photo album application in a split-screen format. Interface 2250 includes the dragged "Photo B" photo option, while interface 2260 does not. During the period from when the phone displays the photo list interface 2230 of the main system's photo album application and the photo list interface 2240 of the subsystem's photo album application in a split-screen format until when the phone displays the photo list interface 2250 of the main system's photo album application and the photo list interface 2260 of the subsystem's photo album application in a split-screen format, the phone does not display any control pop-ups.
[0313] Users can use the third option to prevent the phone from moving the dragged object.
[0314] For example, in response to a trigger operation on the first option 2212A, the phone does not move "Photo D". For instance, the phone again displays the photo list interface 2200 of the main system's photo album application and the photo list interface 2210 of the subsystem's photo album application in a split-screen mode.
[0315] As a possible example, when a user moves data between the main system and the subsystem by dragging and dropping, the phone can determine the control result as the first interface based on a preset control policy, that is, data transfer is not allowed.
[0316] For example, see Figure 23A The phone displays the email list interface 2300 of the main system's email application and the email list interface 2310 of the subsystem's email application in a split-screen mode. Interface 2310 includes a first email option 2311. Next, the user drags and drops option 2311 to the main system. The process of dragging and dropping option 2311 to the main system is similar to the example provided in Embodiment 2 above. For example, it may include: in response to a long press operation on option 2311, option 2311 floats up, and after floating up, the position of option 2311 changes with the drag operation. Next, after option 2311 is moved to the display area of the corresponding email application on the main system, the user releases the button.
[0317] Subsequently, in response to the user dragging option 2311 to the main system, the phone determines, based on its preset control policy, that data transmission is not permitted, and displays a control pop-up window 2321. This control pop-up window is used to inform the user that the dragged object (such as email C) is not allowed to be transmitted.
[0318] The addition of a control pop-up 2321 to the aforementioned mobile phone can be understood as the addition of a control pop-up 2311 to the existing split-screen display of the main system's email application's email list interface 2300 and the subsystem's email application's email list interface 2310. The display location of the control pop-up 2311 can be as follows: Figure 23A As shown, it is located between interface 2300 and interface 2310. Alternatively, the display position of the control pop-up 2321 can be within the display area of interface 2300. Or, the display position of the control pop-up 2321 can be within the display area of interface 2310. This embodiment of the application does not limit the display position of the control pop-up.
[0319] In some other possible examples, if the phone determines that data transmission is not allowed based on a preset control policy, the phone can transmit the data after the user has been verified.
[0320] For example, see Figure 23B In response to the user dragging option 2311 to the main system, the phone displays a control pop-up window 2331. The control pop-up window 2331 includes a first option 2331A and a second option 2331B. In response to a trigger operation on the first option 2331A, the phone triggers user verification (e.g., fingerprint verification, facial recognition verification, user account password verification, etc.). Subsequently, if verification is successful, the phone transmits the data to be transmitted, for example, the phone displays the email list interface 2330 of the main system's email application and the email list interface 2320 of the subsystem's email application in a split-screen format. Comparing interface 2320 and interface 2310, interface 2320 does not include "Email C"; comparing interface 2330 and interface 2300, interface 2330 includes "Email C", while interface 2300 does not. In other words, the transmitted data (e.g., "Email C") is transmitted from the subsystem to the main system.
[0321] In other possible examples, the transmitted data can also be controlled when a user uses the "anywhere door" function on their phone.
[0322] For example, if a user triggers an arbitrary door in the interface of a mobile phone's subsystem, the phone can obtain different control results on the transmitted data based on the sender of the data. In other words, the phone can perform different control measures.
[0323] For example, see Figure 24A The phone displays the main system's desktop 2400 and the subsystem's web browsing interface 2410 in a split-screen mode. Next, in response to a selection operation (e.g., a knuckle selection operation 2420), the phone displays the main system's desktop 2400 and the subsystem's "Anywhere Door" trigger interface 2430 in a split-screen mode. Interface 2430 includes a first send button 2431 and a second send button 2432. The first send button corresponds to a third-party application, and the second send button corresponds to a local application. A local application can be understood as an application designed by the phone manufacturer, while a third-party application can be understood as an application designed by someone other than the phone manufacturer.
[0324] Next, see Figure 24B In response to the triggering operation of button 2431, the mobile phone adds a control pop-up window 2441; pop-up window 2441 prompts the user that the mobile phone does not allow dragging of the selected content, that is, the mobile phone does not transmit the data being transmitted, that is, the content selected by the above-mentioned selection operation (hereinafter referred to as the selected object). For example, see Figure 24B The mobile phone can display a control pop-up window 2441 on the basis of split-screen display of the main system desktop 2400 and the subsystem's arbitrary door trigger interface 2430.
[0325] Or, see again Figure 24B After the phone displays the main system's desktop 2400 and the subsystem's "Anywhere Door" trigger interface 2430 in split-screen mode, in response to the trigger operation of button 2432, the phone dynamically manages the transmitted data, i.e., the selected object, and adds a control pop-up window 2442. Users can actively choose whether to transmit the selected object through the options provided in pop-up window 2442. For example, the phone can add the control pop-up window 2442 to the split-screen display of the main system's desktop 2400 and the subsystem's "Anywhere Door" trigger interface 2430.
[0326] For example, if a user triggers an arbitrary door in the interface of a mobile phone's subsystem, the mobile phone can choose not to control the transmitted data.
[0327] For example, see Figure 25A The phone displays the main system's web browsing interface 2500 and the subsystem's desktop 2510 in split-screen mode. Next, in response to a selection operation (e.g., knuckle selection operation 2511), the phone displays the main system's "Anywhere Door" trigger interface 2520 and the subsystem's desktop 2510 in split-screen mode. Interface 2520 includes a third send button 2521.
[0328] Next, see Figure 25B In response to the triggering of the third send button 2521, the phone does not control the selected objects, and the phone displays the Moments feed in split screen.TM Editing interface 2530 and subsystem desktop 2510.
[0329] contrast Figure 24A and Figure 24B Corresponding examples, and Figure 25A and Figure 25B Corresponding examples are available. The mobile phone can implement different controls on transmitted data based on the different object spaces (subsystems or main systems) where the user triggers the trust loop. Furthermore, the mobile phone can implement different controls on transmitted data based on the application source of the recipient (third-party applications or local applications).
[0330] In other embodiments of this application, the mobile phone can manage the transmission of data between the main system and subsystems through resource access services. This allows the phone to prevent the transmission of highly important data to the main system, thereby enhancing the phone's security and preventing the leakage of sensitive information.
[0331] Figure 26 An example of a possible software architecture for implementing the technical solution provided in Embodiment 2 is shown. See also Figure 26 The application layer can include a second application located in the subsystem and a first application located in the main system. It should be understood that the first application located in the main system can be any application installed on the main system, such as a file management application, a launcher application, a contacts application, etc. Similarly, the second application located in the subsystem can be any application installed in the subsystem, such as a subsystem desktop application, a contacts application, a file management application, etc. Furthermore, the application framework layer includes drag-and-drop frameworks and resource access services.
[0332] The drag-and-drop framework responds to user drag-and-drop actions, moving data from one view object to another. Furthermore, the drag-and-drop framework includes drag-and-drop event classes, drag-and-drop listeners, and methods and classes that assist the drag-and-drop framework. The resource access service is used to determine the control outcome based on the control policy.
[0333] For example, see Figure 27 The mobile phone can perform the following steps S2700-S2703 to manage the transmitted data.
[0334] S2700. In response to drag-and-drop operations, the drag-and-drop frame identifies the data receiver and the data sender.
[0335] As a possible example, from the above Figure 20As the corresponding description shows, the data sender receives drag events through a drag event listener and responds to drag events (such as the ACTION_DRAG_STARTED event) by returning true to the drag framework. Therefore, when the drag framework generates an ACTION_DRAG_STARTED event, the drag framework determines the first target view that returns true to it as the data sender. Further, the drag framework determines the (application) package name of the first target view.
[0336] Similarly, from the above text Figure 20 As the corresponding description shows, the data receiver acquires drag events through a drag event listener and responds to drag events (such as the ACTION_DRAG_DROPPED event) by returning true to the drag framework. Therefore, when the drag framework generates an ACTION_DRAG_DROPPED event, the drag framework identifies the second target view that returns true as the data receiver. Further, the drag framework determines the (application) package name of the second target view.
[0337] S2701. The drag-and-drop framework sends data receivers and data senders to the resource access service.
[0338] As a possible example, the drag-and-drop framework sends the package name of the first target view (which may also be called the package name of the data receiver) to the resource access service, and the drag-and-drop framework sends the package name of the second target view (which may also be called the package name of the data sender) to the resource access service.
[0339] S2702. The resource access service determines the control outcome based on the data receiver and the data sender.
[0340] The resource access service has pre-defined control policies. Based on these policies, the resource access service can process the packet names of the data receiver and the data sender to determine the control outcome.
[0341] For example, if the packet name of the data sender is the packet name of the application located in the main system, and the packet name of the data receiver is the packet name of the application located in the subsystem, the resource access service obtains a second result.
[0342] For example, if the packet name of the data sender is the packet name of an application located in the subsystem, the resource access service will obtain either a first result or a third result.
[0343] Furthermore, if the packet name of the data sender is the packet name of a first type of application located in the subsystem, the resource access service obtains a first result; if the packet name of the data sender is the packet name of a second type of application located in the subsystem, the resource access service obtains a third result.
[0344] The first category of applications can include office applications, shopping applications, social networking applications, payment applications, and other applications where users are likely to store relatively important data. The second category of applications can include camera applications, audio / video applications, game applications, and other applications where users are unlikely to store relatively important data. Alternatively, the first category of applications can be third-party applications, and the second category of applications can be local applications.
[0345] S2703. Drag and drop the frame to control the processing of the transmitted data.
[0346] For example, if the control result is the first outcome, the drag-and-drop framework deletes the transmitted data placed in the intent by the data sender. This prevents the data receiver from accessing the transmitted data. Alternatively, if the control result is the second outcome, the drag-and-drop framework sends the intent to the data receiver. This allows the drag-and-drop framework to access the transmitted data. Or, if the control result is the third outcome, the drag-and-drop framework displays a control pop-up on the phone's screen (as described above). Figure 22A The control pop-up shown is 2212). When the user triggers option 2212A or option 2212B, the drag-and-drop frame sends the intent to the data receiver; when the user triggers option 2212C, the drag-and-drop frame deletes the transmitted data placed in the intent by the data sender. Option 2212A or option 2212B can be referred to as the "allow transmission" option. Option 2212C can be referred to as the "disallow transmission" option.
[0347] In other technical solutions provided in the embodiments of this application, users can also transfer applications and their application data between the main system and the subsystem through drag-and-drop operations.
[0348] For example, see Figure 28A The phone displays the main system's desktop 2800 and the subsystem's desktop 2810 in a split-screen mode. Desktop 2800 includes an icon 2801 for a video application. Next, in response to a long press on icon 2801, icon 2801 floats up, and its position moves according to the user's dragging action. The long press and dragging actions are consecutive user operations. For example, the phone displays the main system's desktop 2820 and the subsystem's desktop 2810 in a split-screen mode.
[0349] Next, the user drags icon 2821 into the subsystem's display area. For example, see... Figure 28B The phone displays the main system's desktop 2830 and the subsystem's desktop 2840 in split-screen mode. When the user drags icon 2831 to the position indicated by icon 2841, and then releases the drag, the phone installs the video application into the subsystem and transfers the video application's data to the subsystem. The phone then displays the main system's desktop 2850 and the subsystem's desktop 2860 in split-screen mode. The subsystem's desktop 2860 includes the video application's icon 2861, while the main system's desktop 2850 does not include the video application's icon.
[0350] Furthermore, some solutions take into account that application installation and application data transfer may take some time. See also Figure 28C In response to the user's release operation, the phone can display the main system desktop 2850 and the subsystem desktop 2870 in split screen. Desktop 2870 includes icons 2871. Icons 2871 are used to display the application installation progress and the application data transfer progress. After the video application is installed and the application data transfer is completed, the phone displays the main system desktop 2850 and the subsystem desktop 2860 in split screen.
[0351] In some other embodiments provided in this application, the mobile phone may execute steps S2000-S2006 after the above steps S1300-S1307. Alternatively, the mobile phone may execute steps S2100-S2106 after the above steps S1300-S1307.
[0352] In other embodiments provided in this application, see also Figure 29 The data transmission method provided in this application embodiment may include steps S2900-S2905; optionally, after the mobile phone performs step S2905, it may perform steps S2906A, S2906B, S2906C or S2906D.
[0353] S2900. In response to a user action, the first application determines the data to be transmitted from the database of the main system.
[0354] S2901. The first application places the data to be transmitted into the intent.
[0355] S2902. The first application sends an intent to the drag-and-drop frame.
[0356] S2903. In response to the release operation, the drag-and-drop frame sends the package name of the first application and the package name of the second application to the resource access service.
[0357] S2904. Resource access service determines control results.
[0358] S2905. The resource access service sends the control result to the drag-and-drop frame.
[0359] Next, the mobile phone can execute steps S2906A, S2906B, S2906C, or S2906D based on the control result.
[0360] S2906A. When the control result is the second result, the drag-and-drop frame sends an intent to the second application.
[0361] S2906B. When the control result is the third result and a trigger operation for the allow transmission option is received, the drag frame sends an intent to the second application.
[0362] S2906C. When the control result is the first result, dragging the frame does not send an intent.
[0363] For example, dragging and dropping the frame can destroy (delete) the intent.
[0364] S2906D. When the control result is a third result and the phone triggers an operation on the option to disable transmission, the drag frame does not send an intent to the second application.
[0365] For example, dragging and dropping the frame can destroy (delete) the intent.
[0366] It should be noted that the personal information used in the technical solution of this application is limited to information for which individual consent has been obtained, including but not limited to notifying and reminding users to read the relevant user agreement (notification) and sign the agreement (authorization) which includes authorization of relevant user information before users use the function.
[0367] Based on the algorithmic steps of the various examples described in the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in conjunction with the embodiments, but such implementations should not be considered beyond the scope of this application.
[0368] This embodiment can divide the electronic device into functional modules according to the above method example. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated modules can be implemented in hardware. It should be noted that the module division in this embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0369] This application also provides a chip system, such as... Figure 30 As shown, the chip system 3000 includes at least one processor 3001 and at least one interface circuit 3002. The processor 3001 and the interface circuit 3002 are interconnected via lines. For example, the interface circuit 3002 can be used to receive signals from other devices (e.g., the memory of an electronic device). As another example, the interface circuit 3002 can be used to send signals to other devices (e.g., the processor 3001). Exemplarily, the interface circuit 3002 can read instructions stored in the memory and send those instructions to the processor 3001. When the instructions are executed by the processor 3001, the electronic device can perform the steps in the above embodiments. Of course, the chip system may also include other discrete devices, and this application embodiment does not specifically limit this.
[0370] This application also provides an electronic device, such as... Figure 31 As shown, the electronic device may include one or more processors 3101, memory 3102 and communication interfaces 3103.
[0371] The memory 3102, the communication interface 3103, and the processor 3101 are coupled together. For example, the memory 3102, the communication interface 3103, and the processor 3101 can be coupled together via a bus 3104.
[0372] The communication interface 3103 is used for data transmission with other devices. The memory 3102 stores computer program code. The computer program code includes computer instructions, which, when executed by the processor 3101, cause the electronic device to perform the relevant method steps in the above-described method embodiments of this application.
[0373] The processor 3101 may be a processor or controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in connection with this disclosure. The processor may also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0374] Bus 3104 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Bus 3104 can be categorized into address bus, data bus, control bus, etc. For ease of representation, Figure 31 The symbol is represented by only one line, but this does not mean that there is only one bus or one type of bus.
[0375] This application also provides a computer-readable storage medium storing computer program code. When the processor executes the computer program code, the electronic device executes the relevant method steps in the above method embodiments.
[0376] This application also provides a computer program product that, when run on a computer, causes the computer to execute the relevant method steps described in the above method embodiments.
[0377] The electronic devices, computer-readable storage media, or computer program products provided in this application are all used to perform the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods provided above, and will not be repeated here.
[0378] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0379] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0380] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0381] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0382] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, in essence, or the part that contributes, or all or part of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0383] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A data transmission method, characterized in that, The method is applied to an electronic device, and the method includes: The first interface of the first system and the second interface of the second system are displayed in a split-screen format; the first interface includes a first application icon, and the second system is a subsystem running under the first system; In response to a user's first drag operation on the first application icon, the first application icon in a floating state is displayed; during the process of displaying the first application icon in a floating state, the first application icon in a floating state moves following the user's first drag operation. When the first application icon is dragged to the first position on the second interface, in response to the user's release operation, the third interface of the first system and the fourth interface of the second system are displayed in a split screen; the fourth interface includes the first application icon.
2. The method according to claim 1, characterized in that, The icon for the first application is the same as the icon for the first application, and the first application is installed on the main system; The split-screen display of the third interface of the first system and the fourth interface of the second system in response to the user's release operation includes: In response to the user releasing their hand, the installation package of the first application is used to install the second application in the second system, resulting in the second application; the icon of the second application is the same as the icon of the first application. Once the second application is installed, the third interface of the first system and the fourth interface of the second system are displayed in a split-screen format.
3. The method of claim 2, wherein, The method further includes: After the second application is installed, the application data of the first application is backed up to obtain backup data; Create a data transmission pipeline; The second application obtains the backup data through the data transmission pipeline; The backup data is restored to the second application installed in the second system.
4. The method according to any one of claims 1-3, characterized in that, The method further includes: The transmission time of the backup data is determined based on the size of the backup data; This displays the transmission time of the backup data.
5. The method according to any one of claims 1 to 4, characterized in that, The first system corresponds to the first system user, and the second system corresponds to the second system user; The method further includes: After receiving the destruction operation for the second system, the third system user installs the third application on the first system using the installation package of the first application; the third system user is different from the first system user and different from the second system user. The third application obtains the backup data of the second application; Restore the backup data of the second application to the third application installed in the first system; Destroy the second system.
6. The method according to any one of claims 1-5, characterized in that, Before the split-screen display of the first interface of the first system and the second interface of the second system, the method further includes: In response to an operation in the settings application of the first system, the first control is displayed; In response to a trigger operation on the first control, the second system is started, and a first icon of the second system is displayed on the desktop of the first system.
7. The method of claim 6, wherein, The first interface is the desktop of the first system, and the second interface is the desktop of the second system; The method further includes: The desktop of the first system is displayed in full screen, and the desktop of the first system includes the first icon of the first system. The split-screen display of the first interface of the first system and the second interface of the second system includes: In response to the triggering operation of the first icon, the desktop of the first system and the desktop of the second system are displayed in split screen.
8. The method according to claim 6 or 7, characterized in that, The method further includes: When the electronic device displays the fifth interface of the first system in full screen, in response to the user's target operation, the fifth interface and the desktop of the second system are displayed in split screen.
9. The method according to any one of claims 1 to 8, characterized in that, The method further includes: When the first interface of the first system and the second interface of the second system are displayed in a split screen, adjustment controls are displayed on the dividing line between the first interface and the second interface; In response to a triggering operation on the adjustment control, the display size of the first interface and the display size of the second interface change; or, In response to a triggering operation on the adjustment control, the second interface is displayed in a floating window; or, In response to a triggering operation on the adjustment control, the second interface is displayed in full screen.
10. An electronic device, comprising: The electronic device includes a processor and a memory; the processor is coupled to the memory; the memory is used to store computer program code; the computer program code includes computer instructions, which, when executed by the processor, cause the electronic device to perform the method as described in any one of claims 1-9.
11. A computer readable storage medium, characterized in that, The computer-readable storage medium includes computer instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in any one of claims 1-9.