Application sharing methods and sharing devices

By directly sharing application page information or identifiers, the problem of increased costs in developing mini-programs in existing technologies is solved, enabling fast and low-cost application sharing.

CN115145738BActive Publication Date: 2026-05-26HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2021-03-16
Publication Date
2026-05-26

Smart Images

  • Figure CN115145738B_ABST
    Figure CN115145738B_ABST
Patent Text Reader

Abstract

This application provides a method and apparatus for sharing an application. In the proposed solution, when a sharing party runs an application, it can receive a sharing instruction from a user. This instruction instructs the sharing party to share pages within the application. The sharing party shares the page information with the receiving party, who can then access the page based on this information. This application shares pages within an application by sharing page information, enabling more convenient application sharing between devices.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of information sharing, and more particularly to methods and devices for sharing applications. Background Technology

[0002] With the rapid development of electronic information technology and Internet technology, sharing applications on terminal devices has become an indispensable part of daily life or work, such as sharing a good song on a music app or sharing a product on a shopping app.

[0003] Therefore, how to achieve application sharing has become a pressing technical problem that needs to be solved. Summary of the Invention

[0004] This application provides a method for sharing applications and related products. The technical solution provided in this application can realize the sharing of applications.

[0005] In a first aspect, this application provides a method for sharing an application. The method is applied to a first device and includes: running a first application; receiving a page sharing instruction, the page sharing instruction instructing the first device to share a page from the first application; and sharing page information with a second device, wherein the page information is used to obtain the page.

[0006] In the technical solution of this application, the first device shares the application by sending page information to the second device. Since the page information of the application is not restricted by the relay application, that is, no matter what relay application the terminal device uses to share the application with other terminal devices, the other terminal devices can output the page of the application based on the page information. Therefore, this method can enable the terminal device to share the application through the relay application without developing a corresponding applet for different third-party applications, thereby saving development and maintenance costs.

[0007] In conjunction with the first aspect, in one possible implementation, sharing the page information with the second device includes: sending the page information through a second application.

[0008] In conjunction with the first aspect, in one possible implementation, the first device stores the page information in a page file; sharing the page information with the second device includes: reading the page information from the page file and sharing the page information with the second device.

[0009] In this technical solution, since the first device sends the page file of the page to be shared, which is quickly obtained directly from the page file of the first application, to the second device, the application can be quickly shared.

[0010] In conjunction with the first aspect, in one possible implementation, before running the first application, the method further includes: downloading the first application via a network; and backing up the page file outside the first application.

[0011] In this technical solution, before running the first application, a page file is backed up outside the first application while downloading the first application over the network. Therefore, when the first device shares information with the second device, the page information to be shared can be directly extracted from the backed-up page file and sent to the second device, without needing to obtain the information to be sent from the first application, thus achieving fast sharing.

[0012] In conjunction with the first aspect, in one possible implementation, the page information includes page element information and page resources.

[0013] In conjunction with the first aspect, in one possible implementation, the page information is an identifier corresponding to the page, and sharing the page information with the second device includes: sending the identifier to the second device, wherein the identifier is used to download the page element information and page resources of the page via the network.

[0014] In this technical solution, the first device shares the page by sending the identifier corresponding to the page to the second device. After receiving the identifier, the second device can download the page element information and page resources corresponding to the identifier via the network.

[0015] In conjunction with the first aspect, in one possible implementation, the identifier includes a first sub-identifier and a second sub-identifier, wherein the first sub-identifier indicates the first application and the second sub-identifier indicates the page.

[0016] In conjunction with the first aspect, in one possible implementation, the page element information and page resources of the page are used to provide a first part of the functionality of the page; the method further includes: providing a capability file for the second device, wherein the capability file is used to provide a second part of the functionality of the page.

[0017] In this technical solution, the first device can provide the second device with files in addition to page information, so that the page information shared with the second device can perform more functions when it is run, thus increasing the sharing effect.

[0018] Secondly, this application provides a method for sharing an application, the method being applied to a second device, the method comprising: obtaining page information shared by a first device, the page information being used to generate a page of the first application; and obtaining and displaying the page based on the page information.

[0019] In the technical solution of this application, the second device can obtain and display the page based on the page information shared by the first device.

[0020] In conjunction with the second aspect, in one possible implementation, obtaining the page information shared by the first device includes: receiving the page information through a second application.

[0021] In conjunction with the second aspect, in one possible implementation, the page information includes page element information and page resources.

[0022] In conjunction with the second aspect, in one possible implementation, the page information is an identifier corresponding to the page, and obtaining the page includes: downloading the page element information and page resources of the page through the network according to the identifier, and generating the page according to the page element information and page resources of the page.

[0023] In this technical solution, the recipient can first obtain page element information and page resources based on identifiers such as string information, and then generate the page. When the second terminal device downloads the page element information and page resources via the network, it can download only the file containing the page element information and page resources described by the string information, instead of the entire application from the app store. This reduces the size of the information downloaded by the recipient and also reduces the download time.

[0024] In conjunction with the second aspect, in one possible implementation, the identifier includes a first sub-identifier and a second sub-identifier, wherein the first sub-identifier indicates the first application and the second sub-identifier indicates the page.

[0025] In conjunction with the second aspect, in one possible implementation, the page element information and page resources of the page are used to provide a first part of the functionality of the page; the method further includes: obtaining a capability file from the first device, wherein the capability file is used to provide a second part of the functionality of the page.

[0026] Thirdly, this application provides a first device for sharing an application, the first device comprising: a memory for storing program instructions; a processor for invoking the program instructions to execute: running a first application and receiving a page sharing instruction, the page sharing instruction being used to instruct the first device to share a page in the first application; and a communication module for sharing page information with a second device, wherein the page information is used to obtain the page.

[0027] In conjunction with the third aspect, in one possible implementation, the communication module is specifically used to send the page information through a second application.

[0028] In conjunction with the third aspect, in one possible implementation, the first device stores the page information in a page file; the communication module is further configured to read the page information from the page file and share the page information with the second device.

[0029] In conjunction with the third aspect, in one possible implementation, the communication module is further configured to download the first application via a network before the runtime module runs the first application; the processor is further configured to invoke program instructions to execute: backing up the page file outside the application.

[0030] In conjunction with the third aspect, in one possible implementation, the page information includes page element information and page resources.

[0031] In conjunction with the third aspect, in one possible implementation, the page information is an identifier corresponding to the page, and the communication module is further configured to send the identifier to the second device, wherein the identifier is used to download page element information and page resources of the page via the network.

[0032] In conjunction with the third aspect, in one possible implementation, the identifier includes a first sub-identifier and a second sub-identifier, wherein the first sub-identifier indicates the first application and the second sub-identifier indicates the page.

[0033] In conjunction with the third aspect, in one possible implementation, the page element information and page resources of the page are used to provide a first part of the functionality of the page; the communication module is further used to provide a capability file to the second device, wherein the capability file is used to provide a second part of the functionality of the page.

[0034] Fourthly, this application provides an application sharing device, which is applied to a second device. The device includes: a communication module for acquiring page information shared by a first device, the page information being used to acquire a page of the first application; a memory for storing program instructions; and a processor for calling the program instructions to execute: acquiring and displaying the page according to the page information.

[0035] In conjunction with the fourth aspect, in one possible implementation, the communication module is specifically used to receive the page information through a second application.

[0036] In conjunction with the fourth aspect, in one possible implementation, the page information includes page element information and page resources.

[0037] In conjunction with the fourth aspect, in one possible implementation, the page information is an identifier corresponding to the page, and obtaining the page includes: downloading the page element information and page resources of the page through the network according to the identifier, and generating the page according to the page element information and page resources.

[0038] In conjunction with the fourth aspect, in one possible implementation, the identifier includes a first sub-identifier and a second sub-identifier, wherein the first sub-identifier indicates the first application and the second sub-identifier indicates the page.

[0039] In conjunction with the fourth aspect, in one possible implementation, the page element information and page resources of the page are used to provide a first part of the functionality of the page; the communication module is further used to obtain a capability file from the first device, wherein the capability file is used to provide a second part of the functionality of the page.

[0040] Fifthly, this application provides a computer-readable medium storing program code for execution by a device, the program code including a sharing method for executing the application described in any of the above aspects or any possible implementations.

[0041] Sixthly, this application provides a computer program product containing instructions, the computer program product including computer program code, which, when run on a computer, causes the computer to execute the application sharing method described in any of the above aspects or any possible implementations. Attached Figure Description

[0042] Figure 1 A schematic diagram of the hardware architecture of an electronic device provided in one embodiment of this application;

[0043] Figure 2A schematic diagram of the software structure of an electronic device provided in one embodiment of this application;

[0044] Figure 3 A schematic diagram of the sharing user interface of the application provided in the first embodiment of this application;

[0045] Figure 4 A schematic diagram of the sharing user interface of the application provided in the second embodiment of this application;

[0046] Figure 5 A schematic diagram of the sharing user interface of the application provided in the third embodiment of this application;

[0047] Figure 6 A schematic diagram of the file structure provided for one embodiment of this application;

[0048] Figure 7 A schematic diagram of the file structure provided for another embodiment of this application;

[0049] Figure 8 A schematic diagram of the system architecture provided for one embodiment of this application;

[0050] Figure 9 A schematic diagram of the system architecture provided for yet another embodiment of this application;

[0051] Figure 10 A schematic diagram of the system architecture provided for another embodiment of this application;

[0052] Figure 11 A schematic diagram of the system architecture provided for another embodiment of this application;

[0053] Figure 12 A schematic flowchart illustrating an application sharing method provided in one embodiment of this application;

[0054] Figure 13 A schematic flowchart illustrating an application sharing method provided in yet another embodiment of this application;

[0055] Figure 14 A schematic flowchart illustrating an application sharing method provided in another embodiment of this application. Detailed Implementation

[0056] To better illustrate the embodiments of this application, the sharing party and the shared party involved in this application will be described below. In the embodiments of this application, when one device shares an application with another device, the former device is called the sharing party, and the latter device is called the shared party.

[0057] Currently, to enable sharing of an application (APP), the application developer needs to develop a corresponding mini-program. For example, to allow the sharer to use the application... To share a shopping app with the recipient, the developer needs to develop a corresponding app. The mini-program, and the recipient of the sharing accessed it through... After receiving the shared content, you must run the corresponding mini-program to open the received shared content.

[0058] This method of sharing applications requires the additional development of mini-programs, which increases the developer's workload and maintenance costs.

[0059] Another way to share an application is for the sharer to generate a link related to the content to be shared and send the link to the recipient. If the recipient does not have an application that can open the link, they need to download and install the application corresponding to the link from the app store before they can open the shared content based on the link.

[0060] In this sharing method, the application package downloaded by the recipient from the app store is usually quite large, resulting in a longer download time and higher data usage.

[0061] Based on the technical problems in existing sharing methods of applications, this application proposes a new sharing scheme. The application in this application can also be referred to as application software.

[0062] In the technical solution proposed in this application, the sharing party can share page information with the sharing recipient, and the sharing recipient can obtain the page based on the page information. Specifically, there are two ways to achieve application sharing.

[0063] In the first method, page information can be page element information and page resources. Page element information may include one or more of the following: page element and layout definitions, page element colors, page element sizes, and page element dynamic status information. Page resources are the resources that the application needs to display (such as image resources, music resources, etc.). The sharing party extracts the page element information and page resources of the page to be shared from its application and sends a page file containing the aforementioned page element information and page resources to the sharing party. The sharing party can directly generate a page based on the page element information and page resources. For example, the sharing party can run the page element information and page resources of the page to be shared in the page file through a runtime module to implement all or part of the functions in the page to be shared.

[0064] In the second approach, the page information can also be an identifier related to the page to be shared. The sharing party generates and shares this identifier with the sharing recipient. The sharing recipient can use this identifier to first obtain the page element information and page resources, and then generate the page. For example, after obtaining the identifier, the sharing recipient can download a file containing the page element information and page resources of the page to be shared from the app store or the server storing the application, and then use the runtime module to run the page element information and page resources of the page to be shared in the page file to realize all or part of the functions in the page to be shared.

[0065] Compared to sharing methods that require the development of mini-programs, the technical solution proposed in this application eliminates the need for developers to create corresponding mini-programs, thereby reducing development and maintenance costs for developers. Compared to the recipient downloading the shared application from the app store based on string information, the recipient only needs to download the page element information and page resource files of the page to be shared, without having to download the entire application, thus reducing the recipient's download time and data usage.

[0066] In the second method described above, the identifier related to the page to be shared can be a string of information. The sharing party can directly send this string of information to the sharing recipient. Alternatively, the sharing party can generate a QR code carrying this string of information and send or display the QR code to the sharing recipient. This application does not limit the specific form of the identifier.

[0067] Furthermore, the string information in the technical solution of this application may include identification information indicating the application and identification information indicating the page to be shared. For example, if the page elements and page resources of multiple pages are stored in the same page file, the identification information indicating the page to be shared may include the page element information and the location of the page resources in the page file; if the page elements and page resources of each page are stored in a separate page file, the identification information indicating the page to be shared may include the page element information and the location of the page file containing the page resources in the page file library composed of multiple page files. The identification information indicating the application may include the application name, the download path of the application in the application market, and / or the server address where the application is stored, etc.

[0068] Once the recipient obtains the string information, they can request the corresponding page element information and page resources from the app store or the server storing the application. Upon receiving the request, the app store can retrieve the corresponding page element information and page resources from the application's server based on the string information, and then send the page element information and page resources to the recipient.

[0069] Optionally, in the technical solution proposed in this application, when the sharing party sends the page information of the page to be shared in the application, it can also send permission verification information to verify the permissions of the page information, thereby avoiding the sharing risk caused by malicious tampering of the page information. As an example, the permission verification information may include the signature information of the page information.

[0070] The sharing method of the application proposed in this application can be applied to electronic devices. For example, Figure 1 A schematic diagram of the electronic device is shown.

[0071] like Figure 1 As shown, the electronic device 100 may include at least one of the following: mobile phone, foldable electronic device, tablet computer, desktop computer, laptop computer, handheld computer, notebook computer, ultra-mobile personal computer (UMPC), netbook, cellular phone, personal digital assistant (PDA), augmented reality (AR) device, virtual reality (VR) device, artificial intelligence (AI) device, wearable device, in-vehicle device, smart home device, or smart city device. This application embodiment does not impose any special limitation on the specific type of the electronic device 100.

[0072] Electronic device 100 may include processor 110, internal memory 121, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, display screen 194, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and buttons 190.

[0073] It is understood that the structures illustrated in the embodiments of this application 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.

[0074] Processor 110 may include one or more processing units, such as application processors (APs), modem processors, graphics processing units (GPUs), image signal processors (ISPs), controllers, video codecs, digital signal processors (DSPs), baseband processors, and / or neural network processing units (NPUs). These different processing units may be independent devices or integrated into one or more processors.

[0075] The processor can generate operation control signals based on the instruction opcode and timing signals to control the instruction fetching and execution.

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

[0077] In some embodiments, the processor 110 may include one or more interfaces. These 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. The processor 110 can connect to modules such as touch sensors, audio modules, wireless communication modules, displays, and cameras through at least one of these interfaces.

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

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

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

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

[0082] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through an audio device (not limited to a speaker, receiver 170B, etc.) or displays images or videos on a display screen. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 150 or other functional modules.

[0083] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), Bluetooth Low Energy (BLE), ultra-wideband (UWB), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.

[0084] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other electronic devices via wireless communication technology. This wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).

[0085] Electronic device 100 can implement display functions through a GPU, display screen 194, and application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The 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 more display screens 194.

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

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

[0089] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.

[0090] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music through the speaker 170A or output audio signals for hands-free calling.

[0091] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the electronic device 100 answers a telephone call or voice message, the receiver 170B can be brought close to the ear to listen to the voice.

[0092] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Electronic device 100 may have at least one microphone 170C. In some embodiments, electronic device 100 may have two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, electronic device 100 may also have three, four, or more microphones 170C, which can collect sound signals, reduce noise, identify the sound source, and perform directional recording, etc.

[0093] The 170D headphone jack is used to connect wired headphones. The 170D headphone jack can be a USB 130 interface or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface.

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

[0095] It is understood that the structures illustrated in the embodiments of this application 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.

[0096] When the electronic device 100 in this embodiment acts as a sharing device, the processor 110 can retrieve page element information and page resources of the page to be shared in the application from the internal memory 121, and the mobile communication module 150 or the wireless communication module 160 sends the page element information and page resources. Optionally, the processor 110 can retrieve page identification information (e.g., string information) describing the page from the internal memory 121, and the mobile communication module 150 or the wireless communication module 160 sends the page identification information. Optionally, the processor 110 retrieves the page identification information (e.g., string information) from the internal memory 121, generates a QR code carrying the page identification information, and controls the mobile communication module 150 or the wireless communication module 160 to send the QR code, or controls the display screen to display the QR code.

[0097] Optionally, the electronic device 100, acting as the sharing party, can download the application installation package from the application market via the mobile communication module 150 or the wireless communication module 160, obtain the application's page file from the installation package, copy the page file to obtain a copy of the page file, and store the copy separately from the application, i.e., perform a separate backup of the page file, so that the page information in the page file can be quickly shared later.

[0098] Alternatively, the sharing electronic device 100 can download the application installation package (including the page file) and a copy of the page file from the application market via the mobile communication module 150 or the wireless communication module 160; the processor 110 archives the copy of the page file separately in the content storage 121, that is, stores the copy separately from the application. For example, the electronic device 100 stores the page copy in a separately archived page file library.

[0099] When the electronic device 100 in this embodiment is the recipient of the shared data, the mobile communication module 150 or the wireless communication module 160 receives the page element information and page resources of the page to be shared in the application. The processor 110 runs the page element information and page resources through the runtime module to realize the sharing of the application.

[0100] In this embodiment, optionally, when the sharing party sends page information, it can also send permission verification information to perform permission verification and prevent sharing risks caused by malicious tampering.

[0101] The electronic device 100 in this application embodiment can adopt an Android system, HarmonyOS system, iOS system, or other operating systems, or a multi-framework operating system (such as Android system and HarmonyOS system). This application does not limit this. In addition, the software system of the electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application embodiment takes a layered architecture software system as an example to illustrate the software structure of the electronic device 100 with reference to the example.

[0102] 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 software system of an electronic device is divided into five layers, from top to bottom: application layer, application framework layer, runtime (RT) and native C / C++ libraries, hardware abstraction layer (HAL), and kernel layer.

[0103] The application layer can include a series of application packages. For example... Figure 2 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and SMS.

[0104] 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.

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

[0106] The window manager provides a window management service (WMS), which can be used for window management, window animation management, surface management, and as a relay station for the input system.

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

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

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

[0110] The notification manager allows applications to display notifications in the status bar. These notifications can be used to deliver informational messages and can disappear automatically after a short pause, requiring no user interaction. For example, the notification manager can be used to notify users of completed downloads or message alerts. The notification manager can also display notifications as icons or scrolling text in the top status bar, such as notifications from background applications, or as dialog boxes on the screen. Examples include displaying text messages in the status bar, emitting sounds, vibrating electronic devices, and flashing indicator lights.

[0111] The Activity Manager Service (AMS) can be used to start, switch, and schedule system components (such as activities, services, content providers, and broadcast receivers), as well as manage and schedule application processes.

[0112] The input manager can provide an input management service (IMS), which can be used to manage system inputs, such as touchscreen input, keypad input, and sensor input. IMS retrieves events from input device nodes and, through interaction with the WMS, distributes these events to the appropriate windows.

[0113] A runtime module is the runtime environment for an object-oriented programming language. Any code written in any language needs a corresponding runtime module to run on hardware. In other words, for a program to run on a hardware or platform, there must be an intermediate layer to convert or interpret the programming language into machine language that the machine can understand; this intermediate layer can be understood as a runtime module.

[0114] The runtime module typically contains a corresponding engine as an interpreter, which provides the runtime module with platform capabilities such as network, process, and file system of the operating system.

[0115] The runtime module in this embodiment may include a core library and a feature ability (FA) runtime module. The FA runtime module can convert source code into a user interface. For example, the FA runtime module in this embodiment may include a JavaScript (JS) engine that can run program files written in the JavaScript language. An example of a JS assets file in this embodiment is a program file written in the JavaScript language.

[0116] The core library primarily provides basic Java class library functionalities, such as libraries for fundamental data structures, mathematics, I / O, tools, databases, and networking. It also provides APIs for users to develop applications.

[0117] Native C / C++ libraries can include multiple functional modules. Examples include: surface manager, media framework, libc, OpenGL ES, SQLite, Webkit, etc.

[0118] The Surface Manager manages the display subsystem and provides 2D and 3D layer blending for multiple applications. The Media Framework supports playback and recording of various common audio and video formats, as well as still image files. The Media Library supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. OpenGL ES provides drawing and manipulation of 2D and 3D graphics in applications. SQLite provides a lightweight relational database for applications on the electronic device.

[0119] The Hardware Abstraction Layer (HAL) runs in user space, encapsulates kernel-level drivers, and provides calling interfaces to the upper layers.

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

[0121] It is understood that the above software structure is merely an exemplary software structure of the electronic device in the embodiments of this application and should not be construed as limiting the electronic device in the embodiments of this application. Electronic devices that include a runtime module capable of directly running page files to display a user interface should be included within the protection scope of this application. In some implementations, the engine included in the runtime module of the electronic device in the embodiments of this application does not pause the entire system when performing garbage collection. For example, the engine included in the runtime module of the electronic device in the embodiments of this application can be a JS engine.

[0122] When the electronic device 100 acts as the sharing party, it can call the communication module of the hardware abstraction layer (such as an antenna module or a Bluetooth module) to send the page element information and page resources, or send page identification information (such as string information). Correspondingly, when the electronic device 100 in this embodiment acts as the sharing recipient, it can call the runtime module to run the page element information and page resources to realize the sharing of the application.

[0123] Optionally, in this embodiment, the electronic device acting as the sharing party may also send permission verification information for the page file or permission verification information for a string describing the page file, in order to prevent sharing risks caused by malicious tampering.

[0124] For ease of understanding, the following embodiments of this application will be described using the following methods: Figure 1 and Figure 2 Taking the mobile phone with the structure shown as an example, the application scenarios of the sharing application provided in the embodiments of this application will be illustrated by way of example with reference to the accompanying drawings.

[0125] Figure 3 The image shows a set of graphical user interfaces (GUIs) for the mobile phone, from which... Figure 3 (a) in Figure 3 (e) shows an example of the process from the sharer sharing the application to the recipient opening the shared application.

[0126] like Figure 3 As shown in (a), the user displays the information on mobile phone 310, which is the sharing device. The "Xiao Wu Casserole" store page in the app contains a share icon 301.

[0127] When the user clicks the share icon 301, phone 310 can display the following: Figure 3 The page shown in (b). In this embodiment, Figure 3 The page shown in (a) is the page to be shared.

[0128] Figure 3 (b) The page shown contains a selection page 302 for the relay application, which allows the user to choose to share. A relay application for the application. An exemplary relay application in this embodiment includes... wait.

[0129] For example, when the user selects Figure 3 As shown in (b) After the application is used as a relay application, the phone displays the following: Figure 3 The page shown in (c) Figure 3(c) The page provided to the user The application allows users to select the user to share with, from user 1 to user m. The users of the application.

[0130] For example, when the user selects Figure 3 (c) After User 1 on the page shown, mobile phone 310 sends... In applications such as Figure 3 (a) The page file of the page mentioned.

[0131] After sending the above page file to mobile phone 310, the following response can be received: Figure 3 The page shown in (a) can also be displayed as follows: Figure 3 (d) The page shown in the image, or stay on the page shown in the image. The application's page. Figure 3 (d) The page shows a prompt for the user to choose whether to return. The application remains application.

[0132] The 320 phone, as the recipient of the sharing, accessed... The application received After the application's page file, it can be displayed as follows: Figure 3 The page shown in (e). Figure 3 As shown in (e), the page of application 2 on mobile phone 320 may contain Icons such as the application name and the name of the page to be shared (Xiao Wu Casserole).

[0133] Mobile phone 320 users click Figure 3 Following the "Xiao Wu Casserole" icon shown in (e), mobile phone 320 can generate and display a page about "Xiao Wu Casserole". The page generated by mobile phone 320 can be compared with... Figure 3 (a) can be completely identical pages, or it can include only the pages in (a) Figure 3 This application does not limit the content of the page in (a). That is, the mobile phone 320 can realize some or all of the functions of the page to be shared based on the received page information.

[0134] Figure 4 The second set of graphical user interfaces for the mobile phone is shown. For example... Figure 4 As shown in (a), the user displays the information on mobile phone 410, which is the sharing device. The application's page, which is a product display page for the "Xiao Wu Casserole" store, contains a share icon 401.

[0135] When the user clicks the share icon 401, phone 410 can display the following: Figure 4 (b) shows the page. Figure 4 (b) The page shown contains a selection page 402 that provides users with a choice of a relay application, allowing users to choose to share. The application can be used as a transfer app or shared via "copy link". The app can be used to share via the "Show QR code" option. Applications. Examples of transit applications include... wait.

[0136] For example, when the user selects Figure 4 As shown in (b) After acting as a relay application, phone 410 displays as follows: Figure 4 The page shown in (c) Figure 4 (c) The page displays prompt message 403, prompting the user to share the password, which contains information describing such as Figure 4 (a) shows the page element information and page resource string information of the page.

[0137] User confirmed After sharing the password in the app, phone 410 is redirected to Apply and display as follows Figure 4 (d) shows the page. Figure 4 (d) The page provided to the user The application allows users to select the user to share with, from user 1 to user m. The users of the application.

[0138] For example, when the user selects Figure 4 (d) After User 1 appears on the page shown, mobile phone 410 sends a password. After mobile phone 410 sends the password, it can return results such as... Figure 4 The page shown in (a) can also be displayed as follows: Figure 4 The page shown in (e), or simply stay on The application's page. Figure 4 (e) The page shown prompts the user to choose whether to return. The application remains application.

[0139] The phone 420, as the recipient of the sharing... After receiving the password, the application can display something like this. Figure 4The page shown in (f) contains prompts for the user to perform the required actions (e.g., "Please click here"), and may also contain information about sharing the page (e.g., "About Xiao Wu Casserole"), to inform the user of mobile phone 420 about the basic information regarding the sharing page. After the user of mobile phone 420 copies the password (e.g., by long-pressing the password), mobile phone 420 can display as shown in (f). Figure 4 (g) shows the page. Figure 4 On the page shown in (g), a 404 error message is displayed to prompt the user to confirm whether to download the page file containing page element information and page resources.

[0140] If the user selects to confirm the download, the phone 420 can use this password to download the app from the app store or... The application's server downloads a page file containing page element information and page resources for the page to be shared.

[0141] After the user of phone 420 downloads the page file containing the page element information and page resources of the page to be shared from the app store, and the user of phone 420 confirms opening the page file, phone 420 runs the downloaded page file and displays the page to be shared.

[0142] Understandably, after the 420 phone, as the recipient of the shared content, downloads the page file from the app store, it can directly and proactively run the received page file to display the page to be shared without requiring user confirmation.

[0143] Optionally, the password in this embodiment can be replaced with a link for downloading the page to be shared from the network or a QR code carrying string information describing the page file to be shared. In the example where the password is replaced with a corresponding link, after the mobile phone 420 receives and displays the link, the user can click the link or copy the link into a browser to open the page to be shared; in the example where the password is replaced with a corresponding QR code, after the mobile phone 420 receives and displays the QR code, it can recognize the QR code to obtain the string information carried therein, and download the page file from the network based on the string information.

[0144] In this embodiment, optionally, the mobile phone 410 may not display a selection page for the relay application to the user. In this implementation, after generating a password, link, or QR code, the user is prompted with "Password generated," "Link generated," or "QR code generated." Then, the user inputs a command to access the main desktop page of the mobile phone 410 and selects the relay application (e.g., [example application]) from the main desktop page to send the link. or (etc.) and execute Figure 4The operations corresponding to (d) to (g) are as follows. In this embodiment, the page element information and page resources of the application are not limited by the relay application. That is, regardless of which relay application the terminal device uses to share the application's page with other terminal devices, other terminal devices can obtain the application's page based on the page element information and page resources. Therefore, in this implementation, the development system does not need to develop corresponding applets for different third-party applications to realize the sharing of the application, thereby saving development and maintenance costs.

[0145] Figure 5 The third set of graphical user interfaces for the phone is shown, from which... Figure 5 (a) in Figure 5 (d) illustrates the process from the sharer sharing the application to the recipient opening the shared application.

[0146] like Figure 5 As shown in (a), the user displays the information on the mobile phone 510, which is the sharing device. The application's shareable page, which contains the share icon 501.

[0147] When a user clicks the share icon 501, as follows: Figure 5 As shown in (b), mobile phone 510 generates and displays a QR code containing string information describing the page file to be shared.

[0148] When the user of the 520 phone, as the recipient of the shared content, needs to open the aforementioned page to be shared, they can input a command into the 520 phone to activate its QR code scanning function. After receiving the user's command to activate the QR code scanning function, the 520 phone will display the following... Figure 5 The page shown in (c) displays a message prompting the user to scan the QR code: "Please scan the code." After the user scans the QR code displayed on the phone 510 using the phone 520, the following will be displayed: Figure 5 (d) shows the page. Figure 5 (d) The page prompts the user to confirm whether to download the page file.

[0149] If the user confirms the download of the page file, the page file to be shared will be downloaded from the app store or server based on the information in the QR code.

[0150] After downloading the page file from the app store on your 520 phone, you can run the file to display the following: Figure 5 (a) shows the page.

[0151] To better illustrate the sharing method of this application, the following will be combined with... Figure 6 and Figure 7This section describes the process of packaging, distributing, and installing applications.

[0152] Figure 6 This is a schematic diagram of the file structure of an application provided in one embodiment of this application, illustrating the process from development and packaging to installation on an electronic device.

[0153] like Figure 6 As shown, during the application packaging process, developers can use an application development platform to package the application into an application package (APP Pack) 610. This application package 610 may include: a JSassets file 611, representing page information files written in JavaScript within the application; a Dex file 612, a packaged file containing information describing the AA logic class, typically an executable file of the electronic device's operating system; and a Libs file 613, a packaged C++ library file containing the library files that the application depends on.

[0154] The JS assets file 611 may include page element information for each user interface in one or more user interfaces of the application and page resources for each user interface.

[0155] In this embodiment, page element information and page resources of different user interfaces can be stored in different files or in one file. Regardless of the storage method, the page element information and resources of each user interface generally need to have a unique identifier. Page element information and page resources can both be called page information. In this application, the file storing page information is called a page file.

[0156] It should be noted that the use of JavaScript to write page element information and page resources in this embodiment is merely an example, and this application does not limit it. In fact, other languages ​​can also be used to write user interface page element information and page resources, as long as the runtime module has an engine to parse and write the language used to write the page element information and page resources, allowing the runtime module to directly run the page element information and page resources. Correspondingly, page element information and page resources written in other languages ​​can also be archived as separate files.

[0157] In this embodiment, the application package 610 can be an example of a HarmonyOS ability package (HAP) or an Android application package (APK). When the application package 610 is an HAP package, the page file can consist of one or more FA files. When it is necessary to share a page, the page element information and page resources containing the page to be shared can be sent to the recipient in the form of FA files.

[0158] In this embodiment, after obtaining the application package, the development platform can publish the application package 610 to the application.

[0159] After receiving the application package 610, the app store stores the application package 610. Optionally, in addition to storing the application package 610, the app store can also archive at least one copy of the JS assets file 611 separately, that is, make an extra copy of the JS assets file 611 and store it separately from the application package 610, so as to send page information to the recipient when sharing the application later, thereby realizing fast sharing.

[0160] After the app store archives the app package 610 and the JS assets file 611, the electronic device can download the app package 610 from the app store.

[0161] In one implementation of this embodiment, when an electronic device downloads an application from an application market, the application market can separately distribute the application package 610 of that application to the electronic device. In this implementation, after the electronic device installs the application based on the application package 610, it can store the application package 610. Optionally, after installing the application based on the application package 610, the electronic device can also separately archive at least one JS assets file 611 (not shown in the figure) outside of the application package 610. It is understood that the electronic device can store the separately archived JS assets file 611 in a default directory, or the user can choose which installation directory to store the separately archived JS assets file 611 in; this embodiment does not limit this.

[0162] In another implementation of this embodiment, when the electronic device downloads an application from an application market, the application market can send the application package 610 and the separately archived JS assets file 611 to the electronic device. In this implementation, after the electronic device installs the application, in addition to storing the application package 610, it can also separately archive the JS assets file 611 received from the application market.

[0163] In this embodiment, optionally, the JS assets file 611 may also include permission verification information, which is used for permission verification of page information sent when the electronic device shares the application. The permission verification can be for page element information and page resources, or it can be for string information.

[0164] If the JS assets file 611 includes permission verification information, the electronic device sharing the page can send this permission verification information along with the page information. Upon receiving the page information, the electronic device receiving the page can first perform a security check based on this permission verification information to prevent sharing risks caused by malicious tampering of the page information, thereby improving sharing security.

[0165] Figure 7 This is a document structure diagram illustrating the process of developing, packaging, distributing, downloading, and installing an application according to another embodiment of this application.

[0166] like Figure 7 As shown, the developed application files include page element files 710, resource files 720, AA logic files 730, and library files 740.

[0167] Page element file 710 refers to a file containing page element information, which may include: "index.hml", used to describe the application's page elements and layout definitions; "index.css", used to describe the application's page element color and size definitions; and "index.js", used to describe the application's page element dynamic state information definitions. In some implementations, page element files may contain binary data.

[0168] Resource file 720 refers to a file containing page resources, which may include "*.png" files used to describe image resources that the application needs to display. It is understood that the inclusion of image resources in the resource file description is merely an example, and the resource file in this application may also include other types of resource files; this embodiment does not limit the scope of the application. For example, the resource file of music software may also include "*.mp4" resources, which are used to describe music resources that need to be displayed in the local cache.

[0169] "index.html", "index.css", and "index.js" can be considered as the layout information of the user interface corresponding to the page element files, while "*.png" can be considered as the resource files of the images that need to be displayed in the user interface.

[0170] The AA logic file 730 may include: "Mainability.java", which represents the main entry file for the AA capability class; "Networkability.java", which represents the network AA capability class file; and "Utils.java", which is the AA capability auxiliary class file, providing capabilities such as converting string information to numeric information. The AA logic file can be simply referred to as the AA file.

[0171] The library files 740 that the application depends on may include: "Utils-ndk.h", which represents the C++ library file that "Utils.java" depends on; and "Network-ndk.h", which represents the C++ library file that "Networkability.java" depends on.

[0172] After the above files are compiled and packaged, an application package 750 can be obtained. This application package 750 contains JSassets file 751, Dex file 752 and Libs file 753. The JS assets file 751 can be obtained by packaging page element file 710 and resource file 720. The Dex file 752 can be obtained by packaging AA logic file 730. The Libs file 753 can be obtained by packaging library file 740.

[0173] After packaging the application package 750, it can be distributed to app stores. When app stores archive the application package 750, they can archive not only the application package 750, but also a separate JS assets file 751.

[0174] When an electronic device downloads an application from an app store, it can download the application package 750 and a separately archived JS assets file 751, and store the JS assets file 751 and the application package 950 in different locations.

[0175] It should be noted that the embodiments of this application do not limit the type of operating system of the terminal device. When the terminal device uses different types of operating systems, the names of files or modules with the same or similar functions may be different.

[0176] For example, when the operating system of an electronic device is Android, the file describing the page elements and layout definitions of the application may include a file called "activity_main.xml"; the file describing the color and size definitions of the application's page elements may include files called "colors.xml", "dimens.xml", and "styles.xml"; the file describing the dynamic state information of the application's page elements and / or the file describing the information of logical classes may include a file called "MainActivity.java"; the file representing network capability classes may include a file called "Networkability.java"; the auxiliary class files that provide capabilities such as converting string information to numeric information may include files called "Utils.java" and "MessengerService.h"; and the library files that the application depends on may include files called "Utils-ndk.h" and / or "Network-ndk.h".

[0177] Understandable Figure 6 and Figure 7 The application development and installation process shown is just one example. For instance, after developers obtain the application package through the development system, they can directly send or copy the application package (along with separately archived JS assets files) to the electronic device without distributing it through an app store.

[0178] Based on the foregoing description, the following embodiments of this application will be based on having Figure 1 and Figure 2 Taking the electronic device with the structure shown as an example, combined with Figures 8 to 11 This application provides a detailed description of the system architecture provided.

[0179] Figure 8 A schematic diagram of the system structure according to an embodiment of this application is shown. Figure 8 As shown, the device acting as the sharing party is referred to as the first device 810, and the device acting as the receiving party is referred to as the second device 820. The first device 810 and / or the second device 820 are not limited to terminal devices, but can also be lightweight devices, such as smart screens, smartwatches, virtual reality (VR) devices, augmented reality (AR) devices, or televisions.

[0180] like Figure 8 As shown, the first device 810 runs the first application 811 based on the FA file 812 and AA file 813 of the first application 811. The first application 811 sends a sharing request to the relay application 814. The sharing request carries page element information of the page to be shared and the FA file of the page elements. Examples of relay applications include... This could be a direct connection application between any devices, which could include Bluetooth, Wi-Fi, or infrared. After receiving the sharing request from the first application, the relay application 814 sends an FA file. In one possible implementation, the FA file may only include page element information and page resources of the page to be shared in the first application 811.

[0181] After receiving the FA file, the relay application on the second device 820 runs the FA file through the runtime module 821, thereby enabling the sharing of the first application.

[0182] Figure 9 A schematic diagram of the system architecture according to another embodiment of this application is shown. Figure 9 As shown, the first application 911 sends a sharing request to the relay application 914. The relay application 914 sends a string of information describing a file named FA (Feature File) containing page element information and page resources of the page to be shared. After receiving the string of information, the relay application 922 on the second device downloads the FA file from the application market or application server 930 based on the string of information and runs the FA file through the runtime module 921, thereby realizing the sharing by the first application 911. The FA file may contain only page element information and page resources.

[0183] In the embodiments of this application, optionally, an FA file may have a corresponding AA file or may not have a corresponding AA file, and the embodiments of this application do not limit this.

[0184] FA files can be packaged and distributed independently. FA files typically have one or more of the following capabilities: no installation required, can run independently of an application, can migrate UI across devices, and can migrate binary data across devices.

[0185] AA files are typically used to support the execution of FA files. AA files are characterized by multi-device deployment and distributed execution, and they only have dependencies on system services; there are no dependencies between AA files themselves.

[0186] In this embodiment, optionally, when the runtime module 921 of the second device 920 runs the FA file, it can achieve more and more complex functions in the first application 911 by sharing the AA file 913 on the first device 910.

[0187] One way to share AA file 1013 on the first device 1010 with the second device 1020 is as follows: Figure 10As shown. The runtime module 1021 of the second device 1020 runs the FA file, determines based on the running result that a certain function provided by the page corresponding to the FA file requires the execution of an AA file (which can be AA file 1013 or a part thereof), and sends a request message to the first device 1010 to request the AA file used to implement the function. After receiving the request message from the second device 1020, the first device 1010 sends the corresponding AA file to the second device 1020. After receiving the AA file, the second device 1020 provides the corresponding function based on the AA file to realize the sharing of other functions in the page to be shared.

[0188] For example, when a page to be shared runs on the first device, it also runs some capability files (such as video or audio files) that are not essential for running the page information. These capability files are not necessary for running the page information and usually occupy a large amount of storage space, so they are not considered part of the page information. However, the page element information and page resources in the page information often only implement a part of the functionality of the page to be shared, while these capability files can provide another part of the functionality of the page to be shared, thereby improving the user experience. When the recipient wants the generated page to be shared to include the functionality implemented by the capability file, they can obtain the capability file from the sharing provider and run it simultaneously when running the page information, allowing the recipient to access more functionality in the page to be shared.

[0189] like Figure 11 As shown, the first device 1110 can also send permission verification information corresponding to the FA file or string information to the second device 1120. If the second device 1120 receives the FA file and the corresponding permission verification information, it performs permission verification on the FA file based on the permission verification information, and only runs the FA file if the permission verification is successful. If the second device 1120 receives the string information of the FA file and the corresponding permission verification information, it performs permission verification on the string information based on the permission verification information, and only downloads the FA file from the application market if the permission verification is successful. This can prevent the risk of sharing caused by malicious tampering of the FA file or the string information of the FA file.

[0190] Optionally, the permission verification information may include signature information and the package name of the first application, etc. The signature information may be obtained by the first device 1110 signing the FA file or string information based on the private key information corresponding to the first application 1111 obtained from the database. Correspondingly, the second device 1120 may verify the signature information based on the public key information corresponding to the first application 1121 obtained from the database. The database may be a distributed database.

[0191] Figure 12 An interactive diagram illustrating a sharing method of an application according to an embodiment of this application is shown. Figure 12 As shown, the sharing method in this embodiment may include all or part of steps S1201 to S1215. Steps S1201 to S1205 are executed by the sharing party, and steps S1206 to S1215 are executed by the receiving party. In this embodiment, the sharing party is referred to as the first device, and the receiving party is referred to as the second device.

[0192] S1201, the user clicks the share button on the first page of the first application on the first device. For example, the user clicks... Figure 3 The share icon in (a).

[0193] S1202, the user confirms file sharing on the first application of the first device.

[0194] S1203, the first application of the first device obtains the FA file and the permission verification information of the FA file from the system memory of the first device. The FA file contains the page element information and page resources of the first page.

[0195] S1204, the first application of the first device sends the FA file and the corresponding permission verification information to the communication module of the first device.

[0196] S1205, the communication module of the first device sends the FA file and corresponding permission verification information to the second device.

[0197] S1206, the communication module of the second device receives the FA file and the corresponding permission verification information.

[0198] S1207, the user confirms with the second device that the FA file has been opened.

[0199] For example, after the second device receives the FA file through the communication module, it displays as follows: Figure 3 The user interface shown in (e). The user clicks... Figure 3 The content shown in (e) confirms that the FA file has been opened.

[0200] S1208 After the user confirms that the FA file is to be opened, the communication module of the second device sends a request to the runtime module to open the FA file, and sends the FA file and the corresponding permission verification information to the runtime module.

[0201] S1209, the runtime module of the second device sends the permission verification information of the FA file to the packet management module of the second device, requesting the packet management module to verify the permission verification information.

[0202] As an example, the permission verification information may include the package name, class name, and signature information of the first application.

[0203] S1210, the package management module of the second device verifies the validity of the signature information. The package management module of the second device provides the ability to install, uninstall, and query resource packages.

[0204] S1211, if the package management module of the second device verifies that the signature information is valid, it sends the package name and other information of the first application to the "Application Market" application of the second device.

[0205] S1212, the second device's "App Market" application verifies whether the first application exists in the App Market.

[0206] S1213, if the first application exists in the application market, the application market program of the second device sends a verification success feedback message to the package management module.

[0207] S1214 After receiving the feedback information from the application market program, the package management module of the second device sends a successful verification feedback message to the runtime module.

[0208] S1215, after receiving feedback information from the packet management module, the runtime module of the second device runs the FA file to realize the sharing of the first page.

[0209] In step S1212, using the application market to verify the first application is just an example. In fact, the first application can also be verified by using the official website or other websites that store the first application. This application does not limit the specific method of verifying the first application.

[0210] Figure 13 An interactive diagram illustrating a sharing method of an application according to another embodiment of this application is shown. For example... Figure 13 As shown, the sharing method in this embodiment may include all or part of steps S1301 to S1315. Specifically, steps S1301 to S1307 are performed by the sharing party, and steps S1308 to S1315 are performed by the receiving party. In this embodiment, the sharing party is referred to as the first device, and the receiving party is referred to as the second device.

[0211] S1301, the user clicks the share button on the first page of the first application on the first device. For example, the user clicks... Figure 4 The share icon in (a).

[0212] S1302, the user confirms the sharing via string information on the first application of the first device.

[0213] S1303, the first application of the first device sends the package name, class name and FA file name of the first application to the runtime module of the first device. The FA file name contains the identifier of the first page.

[0214] S1304, the runtime module of the first device generates string information and permission verification information based on the FA file name.

[0215] S1305, the runtime module of the first device returns string information and permission verification information of the string information to the first application.

[0216] S1306, the first application of the first device sends a string of information and the corresponding permission verification information to the communication module of the first device.

[0217] S1307, the communication module of the first device sends string information and permission verification information to the second device. Correspondingly, the communication module of the second device receives the string information and permission verification information.

[0218] S1308, the communication module of the second device copies the received information to the text clipboard of the second device.

[0219] For example, after the second device receives the FA file through the communication module, it displays as follows: Figure 4 The user interface shown in (f) contains string information. The user long-presses... Figure 4 The string information in (f) is used to request a copy of that string information.

[0220] S1309, the text clipboard module of the second device determines whether the received information contains permission verification information. As an example, the permission verification information may include the package name, class name, and signature information of the first application.

[0221] S1310, if the second device's text clipboard determines that the received information contains permission verification information, it sends the string information and permission verification information to the packet management module.

[0222] S1311, the package management module of the second device verifies the validity of the signature information in the permission verification information. The package management module of the second device provides the ability to install, uninstall, and query resource packages.

[0223] S1312, if the package management module of the second device verifies that the signature information is valid, it sends the package name and FA file name of the first application to the application market program of the second device.

[0224] S1313, the second device's "App Market" application verifies whether the first application exists in the App Market.

[0225] S1314, if the first application exists in the application market, the second device's "application market" application downloads the FA file from the application market and sends the FA file to the second device's runtime module.

[0226] S1315, the runtime module of the second device runs the FA file to enable the sharing of the first application.

[0227] Figure 14 An interactive diagram illustrating a sharing method of an application according to another embodiment of this application is shown. For example... Figure 14 As shown, the sharing method in this embodiment may include all or part of steps S1401 to S1415. Steps S1401 to S1407 are performed by the sharing party, and steps S1408 to S1415 are performed by the receiving party. In this embodiment, the sharing party is referred to as the first device, and the receiving party is referred to as the second device.

[0228] S1401, the user clicks the share button on the first page of the first application on the first device.

[0229] S1402, the user confirms sharing via QR code on the first application of the first device.

[0230] S1403, the first application of the first device sends the package name, class name and FA file name of the first application to the runtime module of the first device. The FA file name includes the identifier of the first page.

[0231] S1404, the runtime module of the first device generates string information and permission verification information based on the package name, class name and FA file name of the first application, and generates a QR code based on the string information and permission verification information.

[0232] S1405, the runtime module of the first device returns a QR code to the first application.

[0233] S1406, the first application of the first device sends a QR code to the display module of the first device.

[0234] S1407, the display module of the first device displays a QR code.

[0235] S1408, the scanning module of the second device scans the QR code and obtains the QR code information.

[0236] S1409, the scanning module of the second device determines whether the QR code information contains permission verification information. As an example, the permission verification information may include the package name, class name, and signature information of the first application.

[0237] S1410, if the scanning module of the second device verifies that the QR code information contains permission verification information, it sends the QR code information to the package management module.

[0238] S1411, the package management module of the second device verifies the validity of the signature information in the permission verification information. The package management module of the second device provides the ability to install, uninstall, and query resource packages.

[0239] S1412, if the package management module of the second device verifies that the signature information is valid, it sends the package name and FA file name of the first application to the "Application Market" application of the second device.

[0240] S1413, the second device's "App Market" application verifies whether the first application exists in the App Market.

[0241] S1414, if the first application exists in the application market, the second device's "application market" application downloads the FA file from the application market and sends the FA file to the second device's runtime module.

[0242] S1415, the runtime module of the second device runs the FA file to enable the sharing of the first application.

[0243] It is understood that, in order to achieve the above-mentioned functions, both the first and second devices include hardware and / or software modules that perform the respective functions. Based on the algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software.

[0244] Whether a function is implemented through hardware or computer software-driven 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 function for each specific application, in conjunction with the embodiments; however, such implementations should not be considered beyond the scope of this application.

[0245] 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 module, or two or more functions can be integrated into one module. The integrated module can be implemented in hardware or software. 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.

[0246] It should be noted that all relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module, and will not be repeated here.

[0247] The electronic device provided in this embodiment is used to execute the method executed by the first device or the sharing party in the above method embodiment, or to execute the method executed by the second device or the sharing party in the above method embodiment, so it can achieve the same effect as the above implementation method.

[0248] When using integrated units, the electronic device may include a processing module, a storage module, and a communication module. The processing module can be used to control and manage the actions of the electronic device. The storage module can support the electronic device in executing stored program code and data. The communication module can support communication between the electronic device and other devices, such as acquiring page information of a page to be shared and sending that page information to or receiving page information from other devices; the communication module can also support the electronic device in downloading data via a network, such as downloading applications from a server. The storage module can be a memory, which can store program code. The processing module can be a processor or a controller, which can call the program code to implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of digital signal processing (DSP) and a microprocessor, etc. Specifically, the communication module can be a radio frequency circuit, a Bluetooth chip, a Wi-Fi chip, or other devices that interact with other electronic devices.

[0249] In one embodiment, when the processing module is a processor and the storage module is a memory, the electronic device involved in this embodiment can be a device having... Figure 1 The device with the structure shown.

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

[0251] This embodiment also provides a computer program product that, when run on a computer, causes the computer to perform the aforementioned steps to implement the methods described in the above embodiments.

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

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

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

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

[0256] 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.

[0257] 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.

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

[0259] 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 that can be easily conceived by those skilled in the art within the scope of the technology 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. An application sharing method, characterized by, The method is applied to a first device, and the method includes: Run the application; Receive a page sharing instruction, the page sharing instruction being used to instruct the first device to share a page in the application; The page file of the page is shared with the second device. The page file is an FA file. The FA runtime module of the second device converts the FA file into a user interface. or, The identifier corresponding to the page is shared with the second device, wherein the identifier is used to instruct the second device to download the page file of the page via the network, the page file is an FA file, and the FA runtime module of the second device converts the FA file into a user interface; The FA file is installation-free and runs independently of the application. The page element information and page resources in the FA file are used to provide the first part of the page's functionality. The first device also provides a capability file to the second device, which is used to provide the second part of the page's functionality.

2. The method according to claim 1, characterized in that, Prior to running the application, the method further includes: Download the application via the network; Back up the page file outside of the application.

3. The method according to any one of claims 1-2, characterized in that, The page file includes page element information and page resources.

4. The method according to claim 1, characterized in that, The identifier includes a first sub-identifier and a second sub-identifier, wherein the first sub-identifier indicates the application and the second sub-identifier indicates the page.

5. A sharing method for an application, characterized in that, The method is applied to a second device, and the method includes: Obtain the page file or the identifier corresponding to the page shared by the first device, wherein the identifier is used to instruct the second device to download the page file of the page via the network, and the page file is an FA file; If the received file is the page file, then the FA runtime module converts the FA file into a user interface; If the received identifier is the aforementioned identifier, then the page file of the page is downloaded via the network according to the identifier, and the FA file is converted into a user interface through the FA runtime module; The FA file is installation-free and runs independently of the application. The page element information and page resources in the FA file are used to provide the first part of the page's functionality. The second device obtains the capability file from the first device, and the capability file is used to provide the second part of the page's functionality.

6. The method according to claim 5, characterized in that, The page file includes page element information and page resources.

7. The method according to claim 6, characterized in that, The identifier includes a first sub-identifier and a second sub-identifier, wherein the first sub-identifier indicates the application and the second sub-identifier indicates the page.

8. A first device for sharing an application, characterized in that, The first device includes: Memory, used to store program instructions; A processor is configured to invoke the program instructions to execute: running an application and receiving a page sharing instruction, the page sharing instruction being used to instruct the first device to share a page from the application; A communication module is used to share the page file of the page with a second device. The page file is an FA file. The FA runtime module of the second device converts the FA file into a user interface. or, A communication module is used to share the identifier corresponding to the page with a second device, wherein the identifier is used to instruct the second device to download the page file of the page via the network, the page file is an FA file, and the FA runtime module of the second device converts the FA file into a user interface; The FA file is installation-free and runs independently of the application. The page element information and page resources in the FA file are used to provide the first part of the page's functionality. The first device also provides a capability file to the second device, which is used to provide the second part of the page's functionality.

9. The first device according to claim 8, characterized in that, The communication module is also used to download the application via a network before the runtime module runs the application; The processor is also configured to invoke the program instructions to perform: backing up the page file outside the application.

10. The first device according to any one of claims 8-9, characterized in that, The page file includes page element information and page resources.

11. The first device according to claim 8, characterized in that, The identifier includes a first sub-identifier and a second sub-identifier, wherein the first sub-identifier indicates the application and the second sub-identifier indicates the page.

12. A second device for sharing applications, characterized in that, The second device includes: A communication module is used to obtain the page file or the identifier corresponding to the page shared by the first device, wherein the identifier is used to instruct the second device to download the page file of the page via the network, and the page file is an FA file; Memory, used to store program instructions; The processor is used to invoke the program instructions to execute: If the received file is the page file, then the FA runtime module converts the FA file into a user interface; If the received identifier is the aforementioned identifier, then the page file of the page is downloaded via the network according to the identifier, and the FA file is converted into a user interface through the FA runtime module; The FA file is installation-free and runs independently of the application. The page element information and page resources in the FA file are used to provide the first part of the page's functionality. The second device obtains the capability file from the first device, and the capability file is used to provide the second part of the page's functionality.

13. The second device according to claim 12, characterized in that, The page file includes page element information and page resources.

14. The second device according to claim 13, characterized in that, The identifier includes a first sub-identifier and a second sub-identifier, wherein the first sub-identifier indicates the application and the second sub-identifier indicates the page.

15. A computer program product, said computer program product comprising computer program code, characterized in that, When the computer program code is run on a computer, it causes the computer to perform the method of any one of claims 1-4 or the method of any one of claims 5-7.