Application module starting method and electronic device

By communicating with the server through system modules, and downloading uninstalled application modules as needed, the problem of wasted application functionality in electronic devices is solved, resulting in storage space savings and improved user experience.

CN114168160BActive Publication Date: 2026-04-21HONOR DEVICE CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HONOR DEVICE CO LTD
Filing Date
2020-11-30
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Applications installed on electronic devices often contain wasted functionality, leading to wasted storage space and a degraded user experience.

Method used

By communicating with the server through system modules, uninstalled application modules can be downloaded and launched on demand, reducing the storage space occupied by electronic devices and enriching application functions.

Benefits of technology

Saves storage space, enriches application functionality, improves user experience, and reduces developer configuration costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114168160B_ABST
    Figure CN114168160B_ABST
Patent Text Reader

Abstract

The application provides an application module starting method and an electronic device. When a first device needs to start an uninstalled application module in one application program in the first device or other devices in communication connection with the first device, a system module in the first device can query whether the application module is installed in the first device. When it is determined that the application module is not installed in the first device and / or other devices, the system module in the first device can communicate with a first server, so that the system module in the first device can download, install and start the first application module in the first device and / or other devices based on a message sent from the first server. Thus, the on-demand downloading of the application module is realized, the device can select part of the application modules in the application program for the first installation, the first installation of all the application modules in the application program is not needed, the space for installing the application program of the device is saved, and more kinds of application programs can be installed in the device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to Chinese Patent Application No. 202010948973.3, filed on September 10, 2020, entitled "Application Installation Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of electronic technology, and more particularly to an application module startup method and an electronic device. Background Technology

[0003] An application typically contains multiple functionalities. After an application is installed on an electronic device, the user may only use some of its functionalities, while the majority of the remaining functionalities will not be used. This can easily lead to a waste of storage space on the electronic device, and the application installation time will also increase, thus reducing the user experience. Summary of the Invention

[0004] This application provides an application module startup method and an electronic device. It can start an uninstalled application module in an application through a system service in the electronic device, so that the electronic device does not need to install all application modules in the application, saving storage space of the electronic device, enriching the functionality of the application, and enabling the electronic device to install more applications, providing users with a wide variety of applications and improving the user experience.

[0005] In a first aspect, this application provides an application module startup method, which is applied to a first device, the first device including a system module.

[0006] The method includes: a system module receiving a first message, the first message being associated with a first application module, the first application module being a software module in a first application program. In response to receiving the first message, the system module determines whether the first device has the first application module installed. In response to determining that the first device does not have the first application module installed, the system module sends a second message to a first server, the second message being used to download the first application module. The system module receives a third message from the first server, the third message being a message associated with the first application module obtained by the first server in response to receiving the second message. In response to receiving the third message, the system module downloads, installs, and starts the first application module on the first device.

[0007] For details on the specific implementation of the system modules, please refer to the description of the system services mentioned in this application. For details on the specific implementation of the application modules, please refer to the description of the meta-capabilities mentioned in this application. For details on the first server, please refer to the description of the HAG server mentioned in this application. These details will not be repeated here.

[0008] Using the first method, when a first device needs to launch an uninstalled application module within an application, the system module in the first device can query whether the application module is installed on the first device. If it is determined that the application module is not installed, the system module can communicate with a first server, enabling it to download, install, and launch the application module based on a message sent from the first server. This achieves on-demand downloading of the application module, allowing the first device to select only some application modules during the initial installation of the application, rather than installing all of them. This saves storage space on the first device, enriches the application's functionality, provides users with more features, and allows the first device to install a wider variety of applications, thus enriching the user experience.

[0009] In one possible design, the method specifically includes: a system module receiving a third message from a first server, the third message carrying a download address for a first application module. In response to receiving the third message, the system module downloads the first application module from a second server. The system module installs the first application module on a first device and starts the first application module.

[0010] The specific implementation details of the download address for the first application module can be found in the description of the CDN download address for the meta-capabilities mentioned in this application, and the specific implementation details of the second server can be found in the description of the CDN server mentioned in this application, which will not be elaborated here.

[0011] Therefore, the system module in the first device can obtain the download address of the first application module from the first server. Based on the download address of the first application module, the system module in the first device downloads the first application module from the second server. The system module in the first device can then install the first application module on the first device, and can start the first application module after installation. Thus, by having the first server store the download address of the application module and the second server store the application module itself, the system module in the first device can interact with the first server and the second server separately, which is beneficial for the system module in the first device to successfully start the uninstalled application module.

[0012] In addition to the above-mentioned implementation of downloading the first application module, the first server may also store the first application module in advance, so that the system module in the first device can directly download the first application module from the first server.

[0013] Furthermore, when the system module in the first device starts an uninstalled application module, the developer only needs to configure the interface corresponding to the system module receiving the first message to complete the startup of the uninstalled application module. This reduces the number of interfaces that the developer needs to configure between the application and the system service, lowers the developer's programming cost, and also eliminates the need for the developer to integrate Google Play Core into the application, reducing the developer's configuration cost and facilitating the development of more diverse capabilities to enrich the user experience.

[0014] In one possible design, the first device further includes a second application module, which is a software module within a second application program. Specifically, the method includes: in response to receiving a first operation from the user, the second application module sending a first message to the system module.

[0015] In one possible design, the first application and the second application are identical. Thus, in the first device, an installed application module within one application can trigger the system module to launch an uninstalled application module within that application. This allows the system module in the first device to download, install, and launch the uninstalled application module via the first server. Therefore, by leveraging the cooperation between different application modules within the same application, the functionality of the uninstalled application module can be achieved, enabling on-demand downloading of the application module. Furthermore, it allows users to experience multiple functions while using a single application, improving the user experience.

[0016] In one possible design, the first application and the second application are different. Thus, in the first device, an installed application module in one application can trigger a system module to launch an uninstalled application module in another application. This allows the system module in the first device to download, install, and launch the uninstalled application module from the other application via a first server. Therefore, through the cooperation between application modules in different applications, the functionality of the uninstalled application module can be achieved, enabling on-demand downloading of the application module. It also allows users to experience the functionality of another application while using one application, improving the user experience.

[0017] In one possible design, the first device and the second device are communicatively connected. Specifically, the method includes: a system module receiving a first message from the second device, the first message being sent by the second device in response to a second operation by the user, and the first message also carrying the device identifier of the first device.

[0018] Thus, the second device can trigger the system module in the first device to launch an uninstalled application module in an application, so that the user is unaware of the download process of the application module, and the application module does not need to be downloaded when the application to which the application module belongs is first installed, realizing the on-demand download of the application module.

[0019] In one possible design, the method specifically includes: the Distributed Scheduling Service (DMS) in the system module receiving a first message from the Distributed Scheduling Service (DMS) in the second device.

[0020] In one possible design, when the system modules include a Distributed Scheduling Service (DMS) and a Packet Management Service (BMS), the method specifically includes: the DMS receiving a first message, which carries an identifier of a first application and a module identifier of a first application module. In response to receiving the first message, the DMS sends a fourth message to the BMS, which carries the identifier of the first application and the module identifier of the first application module. In response to receiving the fourth message, the BMS determines whether the first device has the first application module installed. In response to determining that the first device does not have the first application module installed, the BMS sends a second message to a first server, which carries the device identifier of the first device, the identifier of the first application, and the module identifier of the first application module. The BMS receives a third message from the first server, which carries the download address of the first application module, the identifier of the first application, and the module identifier of the first application module. In response to receiving the third message, the BMS downloads the first application module from a second server based on the download address and installs the first application module on the first device. The Packet Management Service (BMS) sends a fifth message to the Distributed Scheduling Service (DMS), which notifies the DMS that the first application module has been installed on the first device. In response to receiving the fifth message, the DMS starts the first application module.

[0021] The specific implementation details of the application identifier can be found in the description of the package name of the application mentioned in this application, and the specific implementation details of the module identifier of the first application module can be found in the description of the meta-capability name of the meta-capability mentioned in this application, which will not be repeated here.

[0022] Therefore, the system module in the first device can explicitly launch the application module through the application's identifier and the module identifier of the application module, so that the uninstalled application module is automatically installed, and the user is unaware of the application module download process. The application module does not need to be downloaded when the application is first installed and can be downloaded on demand.

[0023] In one possible design, when the system modules include a Distributed Scheduling Service (DMS) and a Packet Management Service (BMS), the method specifically includes: the DMS receiving a first message, which carries an identifier of a first application and an identifier of the type to which the first application module belongs. In response to receiving the first message, the DMS sends a fourth message to the BMS, which carries the identifier of the first application and the identifier of the type to which the first application module belongs. In response to receiving the fourth message, the BMS determines whether the first device has the first application module installed. In response to determining that the first device does not have the first application module installed, the BMS sends a second message to the DMS, which carries the device identifier of the first device, the identifier of the first application, and the identifier of the type to which the first application module belongs. The BMS receives a third message from a first server, which carries the download address of the first application module, the identifier of the first application, and the identifier of the type to which the first application module belongs. In response to receiving the third message, the BMS downloads the first application module from a second server based on the download address and installs the first application module on the first device. The Packet Management Service (BMS) sends a fifth message to the Distributed Scheduling Service (DMS), which notifies the DMS that the first application module has been installed on the first device. In response to receiving the fifth message, the DMS starts the first application module.

[0024] The specific implementation details of the application identifier can be found in the description of the application package name mentioned in this application, and the specific implementation details of the identifier of the type to which the first application module belongs can be found in the description of the predefined ACTION of the meta-capability mentioned in this application, which will not be elaborated here.

[0025] Therefore, the system module in the first device can semi-implicitly start the application module through the application's identifier and the identifier of the application module's type. This fully considers that third-party application vendors usually do not provide the application module's identifier to other vendors, meaning that it does not need to rely on the application module's identifier. It also enables the automatic installation of uninstalled application modules, and the user is unaware of the application module's download process. The application module does not need to be downloaded when the application is first installed and can be downloaded on demand.

[0026] In one possible design, when the system modules include a Distributed Scheduling Service (DMS) and a Packet Management Service (BMS), the method specifically includes: the Distributed Scheduling Service (DMS) receiving a first message, which carries an identifier of the type to which the first application module belongs. In response to receiving the first message, the Distributed Scheduling Service (DMS) sends a fourth message to the Packet Management Service (BMS), which carries an identifier of the type to which the first application module belongs. In response to receiving the fourth message, the Packet Management Service (BMS) determines whether the first device has the first application module installed. In response to determining that the first device does not have the first application module installed, the Packet Management Service (BMS) sends a second message to the first server, which carries a device identifier of the first device and an identifier of the type to which the first application module belongs. The Packet Management Service (BMS) receives a third message from the first server, which carries a first set. Each subset of the first set carries an identifier of an application, a module identifier of a software module contained within the application, and a download address of the software module, and the software module corresponding to each subset belongs to the same type as the first application module. In response to receiving the third message, the Packet Management Service (BMS) downloads a selected software module from the second server based on the download address of a software module selected from the first set, and installs the selected software module on the first device. The BMS then sends a fifth message to the Distributed Scheduling Service (DMS), notifying the DMS that the first application module has been installed on the first device. In response to receiving the fifth message, the DMS starts the selected software module.

[0027] The specific implementation details of the identifier of the type to which the first application module belongs can be found in the description of the predefined ACTION mentioned in this application, and will not be repeated here.

[0028] Therefore, the system module in the first device can implicitly start the application module through the identifier of the type to which the application module belongs. This fully considers that third-party application vendors usually do not provide the identifier of the application module to other vendors, that is, there is no need to rely on the identifier of the application module. It also enables the automatic installation of the application module that is not installed, and the user is unaware of the download process of the application module. The application module does not need to be downloaded when the application is first installed and can be downloaded on demand.

[0029] In one possible design, the method further includes: in response to receiving the third message, the Packet Management Service (BMS) sends a sixth message to the Distributed Scheduling Service (DMS), the sixth message carrying the first set.

[0030] In response to receiving the sixth message, the Distributed Scheduling Service (DMS) determines a selected software module from the first set based on preset rules. Alternatively, in response to receiving the sixth message, the DMS displays a first window, which includes controls corresponding to the software modules in the first set; in response to receiving a third operation from the user on the controls corresponding to the selected software module in the first window, the DMS determines the selected software module.

[0031] The Distributed Scheduling Service (DMS) sends a seventh message to the Packet Management Service (BMS). This seventh message carries the identifier of the application to which the selected software module belongs and the module identifier of the selected software module. In response to receiving the seventh message, the BMS determines the download address of the selected software module from the first set based on the application identifier and the module identifier of the selected software module.

[0032] Therefore, since the identifier of the application module type can correspond to multiple software modules, the Distributed Scheduling Service (DMS) in the system module can determine the software module that the first device needs to start from among multiple software modules according to preset rules or user selection.

[0033] In one possible design, the method further includes: in response to determining that the first device has the first application module installed, the system module starts the first application module. This fully considers various scenarios regarding whether the first device has the application module installed, ensuring the completeness of the solution.

[0034] In one possible design, the first device and the third device are communicatively connected. The method further includes: the system module sending an eighth message to the third device, the eighth message requesting the third device to launch a third application module, which is a software module within a third application program and is not installed on the third device; the eighth message carries the device identifier of the third device, the identifier of the third application program, and the module identifier of the third application module; or the eighth message carries the device identifier of the third device, the identifier of the third application program, and an identifier of the type to which the third application module belongs; or the eighth message carries the device identifier of the third device and an identifier of the type to which the third application module belongs.

[0035] Therefore, the first device can trigger the system module in the third device to start the application module that is not installed in the third device, so that the first device can not only start the application module that is not installed in itself, but also control other devices to start the application module that is not installed in the third device, thus increasing the functionality of the first device.

[0036] In one possible design, the method specifically includes: the Distributed Scheduling Service (DMS) in the system module sending an eighth message to the Distributed Scheduling Service (DMS) in the third device.

[0037] Secondly, this application provides an application module startup method, which is applied to a first device. The first device includes a fourth application module and a system module. The fourth application module is a software module in a fourth application program. The first device is communicatively connected to the fourth device.

[0038] The method includes: in response to receiving a fourth operation from a user, a fourth application module sends a ninth message to a system module, the ninth message being associated with a fifth application module, which is a software module within a fifth application, and the fourth application is different from the fifth application. In response to receiving the ninth message, the system module determines whether the fifth application module is installed on the first device and the fourth device. In response to determining that the fifth application module is not installed on either the first device or the fourth device, the system module sends a tenth message to a first server, the tenth message being used to download the fifth application module. The system module receives an eleventh message from the first server, the eleventh message being a message associated with the fifth application module obtained by the first server in response to receiving the tenth message. In response to receiving the eleventh message, the system module downloads, installs, and launches the fifth application module on the first device and / or the fourth device.

[0039] The specific implementation details of the system modules can be found in the description of the system services mentioned in this application, the specific implementation details of the application modules can be found in the description of the meta-capabilities mentioned in this application, and the first server can be found in the description of the HAG server mentioned in this application; these details will not be repeated here. Furthermore, the communication connection between the first device and the fourth device can be understood as the first device and the fourth device being in the same distributed network.

[0040] Through the second method, the installed application modules in the first device can trigger the system module in the first device to launch the fifth application module that is not installed in the selected devices within the same distributed network. The system module in the first device can query whether the fifth application module is installed in all devices within the same distributed network. If it is determined that the fifth application module is not installed in any of the devices within the same distributed network, the system module in the first device can communicate with the first server, enabling it to download, install, and launch the fifth application module in the selected devices within the same distributed network based on messages sent from the first server. Thus, by leveraging the interaction between devices within the same distributed network, on-demand download of the application module is achieved. This allows devices within the same distributed network to select only some application modules when installing the application for the first time, without needing to install all of them. This saves storage space on devices within the same distributed network, enriches the application's functionality, provides users with more features, and allows devices within the same distributed network to install a wider variety of applications, thus enriching the user experience with more diverse applications.

[0041] In one possible design, the method specifically includes: a system module receiving an eleventh message from a first server, the eleventh message carrying the download address of a fifth application module and the device type applicable to the download address of the fifth application module. In response to receiving the eleventh message, the system module determines whether the device type applicable to the download address of the fifth application module includes the first device and the fourth device.

[0042] When the device type for which the download address for the fifth application module is determined includes the first device, the system module downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and starts the fifth application module on the first device.

[0043] Alternatively, in response to determining that the device type for which the download address applicable to the fifth application module is the fourth device, the system module sends a twelfth message to the fourth device. The twelfth message requests the fourth device to start the fifth application module and carries the download address of the fifth application module.

[0044] Alternatively, in response to determining that the device type applicable to the download address of the fifth application module includes both the first device and the fourth device, the system module displays a second window, which includes controls corresponding to the first device and controls corresponding to the fourth device; in response to receiving a fifth operation from the user on the control corresponding to the first device in the second window, the system module downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and starts the fifth application module on the first device; and / or, in response to receiving a fifth operation from the user on the control corresponding to the fourth device in the second window, the system module sends a twelfth message to the fourth device, the twelfth message being used to request the fourth device to start the fifth application module, the twelfth message carrying the download address of the fifth application module.

[0045] The specific implementation details of the download address for the fifth application module can be found in the description of the CDN download address for the meta-capabilities mentioned in this application. The specific implementation details of the second server can be found in the description of the CDN server mentioned in this application. The device types applicable to the download address for the fifth application module can be found in the description of the device types applicable to the download address for the meta-capabilities mentioned in this application. They will not be elaborated here.

[0046] Therefore, the system module in the first device can obtain the download address of the fifth application module from the first server. Based on the download address of the fifth application module, the system module in the first device downloads the fifth application module from the second server. Furthermore, based on the device type applicable to the download address of the fifth application module, the system module in the first device determines the device from the first device and the fourth device that needs to launch the fifth application module. Thus, the system module in the first device can realize the process of launching the fifth application module from the first device and / or the fourth device. It is evident that having the first server store the download address of the application module and the second server store the application module itself allows the system module in the first device to interact separately with the first and second servers, which facilitates the smooth launch of the uninstalled application module by the system module in the first device.

[0047] In addition to the above-mentioned implementation of downloading the fifth application module, the first server may also store the fifth application module in advance, so that the system module in the first device can directly download the fifth application module from the first server.

[0048] In one possible design, when the system modules include a Distributed Scheduling Service (DMS) and a Packet Management Service (BMS), the method specifically includes: In response to receiving a fourth operation, the fourth application module sends a ninth message to the Distributed Scheduling Service (DMS), the ninth message carrying the identifier of the fifth application and the module identifier of the fifth application module. In response to receiving the ninth message, the Distributed Scheduling Service (DMS) sends a thirteenth message to the Packet Management Service (BMS), the thirteenth message carrying the identifier of the fifth application and the module identifier of the fifth application module. In response to receiving the thirteenth message, the Packet Management Service (BMS) determines whether the first device and the fourth device have the fifth application module installed. In response to determining that neither the first device nor the fourth device has the fifth application module installed, the Packet Management Service (BMS) sends a tenth message to the first server, the tenth message carrying the identifier of the fifth application and the module identifier of the fifth application module. The Packet Management Service (BMS) receives an eleventh message from the first server, the eleventh message carrying the download address of the fifth application module, the device type applicable to the download address of the fifth application module, the identifier of the fifth application, and the module identifier of the fifth application module. In response to receiving the eleventh message, the Packet Management Service (BMS) sends the fourteenth message to the Distributed Scheduling Service (DMS). The fourteenth message carries the download address of the fifth application module, the device type applicable to the download address of the fifth application module, the identifier of the fifth application, and the module identifier of the fifth application module. In response to receiving the fourteenth message, the Distributed Scheduling Service (DMS) determines whether the device type applicable to the fifth application module includes the first device and the fourth device.

[0049] When the device type for determining the download address applicable to the fifth application module includes the first device, the Distributed Scheduling Service (DMS) sends a fifteenth message to the Packet Management Service (BMS) requesting the download of the fifth application module. Upon receiving the fifteenth message, the Packet Management Service (BMS) downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and sends a sixteenth message to the Distributed Scheduling Service (DMS). Upon receiving the sixteenth message, the Distributed Scheduling Service (DMS) starts the fifth application module on the first device.

[0050] Alternatively, in response to determining that the device type for which the download address applicable to the fifth application module is the fourth device, the Distributed Scheduling Service (DMS) sends a twelfth message to the Distributed Scheduling Service (DMS) in the fourth device. The twelfth message is used to request the fourth device to start the fifth application module. The twelfth message carries the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application, and the module identifier of the fifth application module.

[0051] Alternatively, in response to the determination that the device type of the download address applicable to the download address of the fifth application module includes both the first device and the fourth device, the Distributed Scheduling Service (DMS) displays a second window, which includes controls corresponding to the first device and controls corresponding to the fourth device; in response to receiving a fifth operation from the user on the control corresponding to the first device in the second window, the Distributed Scheduling Service (DMS) sends a fifteenth message to the Packet Management Service (BMS), which requests the download of the fifth application module; in response to receiving the fifteenth message, the Packet Management Service (BMS) downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and sends a sixteenth message to the Distributed Scheduling Service (DMS); in response to receiving the sixteenth message, the Distributed Scheduling Service (DMS) starts the fifth application module on the first device; and / or, in response to receiving a fifth operation from the user on the control corresponding to the fourth device in the second window, the Distributed Scheduling Service (DMS) sends a twelfth message to the Distributed Scheduling Service (DMS) in the fourth device, which requests the fourth device to start the fifth application module, and the twelfth message carries the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application, and the module identifier of the fifth application module.

[0052] The specific implementation details of the application identifier can be found in the description of the application package name mentioned in this application, and the specific implementation details of the module identifier of the fifth application module can be found in the description of the meta-capability name mentioned in this application, which will not be repeated here.

[0053] Therefore, the system module in the first device can use the application identifier and the module identifier of the application module to enable the first device and / or the fourth device in the same distributed network to explicitly start the application module, so that the uninstalled application module is automatically installed, and the user is unaware of the application module download process. The application module does not need to be downloaded when the application is first installed and can be downloaded on demand.

[0054] In one possible design, when the system modules include a Distributed Scheduling Service (DMS) and a Packet Management Service (BMS), the method specifically includes: In response to receiving a fourth operation, the fourth application module sends a ninth message to the DMS, the ninth message carrying an identifier of the fifth application and an identifier of the type to which the fifth application module belongs. In response to receiving the ninth message, the DMS sends a thirteenth message to the BMS, the thirteenth message carrying an identifier of the fifth application and an identifier of the type to which the fifth application module belongs. In response to receiving the thirteenth message, the BMS determines whether the first device and the fourth device have the fifth application module installed. In response to determining that neither the first device nor the fourth device has the fifth application module installed, the BMS sends a tenth message to the first server, the tenth message carrying an identifier of the fifth application and an identifier of the type to which the fifth application module belongs. The BMS receives an eleventh message from the first server, the eleventh message carrying the download address of the fifth application module, the device type applicable to the download address of the fifth application module, the identifier of the fifth application, and an identifier of the type to which the fifth application module belongs. In response to receiving the eleventh message, the Packet Management Service (BMS) sends the fourteenth message to the Distributed Scheduling Service (DMS). The fourteenth message carries the download address of the fifth application module, the device type applicable to the download address of the fifth application module, the identifier of the fifth application, and the identifier of the type to which the fifth application module belongs. In response to receiving the fourteenth message, the Distributed Scheduling Service (DMS) determines whether the device type applicable to the download address of the fifth application module includes the first device and the fourth device.

[0055] When the device type for determining the download address applicable to the fifth application module includes the first device, the Distributed Scheduling Service (DMS) sends a fifteenth message to the Packet Management Service (BMS) requesting the download of the fifth application module. Upon receiving the fifteenth message, the Packet Management Service (BMS) downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and sends a sixteenth message to the Distributed Scheduling Service (DMS). Upon receiving the sixteenth message, the Distributed Scheduling Service (DMS) starts the fifth application module on the first device.

[0056] Alternatively, in response to determining that the device type for which the download address applicable to the fifth application module is the fourth device, the Distributed Scheduling Service (DMS) sends a twelfth message to the Distributed Scheduling Service (DMS) in the fourth device. The twelfth message is used to request the fourth device to start the fifth application module. The twelfth message carries the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application, and the identifier of the type to which the fifth application module belongs.

[0057] Alternatively, in response to determining that the device type applicable to the download address of the fifth application module includes both the first device and the fourth device, the Distributed Scheduling Service (DMS) displays a second window, which includes controls corresponding to the first device and the fourth device; in response to receiving a fifth operation from the user on the control corresponding to the first device in the second window, the Distributed Scheduling Service (DMS) sends a fifteenth message to the Packet Management Service (BMS), which requests the download of the fifth application module; in response to receiving the fifteenth message, the Packet Management Service (BMS) downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and sends a sixteenth message to the Distributed Scheduling Service (DMS); in response to receiving the sixteenth message, the Distributed Scheduling Service (DMS) starts the fifth application module on the first device; and / or, in response to receiving a fifth operation from the user on the control corresponding to the fourth device in the second window, the Distributed Scheduling Service (DMS) sends a twelfth message to the Distributed Scheduling Service (DMS) on the fourth device, which requests the fourth device to start the fifth application module, and the twelfth message carries the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application, and the identifier of the type to which the fifth application module belongs.

[0058] The specific implementation details of the application identifier can be found in the description of the application package name mentioned in this application, and the specific implementation details of the identifier of the type to which the fifth application module belongs can be found in the description of the predefined ACTION of the meta-capability mentioned in this application, which will not be elaborated here.

[0059] Therefore, the system module in the first device can use the application identifier and the identifier of the type to which the application module belongs to achieve semi-implicit startup of the application module by the first device and / or the fourth device in the same distributed network. This fully considers that third-party application vendors usually do not provide the application module identifier to other vendors, that is, there is no need to rely on the application module identifier. It also enables the automatic installation of the application module that is not installed, and the user is unaware of the application module download process. The application module does not need to be downloaded when the application is first installed and can be downloaded on demand.

[0060] In one possible design, when the system modules include a Distributed Scheduling Service (DMS) and a Packet Management Service (BMS), the method specifically includes: In response to receiving a fourth operation, the fourth application module sends a ninth message to the DMS, the ninth message carrying an identifier of the type to which the fifth application module belongs. In response to receiving the ninth message, the DMS sends a thirteenth message to the BMS, the thirteenth message carrying an identifier of the type to which the fifth application module belongs. In response to receiving the thirteenth message, the BMS determines whether the first device and the fourth device have the fifth application module installed. In response to determining that neither the first device nor the fourth device has the fifth application module installed, the BMS sends a tenth message to the first server, the tenth message carrying an identifier of the type to which the fifth application module belongs. The BMS receives an eleventh message from the first server, the eleventh message carrying a second set, each subset of the second set carrying an identifier of an application, a module identifier of a software module contained in the application, and a device type for the download address of the software module, wherein the software module corresponding to each subset belongs to the same type as the fifth application module. In response to receiving the eleventh message, the Packet Management Service (BMS) sends the fourteenth message to the Distributed Scheduling Service (DMS), which carries the second set. In response to receiving the fourteenth message, the Distributed Scheduling Service (DMS) determines whether the device types in the second set applicable to the download address of the fifth application module include the first device and the fourth device.

[0061] When the device type for which the download address for the fifth application module is suitable in the second set is determined to include the first device, the Distributed Scheduling Service (DMS) sends a fifteenth message to the Packet Management Service (BMS) requesting the download of the fifth application module. Upon receiving the fifteenth message, the Packet Management Service (BMS) downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module in the first device, and sends a sixteenth message to the Distributed Scheduling Service (DMS). Upon receiving the sixteenth message, the Distributed Scheduling Service (DMS) starts the fifth application module in the first device.

[0062] Alternatively, in response to determining that the device type for which the download address of the fifth application module is applicable in the second set includes the fourth device, the Distributed Scheduling Service (DMS) sends a twelfth message to the Distributed Scheduling Service (DMS) in the fourth device. The twelfth message is used to request the fourth device to start the fifth application module. The twelfth message carries the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application, and the identifier of the type to which the fifth application module belongs.

[0063] Alternatively, in response to determining that the device types for which the download address of the fifth application module is applicable in the second set include the first device and the fourth device, the Distributed Scheduling Service (DMS) displays a second window, which includes controls corresponding to the first device and controls corresponding to the fourth device; in response to receiving a fifth operation from the user on the control corresponding to the first device in the second window, the Distributed Scheduling Service (DMS) sends a fifteenth message to the Packet Management Service (BMS), which requests the download of the fifth application module; in response to receiving the fifteenth message, the Packet Management Service (BMS) downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and sends a sixteenth message to the Distributed Scheduling Service (DMS); in response to receiving the sixteenth message, the Distributed Scheduling Service (DMS) starts the fifth application module in the first device; and / or, in response to receiving a fifth operation from the user on the control corresponding to the fourth device in the second window, the Distributed Scheduling Service (DMS) sends a twelfth message to the Distributed Scheduling Service (DMS) in the fourth device, which requests the fourth device to start the fifth application module, and the twelfth message carries the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application, and the identifier of the type to which the fifth application module belongs.

[0064] The specific implementation details of the identifier for the type of the fifth application module can be found in the description of the predefined ACTION mentioned in this application, and will not be repeated here.

[0065] Therefore, the system module in the first device can implicitly launch the application module in the first device and / or the fourth device in the same distributed network by using the identifier of the type to which the application module belongs. This fully considers that third-party application vendors usually do not provide the identifier of the application module to other vendors, that is, there is no need to rely on the identifier of the application module. It also enables the automatic installation of the application module that is not installed, and the user is unaware of the download process of the application module. The application module does not need to be downloaded when the application is first installed and can be downloaded on demand.

[0066] In one possible design, the method further includes: in response to determining that the first device has installed the fifth application module and the fourth device has not installed the fifth application module, the system module starts the fifth application module in the first device.

[0067] Alternatively, in response to determining that the first device has not installed the fifth application module and the fourth device has installed the fifth application module, the system module sends a seventeenth message to the fourth device, the seventeenth message being used to request the fourth device to start the fifth application module.

[0068] Alternatively, in response to determining that the fifth application module has been installed on both the first and fourth devices, the system module displays a third window, which includes controls corresponding to the first and fourth devices; in response to receiving a sixth operation from the user on the control corresponding to the first device in the third window, the system module downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and starts the fifth application module on the first device; and / or, in response to receiving a sixth operation from the user on the control corresponding to the fourth device in the third window, the system module sends a seventeenth message to the fourth device, the seventeenth message being used to request the fourth device to start the fifth application module.

[0069] Therefore, by fully considering various scenarios of whether the first and fourth devices have the fifth application module installed, the completeness of the solution is ensured.

[0070] Thirdly, this application provides an electronic device, including: a memory and a processor; the memory is used to store program instructions; the processor is used to call the program instructions in the memory to cause the electronic device to execute the application module startup method in the first aspect and any possible design of the first aspect; or, the processor is used to call the program instructions in the memory to cause the electronic device to execute the application module startup method in the second aspect and any possible design of the second aspect.

[0071] Fourthly, this application provides a chip system applied to an electronic device including a memory, a display screen, and a sensor; the chip system includes a processor; when the processor executes computer instructions stored in the memory, the electronic device executes the application module startup method of the first aspect and any possible design of the first aspect; or, the electronic device executes the application module startup method of the second aspect and any possible design of the second aspect.

[0072] Fifthly, this application provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, enables an electronic device to implement the first aspect and the application module startup method in any possible design of the first aspect; or, the computer program, when executed by a processor, enables an electronic device to implement the second aspect and the application module startup method in any possible design of the second aspect.

[0073] In a sixth aspect, this application provides a computer program product, comprising: execution instructions stored in a readable storage medium, wherein at least one processor of an electronic device can read the execution instructions from the readable storage medium, and the at least one processor executes the execution instructions to cause the electronic device to implement the application module startup method in the first aspect and any possible design of the first aspect; or, the at least one processor executes the execution instructions to cause the electronic device to implement the second aspect and any possible design of the second aspect. Attached Figure Description

[0074] Figure 1 This is a schematic diagram of the structure of an electronic device provided in one embodiment of this application;

[0075] Figure 2 A software structure block diagram of an electronic device provided in an embodiment of this application;

[0076] Figures 3A-3C This is a schematic diagram of a human-computer interaction interface provided in an embodiment of this application;

[0077] Figure 4A A schematic diagram of a scenario provided in an embodiment of this application;

[0078] Figures 4B-4C This is a schematic diagram of a human-computer interaction interface provided in an embodiment of this application;

[0079] Figure 5 A schematic diagram illustrating the various stages of an application provided in an embodiment of this application;

[0080] Figure 6 A flowchart illustrating an application module startup method provided in an embodiment of this application;

[0081] Figures 7A-7C A flowchart illustrating an application module startup method provided in an embodiment of this application;

[0082] Figures 8A-8I This is a schematic diagram of a human-computer interaction interface provided in an embodiment of this application;

[0083] Figure 9 A schematic diagram illustrating the various stages of an application provided in an embodiment of this application;

[0084] Figures 10A-10C A flowchart illustrating an application module startup method provided in an embodiment of this application;

[0085] Figures 11A-11E This is a schematic diagram of a human-computer interaction interface provided in an embodiment of this application;

[0086] Figure 12A schematic diagram illustrating the various stages of an application provided in an embodiment of this application;

[0087] Figures 13A-13C A flowchart illustrating an application module startup method provided in an embodiment of this application;

[0088] Figure 14 A flowchart illustrating an application module startup method provided in an embodiment of this application;

[0089] Figure 15 This is a flowchart illustrating an application module startup method provided in one embodiment of this application. Detailed Implementation

[0090] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c alone can mean: a alone, b alone, c alone, a combination of a and b, a combination of a and c, a combination of b and c, or a, b, and c, where a, b, and c can be single or multiple. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.

[0091] In this application, the electronic device can be a mobile phone, tablet computer, wearable device, in-vehicle device, augmented reality (AR) / virtual reality (VR) device, laptop computer, ultra-mobile personal computer (UMPC), netbook, personal digital assistant (PDA), smart TV, smart screen, high-definition TV, 4K TV, smart speaker, smart projector, etc. This application does not impose any restrictions on the specific type of electronic device.

[0092] The following example uses a mobile phone as an electronic device, combined with... Figure 1 This application describes the electronic equipment involved.

[0093] Figure 1 This is a schematic diagram of the structure of an electronic device provided in one embodiment of this application. Figure 1As shown, the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0094] It is understood that the structure illustrated in this application does not constitute a specific limitation on the electronic device 100. In other embodiments, 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.

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

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

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

[0098] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0099] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C buses. The processor 110 can couple to the touch sensor 180K, charger, flash, camera 193, etc., through different I2C bus interfaces. For example, the processor 110 can couple to the touch sensor 180K through the I2C interface, enabling the processor 110 and the touch sensor 180K to communicate through the I2C bus interface, thereby realizing the touch function of the electronic device 100.

[0100] The I2S interface can be used for audio communication. In some embodiments, the processor 110 may include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the I2S interface to enable the function of answering phone calls through a Bluetooth headset.

[0101] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via the PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface, enabling the function of answering phone calls through a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.

[0102] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the UART interface to enable music playback through Bluetooth headphones.

[0103] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI) and a display serial interface (DSI). In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to enable the electronic device 100 to capture images. The processor 110 and the display screen 194 communicate via the DSI interface to enable the electronic device 100 to display images.

[0104] The GPIO interface is configurable via software. It can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to a camera 193, a display screen 194, a wireless communication module 160, an audio module 170, a sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.

[0105] USB port 130 is a USB standard compliant interface, specifically a Mini USB port, Micro USB port, USB Type-C port, etc. USB port 130 can be used to connect a charger to charge electronic device 100, and can also be used for data transfer between electronic device 100 and peripheral devices. It can also be used to connect headphones for audio playback. This interface can also be used to connect other electronic devices, such as AR devices.

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

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

[0108] The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, providing power to the processor 110, internal memory 121, external memory, display screen 194, camera 193, and wireless communication module 160, etc. The power management module 141 can also monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 141 may also be located within the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be located in the same device.

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

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

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

[0112] 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 audio devices (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. 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.

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

[0114] 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 devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time-Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies. The GNSS may include Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), BeiDou Navigation Satellite System (BDS), Quasi-Zenith Satellite System (QZSS), and / or Satellite Based Augmentation Systems (SBAS).

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

[0116] 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 MiniLED, a MicroLED, a Micro-OLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, electronic device 100 may include one or N displays 194, where N is a positive integer greater than 1.

[0117] Electronic device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.

[0118] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization of image noise, brightness, and skin tone. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 193.

[0119] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In some embodiments, the electronic device 100 may include one or N cameras 193, where N is a positive integer greater than 1.

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

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

[0122] An NPU (Neural Processing Unit) is a computational processor for neural networks (NNs). By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs enable intelligent cognitive applications in electronic devices, such as image recognition, facial recognition, speech recognition, and text understanding.

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

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

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

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

[0127] 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 or make hands-free calls through the speaker 170A.

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

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

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

[0131] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A can be disposed on display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may include at least two parallel plates with conductive material. When force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Electronic device 100 determines the pressure intensity based on the change in capacitance. When a touch operation is applied to display screen 194, electronic device 100 detects the intensity of the touch operation based on pressure sensor 180A. Electronic device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A. In some embodiments, touch operations applied to the same touch position but with different touch operation intensities can correspond to different operation commands. For example, when a touch operation with an intensity less than a first pressure threshold is applied to the SMS application icon, a command to view an SMS is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to the SMS application icon, a command to create a new SMS is executed.

[0132] The gyroscope sensor 180B can be used to determine the motion attitude of the electronic device 100. In some embodiments, the gyroscope sensor 180B can determine the angular velocity of the electronic device 100 about three axes (i.e., the x, y, and z axes). The gyroscope sensor 180B can be used for image stabilization. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of the shake of the electronic device 100, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to counteract the shake of the electronic device 100 by moving in the opposite direction, thus achieving image stabilization. The gyroscope sensor 180B can also be used in navigation and motion-sensing game scenarios.

[0133] The barometric pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device 100 calculates altitude using the air pressure value measured by the barometric pressure sensor 180C to assist in positioning and navigation.

[0134] The magnetic sensor 180D includes a Hall sensor. The electronic device 100 can use the magnetic sensor 180D to detect the opening and closing of the flip cover. In some embodiments, when the electronic device 100 is a flip phone, the electronic device 100 can detect the opening and closing of the flip cover using the magnetic sensor 180D. Then, based on the detected opening and closing state of the cover or the flip cover, features such as automatic flip unlocking can be set.

[0135] The 180E accelerometer can detect the magnitude of acceleration of electronic device 100 in various directions (typically three axes). When electronic device 100 is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the posture of electronic devices and applied to applications such as screen orientation switching and pedometers.

[0136] A distance sensor 180F is used to measure distance. Electronic device 100 can measure distance via infrared or laser. In some embodiments, during a shooting scene, electronic device 100 can utilize the distance sensor 180F to measure distance for rapid focusing.

[0137] The proximity sensor 180G may include, for example, a light-emitting diode (LED) and a light detector, such as a photodiode. The LED may be an infrared LED. The electronic device 100 emits infrared light outward through the LED. The electronic device 100 uses the photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device 100. When insufficient reflected light is detected, the electronic device 100 can determine that there is no object near the electronic device 100. The electronic device 100 may use the proximity sensor 180G to detect when a user holds the electronic device 100 close to their ear for a call, so as to automatically turn off the screen to save power. The proximity sensor 180G can also be used in holster mode and pocket mode for automatic unlocking and locking of the screen.

[0138] The ambient light sensor 180L is used to sense the brightness of ambient light. The electronic device 100 can adaptively adjust the brightness of the display screen 194 based on the sensed ambient light brightness. The ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 180L can also work with the proximity sensor 180G to detect whether the electronic device 100 is in a pocket to prevent accidental touches.

[0139] The fingerprint sensor 180H is used to collect fingerprints. The electronic device 100 can utilize the characteristics of the collected fingerprints to achieve fingerprint unlocking, accessing application locks, taking photos with fingerprints, answering calls with fingerprints, etc.

[0140] Temperature sensor 180J is used to detect temperature. In some embodiments, electronic device 100 uses the temperature detected by temperature sensor 180J to execute a temperature handling strategy. For example, when the temperature reported by temperature sensor 180J exceeds a threshold, electronic device 100 performs thermal protection by reducing the performance of a processor located near temperature sensor 180J to reduce power consumption. In other embodiments, when the temperature is below another threshold, electronic device 100 heats battery 142 to prevent abnormal shutdown of electronic device 100 due to low temperature. In still other embodiments, when the temperature is below yet another threshold, electronic device 100 boosts the output voltage of battery 142 to prevent abnormal shutdown due to low temperature.

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

[0142] The bone conduction sensor 180M can acquire vibration signals. In some embodiments, the bone conduction sensor 180M can acquire vibration signals from the vibrating bone segments of the human vocal cords. The bone conduction sensor 180M can also contact the human pulse to receive blood pressure signals. In some embodiments, the bone conduction sensor 180M can also be incorporated into headphones to form bone conduction headphones. The audio module 170 can parse the voice signals from the vibrating bone segments of the vocal cords acquired by the bone conduction sensor 180M to realize voice functionality. The application processor can parse heart rate information from the blood pressure signals acquired by the bone conduction sensor 180M to realize heart rate detection functionality.

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

[0144] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback. For example, different vibration feedback effects can be corresponding to touch operations applied to different applications (such as taking photos, playing audio, etc.). Motor 191 can also correspond to different vibration feedback effects for touch operations applied to different areas of the display screen 194. Different application scenarios (such as time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also be customized.

[0145] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.

[0146] The SIM card interface 195 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to make contact with and separate from the electronic device 100. The electronic device 100 can support one or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. Multiple cards can be inserted into the same SIM card interface 195 simultaneously. The multiple cards can be of the same or different types. The SIM card interface 195 is also compatible with different types of SIM cards. The SIM card interface 195 is also compatible with external memory cards. The electronic device 100 interacts with the network through the SIM card to realize functions such as calls and data communication. In some embodiments, the electronic device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100.

[0147] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application uses the layered architecture Android system as an example to illustrate the software structure of electronic device 100. This application does not limit the type of operating system of the electronic device. For example, Android system, Linux system, Windows system, iOS system, Harmony OS, etc.

[0148] Figure 2 This is a software structure block diagram of an electronic device provided in one embodiment of this application. For example... Figure 2 As shown, the layered architecture divides the software into several layers, each with a clear role and division of labor. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer (APP), the application framework layer (APP framework), the Android runtime and system libraries, and the kernel layer.

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

[0150] like Figure 2 As shown, the application package may include applications (APPs) such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, games, chat, shopping, travel, instant messaging (such as SMS), smart home, and device control.

[0151] Smart home applications can be used to control or manage network-connected home devices. For example, home devices may include lights, televisions, and air conditioners. Other examples include security door locks, speakers, robot vacuums, electrical outlets, body fat scales, table lamps, air purifiers, refrigerators, washing machines, water heaters, microwave ovens, rice cookers, curtains, fans, televisions, set-top boxes, doors, and windows.

[0152] In addition, the application package may also include applications such as the home screen (i.e., the desktop), the negative one screen, the control center, and the notification center.

[0153] The -1 screen, also known as the negative one screen, refers to the user interface (UI) displayed when swiping right from the main screen of an electronic device until reaching the leftmost split screen. For example, the -1 screen can be used to display quick service functions and notifications, such as global search, shortcuts to specific pages within applications (payment codes, WeChat, etc.), instant information and reminders (express delivery information, expense information, traffic conditions, ride-hailing information, schedule information, etc.), and followed events (football stands, basketball stands, stock information, etc.). The control center is the swipe-up notification bar on the electronic device, the user interface displayed when the user swipes up from the bottom of the device. The notification center is the pull-down notification bar on the electronic device, the user interface displayed when the user swipes down from the top of the device.

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

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

[0156] A window manager is used to manage window programs, such as managing window state, properties, adding, deleting, and updating views, window order, message collection and processing, etc. The window manager can obtain the screen size, determine if a status bar is present, lock the screen, and capture the screen. Furthermore, the window manager serves as the entry point for external access to windows.

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

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

[0159] The phone manager is used to provide communication functions for electronic device 100. For example, it manages call status (including connection, hang-up, etc.).

[0160] The resource manager provides applications with various resources, such as localized strings, icons, images, layout XML files for user interfaces, video files, fonts, colors, and identity documents (IDs) for user interface modules (UI components). Furthermore, the resource manager is used to manage these resources uniformly.

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

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

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

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

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

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

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

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

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

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

[0171] The following example, using a smart speaker to play sound, illustrates the workflow of the software and hardware of electronic device 100.

[0172] When the touch sensor 180K receives a touch operation, a corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, timestamp of the touch operation, etc.). The raw input event is stored in the kernel layer. The application framework layer retrieves the raw input event from the kernel layer and identifies the control corresponding to the input event. Taking a single touch operation as an example, where the corresponding control is the smart speaker icon, the smart speaker application calls the interface of the application framework layer to launch the smart speaker application, and then calls the kernel layer to start the audio driver, converting the audio electrical signal into a sound signal through the speaker 170A.

[0173] It is understood that the structure illustrated in this application does not constitute a specific limitation on the electronic device 100. In other embodiments, 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.

[0174] 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, and in conjunction with the accompanying drawings and application scenarios, the application module startup method provided in this application will be described in detail.

[0175] Combination Figures 3A-3C This describes the specific implementation process of an electronic device launching a meta-capability that is not installed in an application. For ease of explanation, Figures 3A-3CIn this example, we will use a mobile phone as an electronic device, with application A installed on the phone. Application A is the XX travel application.

[0176] When the XX Travel app was first installed on the electronic device, Meta-Ability A1 was installed but Meta-Ability A2 was not. Both Meta-Ability A1 and Meta-Ability A2 are software codes. Meta-Ability A1 is used to provide the page corresponding to ride-hailing and triggers the launch of Meta-Ability A1 in app A. Meta-Ability A2 is used to provide the page corresponding to carpooling.

[0177] A capability is the smallest unit that enables an electronic device to run an application independently. An application may include one or more capabilities. Different applications may include capabilities with the same function or capabilities with different functions.

[0178] Please see Figures 3A-3C , Figures 3A-3C This is a schematic diagram of a human-computer interaction interface provided in an embodiment of this application.

[0179] The phone can display as follows Figure 3A The exemplary user interface 11 can be the main screen of a desktop (Home screen), and may include, but is not limited to, a status bar, navigation bar, calendar indicator, weather indicator, and multiple application icons. Application icons may include, for example, the icon 301 for the XX Travel application, or icons for applications such as Huawei Video, Music, Phone Manager, Settings, XX Map, Smart Life, Health & Fitness, Calling, SMS, Browser, and Camera.

[0180] Since MetaAbility A1 was installed on the phone after the XX Travel app was first installed, the phone can detect user-instructed actions to launch the XX Travel app (such as in...). Figure 3A After clicking the XX Travel app icon (301) in the user interface 11 shown, the meta-capability A1 will be activated and displayed. Figure 3B The exemplary user interface 12 is used to display the page corresponding to hailing a ride. The user interface 12 may include controls 302 and 303, where control 302 is used to navigate to the page corresponding to hailing a ride, and control 303 is used to navigate to the page corresponding to carpooling.

[0181] Furthermore, since MetaAbility A2 was not installed on the phone after the initial installation of the XX Travel app, but could be downloaded and installed on the phone via MetaAbility A1 after responding to the user's action, the phone detected the user's actions... Figure 3BAfter performing an operation such as clicking control 303 in the user interface 12 shown, meta-capability A1 triggers the system service on the phone. The system service on the phone obtains the CDN download address of meta-capability A2 of the XX Travel application from the HAG server. Based on the CDN download address of meta-capability A2 of the XX Travel application, the system service on the phone can download meta-capability A2 of the XX Travel application from the CDN server. Furthermore, the system service on the phone can install meta-capability A2 of the XX Travel application on the phone, thereby activating meta-capability A2 and displaying... Figure 3C The exemplary user interface 13 is used to display the page corresponding to carpooling.

[0182] In summary, a mobile phone can trigger system services through installed meta-capabilities in an application. It can query, download, and install uninstalled meta-capabilities in that application to activate them. Thus, when the application is installed for the first time, the phone can select some of the meta-capabilities in the application instead of installing all of them, saving storage space and enriching the application's functionality, providing users with more features.

[0183] Combination Figures 4A-4C This describes the specific implementation process of an electronic device launching a meta-capability that is not installed in an application. For ease of explanation, Figures 4A-4C In this example, a mobile phone is used as the electronic device. The phone has application A's meta-capability A1 installed, but application B's meta-capability B1 is not installed. However, application A's meta-capability A1 can trigger the launch of application B's meta-capability B1. Application A's meta-capability A1 is the Huawei Hilink service software module, application B is a smart home application from XX appliance manufacturer, and meta-capability B1 is a rice cooker's meta-capability.

[0184] The Huawei Hilink service software module has no UI and is used to trigger the startup of application B's meta-capability B1. Meta-capability B1 is software code and is used to provide a page for adjusting parameters such as the rice cooker's working mode, heating temperature, and heating time.

[0185] Please see Figure 4A , Figure 4A This is a schematic diagram of a scenario provided in one embodiment of this application. Figures 4B-4C This is a schematic diagram of a human-computer interaction interface provided in an embodiment of this application.

[0186] The phone can display as follows Figure 4BThe exemplary user interface 21 can be the main screen of a desktop. User interface 21 may include, but is not limited to, a status bar, navigation bar, calendar indicator, weather indicator, and multiple application icons. Application icons may include: a smart home application 401 from an appliance manufacturer; other application icons may include: icons for Huawei Video, Music, Phone Manager, Settings, Maps, Travel, Smart Living, Health & Fitness, Calls, SMS, Browser, and Camera.

[0187] Suppose a user wants to adjust parameters of a rice cooker, such as working mode, heating temperature, and heating time, on their mobile phone, and the rice cooker's core capability B1 is not installed with the smart home app from XX appliance manufacturer, then as follows: Figure 4A As shown, the phone taps against the rice cooker. Upon detecting this action, the Huawei Hilink service software module triggers a system service on the phone. This system service determines if the rice cooker's meta-capability B1 from the XX Appliances manufacturer's smart home application is installed. If the system service determines that meta-capability B1 is not installed, it obtains the CDN download address of meta-capability B1 from the HAG server. Based on this CDN download address, the system service downloads meta-capability B1 from the CDN server. Then, the system service installs meta-capability B1 on the phone, activating it and enabling the display... Figure 4B The exemplary user interface 21 becomes a display Figure 4C The exemplary user interface 22 displays the page corresponding to the rice cooker's basic capabilities B1, namely, the page for adjusting parameters such as the rice cooker's working mode, heating temperature, and heating time. This allows users to flexibly and quickly adjust the rice cooker's parameters through the page corresponding to the rice cooker's basic capabilities B1.

[0188] In summary, a mobile phone can trigger system services through installed meta-capabilities in one application, and can query, download, and install uninstalled meta-capabilities in another application to activate those uninstalled meta-capabilities. This allows meta-capabilities from different applications to work together to achieve their corresponding functions, thereby reducing the phone's storage requirements and saving storage space.

[0189] based on Figures 3A-3Cas well as Figures 4A-4C The embodiment describes an electronic device that supports not only allowing installed meta-capabilities in the same application to trigger system services within the electronic device to launch uninstalled meta-capabilities, but also allows installed meta-capabilities in one application to trigger system services within the electronic device to launch uninstalled meta-capabilities in another application. Therefore, the electronic device does not need to install all meta-capabilities in an application, and can quickly and promptly download uninstalled meta-capabilities based on user needs using installed meta-capabilities. This reduces the storage requirements of the electronic device, saves storage space, enriches the types of applications that can be installed on the electronic device, and facilitates the electronic device in providing users with more functionalities.

[0190] Please see Figure 5 , Figure 5 This is a schematic diagram of the various stages of an application provided in an embodiment of this application.

[0191] like Figure 5 As shown, the lifecycle of an application can include four stages: development and debugging, release and app store, cloud deployment and distribution, and client-side download and installation.

[0192] During the development and debugging phase, developers can create an application, generate a meta-package (harmony OSability package, hap package), and package one or more hap packages into an application package (App Pack, abbreviated as .app).

[0193] Within an application package, multiple hap packages can be divided into one or more hap packages. Each hap package group can correspond to one or more device types, and the programming languages ​​corresponding to all hap packages in each hap package group are the same. The programming languages ​​corresponding to different hap packages groups can be the same or different.

[0194] In some embodiments, each set of hap packages may typically include two types.

[0195] The first type of hap package is a deployment package that contains the application's entry point Ability (i.e. Figure 5The main module shown (abbreviated as Entry.hap) is typically singular and consists of code, third-party libraries, resources, and configuration files. The code can be one or more Abilities, as well as dependent common codes. Third-party libraries can be .so libraries; unlike common codes, .so libraries can be compiled independently and have no source code. Furthermore, the first type of hap package supports installation-free installation and is usually installed automatically upon the first installation of the application. Additionally, the application's entry Ability is usually the Ability corresponding to the application's home page / main page.

[0196] The second type of hap package is a deployment package of other code or resources of the application (i.e. Figure 5 The dynamic feature module 1 and dynamic feature module 2 shown (abbreviated as Feature.hap) can be multiple, consisting of code, third-party libraries, resources, and configuration files. The code can be one or more Abilities and dependent common codes, or it can contain only third-party libraries, or only resources without any code; this application does not limit this. Resources can be resources depended upon by the code in this set of hap packages, resources used by other hap packages, or both of the aforementioned resources; this application does not limit this. Furthermore, the second type of hap package containing Abilities supports installation-free installation and is usually automatically installed upon the first installation of the application. The second type of hap package without Abilities needs to be downloaded and installed through the application programming interface (API) of the electronic device and is usually not automatically installed upon the first installation of the application. In addition, other code or resources of the application are code or resources other than the application's entry Ability, such as Abilities corresponding to pages other than the main page of the application.

[0197] It should be noted that the types of hap packages are not limited to the two types mentioned above.

[0198] During the development and debugging phase, the developer signs an application package (App Pack, abbreviated as .app) to obtain a signed application package (App Pack) 50 (that is, the main module, dynamic feature module 1 and dynamic feature module 2 in application package (App Pack) 50 are all signed).

[0199] During the release and listing phase, developers upload their app packs (App Pack 50) to cloud servers (such as Huawei Market servers).

[0200] During the cloud deployment and distribution phase, the cloud server 40 can perform operations on the application pack 50 such as signature verification and auditing, application pack splitting, HAP resigning, storage, and Ability extraction.

[0201] In some embodiments, the specific implementation process of the storage operation is as follows: the cloud server 40 can divide the application package (AppPack) 50 into multiple hap packages and store the multiple hap packages, such as deploying them to the content delivery network (CDN) server 30.

[0202] In some embodiments, the specific implementation process of extracting Ability operations is as follows: the cloud server 40 can extract the Ability of multiple partitioned hap packets and establish an Ability index list of multiple partitioned hap packets, and then store the Ability index list of multiple partitioned hap packets in a server such as the Huawei Ability Gallery (HAG) server 20.

[0203] The Ability index list includes the meta-ability name of each hap package's Ability, or the meta-ability name of each hap package's Ability and a predefined ACTION.

[0204] The meta-ability name refers to the unique identifier of a meta-ability, which may be represented by numbers, letters, or characters.

[0205] Here, a predefined ACTION is an event defined by the HAG server 20. Each predefined ACTION identifies a specific function. After a meta-capability registers a predefined ACTION, that meta-capability supports the specific function corresponding to that predefined ACTION. Furthermore, for meta-capabilities 1 and 2 that have registered the same predefined ACTION, then meta-capability 1 and meta-capability 2 support the same function, that is, the specific function corresponding to that predefined ACTION. If meta-capabilities 1 and meta-capability 2 have registered different predefined ACTIONs, then meta-capability 1 and meta-capability 2 support different functions. The application where meta-capability 1 resides and the application where meta-capability 2 resides can be the same or different.

[0206] Additionally, system services in electronic devices can initiate meta-capabilities that have registered a predefined action. The HAG server can then match the meta-capabilities that have registered the predefined action.

[0207] During the client-side download and installation phase, based on Figure 2The software architecture diagram of the Android system in the embodiment shows that the layered architecture of device a 11, from top to bottom, consists of the application layer (APP), the application framework layer (APPframework), and the Android runtime (Android runtime). Figure 5 (Not illustrated in the text) and system libraries, as well as the kernel layer.

[0208] Among them, device a 11 is an electronic device.

[0209] The application layer includes application A, or application A and application B. Device a 11 can initiate a meta-capability of application B by triggering a system service in device a 11 through a meta-capability of application A.

[0210] The application framework layer includes the distributed schedule manager service (DMS) and the bundle manager service (BMS). Both DMS and BMS are system services in electronic devices.

[0211] DMS is used to initiate a meta-capability. For example, DMS can initiate a meta-capability after determining that an application's meta-capability is installed on the electronic device based on the meta-capability name and the package name of the application containing the meta-capability (referred to as explicit initiation). Alternatively, DMS can initiate a meta-capability after determining that an application's meta-capability is installed on the electronic device based on a predefined action and the package name of the application containing the meta-capability (referred to as semi-implicit initiation). Another example is that DMS can initiate the meta-capability corresponding to a predefined action after determining that the electronic device has installed the predefined action (referred to as implicit initiation).

[0212] BMS is used to determine whether a meta-capability is installed on device a 11, and if a meta-capability is not installed, it obtains the CDN download address of that meta-capability from HAG server 20, so that the meta-capability can be obtained from CDN server 30 based on the CDN download address. The system library includes a distributed application component database.

[0213] BMS also stores the parsed configuration file of a meta-capability in the distributed application component database when it is installed. The parsed configuration file (config.json) can include: the application package name and meta-capability name corresponding to the meta-capability; or, the application package name and predefined action of the meta-capability; or, the application package name, meta-capability name, and predefined action of the meta-capability. In other words, the application package name, meta-capability name, and predefined action of a meta-capability can all be registered in the meta-capability's configuration file. Additionally, the parsed configuration file (config.json) can also include: the device types supported by the meta-capability, the name of the corresponding hap package, the type of the corresponding hap package, and whether the meta-capability is actively installed.

[0214] Below, we will use Scenario 1 and Scenario 2 to introduce the specific implementation process of an electronic device launching a meta-capability that is not installed in an application.

[0215] Scene 1

[0216] Scenario 1 describes the specific implementation process of an electronic device triggering a system service in the same application to start a meta-capability that is not installed in that application through a meta-capability that is already installed in the same application.

[0217] Combination Figure 5 Assuming device a11 has application A's meta-capability A1 installed, and system services on device a11 can be triggered through meta-capability A1 to start application A's not-installed meta-capability A2, then based on user intent, application A's meta-capability A1 can request DMS to start application A's meta-capability A2. DMS can then request BMS to query whether meta-capability A2 is installed on device a11.

[0218] Once the BMS determines that meta-capability A2 has been installed in device a11, the BMS can notify the DMS that meta-capability A2 has been installed. The DMS can then activate meta-capability A2.

[0219] When the BMS determines that meta-capability A2 is not installed on device a 11, the BMS can obtain the CDN download address of meta-capability A2 from the HAG server 20. Based on the CDN download address of meta-capability A2, the BMS can download meta-capability A2 from the CDN server 30, enabling the BMS to install meta-capability A2 on device a 11. The BMS can then notify the DMS that meta-capability A2 has been installed. The DMS can then start meta-capability A2.

[0220] in, Figures 3A-3C The exemplary content can be used to explain the above process.

[0221] In summary, device a11 can activate a system service in the electronic device that is not installed in application A by triggering the meta-capability A1 installed in application A.

[0222] Based on the foregoing description, combined with Figure 6 ,right Figures 3A-3C The implementation process of device a 11 in this embodiment triggering the system service in device a 11 to start the non-installed meta-capability A2 in application A through the meta-capability A1 already installed in application A is described in detail below. Device a 11 can be found in [reference needed]. Figures 3A-3C The description of the mobile phone in the embodiments, application A can be found here. Figures 3A-3C The description of the XX travel application in the embodiment, and meta-capability A1, can be found here. Figures 3A-3C The description of meta-capability A1 in the embodiment, and meta-capability A2 can be found in [reference]. Figures 3A-3C Description of meta-capability A2 in the embodiments.

[0223] Please see Figure 6 , Figure 6 This is a flowchart illustrating an application module startup method provided in one embodiment of this application.

[0224] like Figure 6 As shown, the specific implementation process of the application module startup method of this application may include the following steps:

[0225] S101, In response to user operation 1, application A's meta-capability A1 sends the package name of application A and the meta-capability name of meta-capability A2 to DMS.

[0226] Operation 1 can include, but is not limited to, clicks, double-clicks, long presses, touches, and other similar actions. For example, Operation 1 could be performed by the user on... Figure 3B The operation performed in the user interface 12 shown is such as clicking the control 303.

[0227] Furthermore, operation 1 is associated with application A's meta-capability A2. That is, meta-capability A1, based on operation 1, can learn that device a11 needs to activate application A's meta-capability A2. Since application A pre-stores the meta-capability name of meta-capability A2 associated with operation 1, and both meta-capability A1 and meta-capability A2 are meta-capabilities of application A, meta-capability A1 can learn the package name of application A and the meta-capability name of meta-capability A2. Therefore, meta-capability A1 can request the DMS to activate application A's meta-capability A2, carrying the package name of application A and the meta-capability name of meta-capability A2 in the request.

[0228] Here, the package name of application A can uniquely identify application A, and the meta-capability name of meta-capability A2 can uniquely identify meta-capability A2. The package name of application A and the meta-capability name of meta-capability A2 can be represented using at least one method such as letters, characters, or numbers. Here, the package name of application A can correspond to the identifier of the first application in step S1201, and the meta-capability name of meta-capability A2 can correspond to the module identifier of the first application module in step S1201.

[0229] Additionally, meta-capability A1 can send a message to DMS containing the package name of application A and the meta-capability name of meta-capability A2. This application does not limit the specific implementation of this message. This message here may correspond to the first message in steps S1101 and S1201.

[0230] S102, DMS sends the package name of application A and the meta-capability name of meta-capability A2 to BMS. Thus, DMS can request BMS to query whether meta-capability A2 of application A has been installed.

[0231] Specifically, the DMS can send the package name of application A and the meta-capability name of meta-capability A2 to the BMS in a message. This application does not limit the specific implementation of this message. This message here can correspond to the fourth message in step S1202.

[0232] S103, BMS determines whether application A's meta-capability A2 is installed in device a11 based on the package name of application A and the meta-capability name of meta-capability A2.

[0233] Since BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, BMS can query the distributed application component database to see if the configuration file of meta-capability A2 of application A exists, thereby determining whether meta-capability A2 of application A is installed in device a11.

[0234] If the configuration file for the meta-capability A2 of application A does not exist in the distributed application component database, the BMS can determine that the meta-capability A2 of application A is not installed on device a11, and thus the BMS can execute steps S104-S110; if the configuration file for the meta-capability A2 of application A exists in the distributed application component database, the BMS can determine that the meta-capability A2 of application A is installed on device a11, and thus the BMS can execute steps S109-S110.

[0235] S104, the BMS sends the ID of device a11, the package name of application A, and the meta-capability name of meta-capability A2 to the HAG server 20. Thus, the BMS can obtain the ID of device a11 through the system attributes in device a11 and request the HAG server 20 to download the meta-capability A2 of application A for device a11.

[0236] Specifically, the BMS can carry the ID of device a11, the package name of application A, and the meta-capability name of meta-capability A2 in a message, and send it to HAG server 20 through the communication channel between device a11 and HAG server 20. This application does not limit the specific implementation of this message. This message here may correspond to the second message in steps S1103 and S1204.

[0237] Furthermore, the ID of device a 11 is used to uniquely identify device a 11, indicating that device a 11 needs to obtain the CDN download address of meta-capability A2 from HAG server 20. Additionally, this application does not limit the specific implementation of the ID of device a 11. For example, it could be the device type of device a 11 or the fixed asset number of device a 11.

[0238] S105 and HAG server 20 obtain the CDN download address of the matched application A's meta-capability A2 based on the package name of application A and the meta-capability name of meta-capability A2.

[0239] Since HAG server 20 pre-stores multiple hap packages and the CDN download address of the corresponding meta-capability for each hap package, and HAG server 20 can obtain the application package name and meta-capability name of each hap package, HAG server 20 can match the CDN download address corresponding to the meta-capability A2 of application A based on the package name of application A and the meta-capability name of meta-capability A2.

[0240] The CDN download address can be represented using methods such as a link or an address string. Additionally, the metadata A2 corresponding to the CDN download address matched by HAG server 20 is usually the latest version.

[0241] S106, HAG server 20 sends the package name of application A, the meta-capability name of meta-capability A2, and the CDN download address of meta-capability A2 to BMS. HAG server 20, through the communication channel between device a11 and HAG server 20, can send the package name of application A, the meta-capability name of meta-capability A2, and the CDN download address of meta-capability A2 in a single message to the BMS in device a11. This application does not limit the specific implementation of this message. This message may correspond to the third message in steps S1104 and S1205. The CDN download address of meta-capability A2 may correspond to the download address of the first application module in step S1205.

[0242] S107. Based on the package name of application A, the meta-capability name of meta-capability A2, and the CDN download address of meta-capability A2, BMS downloads the meta-capability A2 of application A from CDN server 30. Here, CDN server 30 corresponds to the second server in step S1206.

[0243] S108, BMS installation application A's meta-capability A2.

[0244] S109. BMS notifies DMS that application A's meta-capability A2 has been installed. This notification corresponds to the fifth message in step S1207.

[0245] S110, DMS launches application A's meta-capability A2 (i.e., explicit launch), corresponding to the description in step S1208.

[0246] In summary, based on Figure 6 As described in the embodiment, device a 11 can trigger system services in device a 11 through the meta-capability A1 of application A, and start the meta-capability A2 of application A in device a 11 based on the package name of application A and the meta-capability name of meta-capability A2.

[0247] Scene 2

[0248] Scenario 2 describes the specific implementation process of an electronic device triggering a system service in another application to start a meta-capability not installed in that application through a meta-capability installed in an application. This application does not limit whether the electronic device has another application installed.

[0249] Combination Figure 5 Assuming that device a11 has application A's meta-capability A1 installed, and that triggering system services on device a11 via meta-capability A1 can start application B's meta-capability B1, then based on user intent, application A's meta-capability A1 can request the DMS to start application B's meta-capability B1. The DMS can then request the BMS to query whether application B's meta-capability B1 is installed on device a11.

[0250] When the BMS determines that meta-capability B1 has been installed in device a11, the BMS can notify the DMS that meta-capability B1 has been installed. The DMS can then activate meta-capability B1. The application layer also includes application B.

[0251] When the BMS determines that meta-capability B1 is not installed on device a 11, the BMS can obtain the CDN download address of meta-capability B1 from the HAG server 20. Based on the CDN download address of meta-capability B1, the BMS can download meta-capability B1 from the CDN server 30, enabling the BMS to install meta-capability B1 on device a 11, and also ensuring that the application layer includes application B. The BMS can then notify the DMS that meta-capability B1 has been installed. The DMS can then start meta-capability B1.

[0252] in, Figures 4A-4C The exemplary content can be used to explain the above process.

[0253] In summary, device a11 can trigger the system service in device a11 to start the meta-capability B1 that is not installed in application B by using the meta-capability A1 that is already installed in application A.

[0254] Based on the foregoing description, combined with Figures 7A-7C ,right Figures 4A-4C The implementation process of device a 11 in this embodiment triggering the system service in device a 11 to start the non-installed meta-capability B1 in application B through the meta-capability A1 already installed in application A is described in detail below. Device a 11 can be found in [reference needed]. Figures 4A-4C The description of the mobile phone in the embodiments, application A can be found here. Figures 4A-4C The description of the Huawei Hilink service software module in the embodiment can be found in Application B. Figures 4A-4C The description of the smart home application of vendor XX in the embodiments can be found in Meta-Capability A1. Figures 4A-4C The description of meta-capability A1 in the embodiment, and meta-capability B1 can be found in [reference needed]. Figures 4A-4C Description of the basic capability B1 of the rice cooker in the embodiment.

[0255] Please see Figures 7A-7C , Figures 7A-7C This is a flowchart illustrating an application module startup method provided in one embodiment of this application.

[0256] like Figure 7A As shown, the specific implementation process of the application module startup method of this application may include the following steps:

[0257] S201, In response to user operation 2, application A's meta-capability A1 sends the package name of application B and the meta-capability name of meta-capability B1 to DMS.

[0258] Operation 2 can include, but is not limited to, clicks, double-clicks, long presses, touches, and other similar actions. For example, operation 2 could allow the user to... Figure 4B In the example, the user performs the action of touching the mobile phone to the rice cooker.

[0259] Furthermore, operation 2 is associated with application B's meta-capability B1. That is, meta-capability A1 can learn from operation 2 that device a11 needs to activate application B's meta-capability B1. Since application A pre-stores the package name of application B associated with operation 2 and the meta-capability name of application B's meta-capability B1, meta-capability A1 can learn the package name of application B and the meta-capability name of meta-capability B1. Therefore, meta-capability A1 can request the DMS to activate application B's meta-capability B1.

[0260] Here, the package name of application B can uniquely identify application B, and the package name of application B and the meta-capability name of meta-capability B1 can uniquely identify meta-capability B1 of application B. The package name of application B and the meta-capability name of meta-capability B1 can be represented using at least one method such as letters, characters, and numbers. Here, the package name of application B can correspond to the identifier of the first application in step S1201, and the meta-capability name of meta-capability B1 can correspond to the module identifier of the first application module in step S1201.

[0261] Additionally, meta-capability A1 can send a message to DMS containing the package name of application B and the meta-capability name of meta-capability B1. This application does not limit the specific implementation of this message. This message here may correspond to the first message in steps S1101 and S1201.

[0262] S202, DMS sends the package name of application B and the meta-capability name of meta-capability B1 to BMS. Thus, DMS can request BMS to query whether meta-capability B1 of application B has been installed.

[0263] Specifically, the DMS can send the package name of application B and the meta-capability name of meta-capability B1 to the BMS in a message. This application does not limit the specific implementation of this message. This message here can correspond to the fourth message in step S1202.

[0264] S203, BMS determines whether application B's meta-capability B1 is installed in device a11 based on the package name of application B and the meta-capability name of meta-capability B1.

[0265] Since BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, BMS can query the distributed application component database to see if the configuration file of meta-capability B1 of application B exists, thereby determining whether meta-capability B1 of application B is installed in device a11.

[0266] If the configuration file for application B's meta-capability B1 does not exist in the distributed application component database, the BMS can determine that application B's meta-capability B1 is not installed on device a11, and thus the BMS can execute steps S204-S210; if the configuration file for application B's meta-capability B1 exists in the distributed application component database, the BMS can determine that application B's meta-capability B1 is installed on device a11, and thus the BMS can execute steps S209-S210.

[0267] S204, BMS sends the ID of device a 11, the package name of application B, and the meta-capability name of meta-capability B1 to HAG server 20. Thus, BMS can obtain the ID of device a 11 through the system attributes in device a 11 and request HAG server 20 to download the meta-capability B1 of application B for device a 11.

[0268] Specifically, the BMS can carry the ID of device a 11, the package name of application B, and the meta-capability name of meta-capability B1 in a message, and send it to the HAG server 20 through the communication channel between device a 11 and HAG server 20. This application does not limit the specific implementation of this message. This message can correspond to the second message in steps S1103 and S1204. Furthermore, the specific implementation of the ID of device a 11 can be found in the description of step S104, and will not be repeated here.

[0269] S205 and HAG server 20 obtain the CDN download address of the matched application B's meta-capability B1 based on the package name of application B and the meta-capability name of meta-capability B1.

[0270] Since HAG server 20 pre-stores multiple hap packages and the CDN download address of the corresponding meta-capability for each hap package, and HAG server 20 can obtain the application package name and meta-capability name of each hap package, HAG server 20 can match the CDN download address corresponding to the meta-capability B1 of application B based on the package name of application B and the meta-capability name of meta-capability B1.

[0271] The CDN download address can be represented using methods such as a link or an address string. Additionally, the metadata B1 corresponding to the CDN download address matched by HAG server 20 is usually the latest version.

[0272] S206, HAG server 20 sends the package name of application B, the meta-capability name of meta-capability B1, and the CDN download address of meta-capability B1 to BMS.

[0273] The communication channel between HAG server 20 and device a11 can carry the package name of application B, the meta-capability name of meta-capability B1, and the CDN download address of meta-capability B1 in a message and send them to the BMS in device a11. This application does not limit the specific implementation of this message. This message can correspond to the third message in steps S1104 and S1205. The CDN download address of meta-capability B1 can correspond to the download address of the first application module in step S1205.

[0274] S207. Based on the package name of application B, the meta-capability name of meta-capability B1, and the CDN download address of meta-capability B1, BMS downloads the meta-capability B1 of application B from CDN server 30. Here, CDN server 30 corresponds to the second server in step S1206.

[0275] S208, BMS installation application B's meta-capability B1.

[0276] S209. BMS notifies DMS that application B's meta-capability B1 has been installed. This notification corresponds to the fifth message in step S1207.

[0277] S210, DMS launches application B's meta-capability B1 (i.e., explicit launch), corresponding to the description in step S1208.

[0278] In summary, based on Figure 7A As described in the embodiment, device a 11 can trigger system services in device a 11 through the meta-capability A1 of application A, and start the meta-capability B1 of application B in device a 11 based on the package name of application B and the meta-capability name of meta-capability B1.

[0279] like Figure 7B As shown, the specific implementation process of the application module startup method of this application may include the following steps:

[0280] S301, In response to user operation 2, application A's meta-capability A1 sends the package name of application B and the predefined ACTION1 of meta-capability B1 to DMS.

[0281] Operation 2 can include, but is not limited to, clicks, double-clicks, long presses, touches, and other similar actions. For example, operation 2 could allow the user to... Figure 4B In the example, the user performs the action of touching the mobile phone to the rice cooker.

[0282] Furthermore, operation 2 is associated with application B's meta-capability B1. That is, meta-capability A1 can learn from operation 2 that device a11 needs to activate application B's meta-capability B1. Since application A pre-stores the package name of application B associated with operation 2 and the predefined ACTION1 of application B's meta-capability B1, meta-capability A1 can learn the package name of application B and the predefined ACTION1 of meta-capability B1. Therefore, meta-capability A1 can request the DMS to activate application B's meta-capability B1.

[0283] Here, the package name of application B can uniquely identify application B, and the package name of application B and the predefined ACTION1 of meta-capability B1 can uniquely identify meta-capability B1 of application B. The package name of application B and the predefined ACTION1 of meta-capability B1 can be represented in at least one way, such as letters, characters, numbers, etc. Here, the package name of application B can correspond to the identifier of the first application in step S1301, and the predefined ACTION1 of meta-capability B1 can correspond to the identifier of the type to which the first application module belongs in step S1301.

[0284] Additionally, meta-capability A1 can send a message to DMS containing the package name of application B and the predefined ACTION1 of meta-capability B1. This application does not limit the specific implementation of this message. This message here may correspond to the first message in steps S1101 and S1301.

[0285] S302, DMS sends the package name of application B and the predefined ACTION1 of meta-capability B1 to BMS. Thus, DMS can request BMS to query whether meta-capability B1 of application B has been installed.

[0286] Specifically, the DMS can send the package name of application B and the predefined ACTION1 of meta-capability B1 to the BMS in a message. This application does not limit the specific implementation of this message. This message here can correspond to the fourth message in step S1302.

[0287] S303, BMS determines whether application B's meta-capability B1 is installed in device a11 based on application B's package name and the predefined ACTION1 of meta-capability B1.

[0288] Since BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, BMS can query the distributed application component database to see if the configuration file of meta-capability B1 of application B exists, thereby determining whether meta-capability B1 of application B is installed in device a11.

[0289] If the configuration file for application B's meta-capability B1 does not exist in the distributed application component database, the BMS can determine that application B's meta-capability B1 is not installed on device a11, and thus the BMS can execute steps S304-S310; if the configuration file for application B's meta-capability B1 exists in the distributed application component database, the BMS can determine that application B's meta-capability B1 is installed on device a11, and thus the BMS can execute steps S309-S310.

[0290] S304, BMS sends the ID of device a 11, the package name of application B, and the predefined ACTION1 of meta-capability B1 to HAG server 20. Thus, BMS can obtain the ID of device a 11 through the system attributes in device a 11 and request HAG server 20 to download the meta-capability B1 of application B for device a 11.

[0291] Specifically, the BMS can carry the ID of device a 11, the package name of application B, and the predefined ACTION1 of meta-capability B1 in a message, and send it to the HAG server 20 through the communication channel between device a 11 and HAG server 20. This application does not limit the specific implementation of this message. This message can correspond to the second message in steps S1103 and S1304. Furthermore, the specific implementation of the ID of device a 11 can be found in the description of step S104, and will not be repeated here.

[0292] S305 and HAG server 20 obtain the CDN download address of the matched application B's meta-capability B1 based on the package name of application B and the predefined ACTION1 of meta-capability B1.

[0293] Since HAG server 20 pre-stores multiple hap packages and the CDN download address of the corresponding meta-capability for each hap package, and HAG server 20 can obtain the application package name, meta-capability name and predefined ACTION for each hap package, HAG server 20 can match the CDN download address corresponding to the meta-capability B1 of application B based on the package name of application B and the predefined ACTION1 of meta-capability B1.

[0294] The CDN download address can be represented using methods such as a link or an address string. Additionally, the metadata B1 corresponding to the CDN download address matched by HAG server 20 is usually the latest version.

[0295] S306, HAG server 20 sends the package name of application B, the predefined ACTION1 of meta-capability B1 (this parameter can replace the meta-capability name of meta-capability B1), and the CDN download address of meta-capability B1 to BMS.

[0296] The communication channel between HAG server 20 and device a11 can carry the package name of application B, the predefined ACTION1 of meta-capability B1, and the CDN download address of meta-capability B1 in a message and send them to the BMS in device a11. This application does not limit the specific implementation of this message. This message can correspond to the third message in steps S1104 and S1305. The CDN download address of meta-capability B1 can correspond to the download address of the first application module in step S1305.

[0297] S307. Based on the package name of application B, the predefined ACTION1 of meta-capability B1, and the CDN download address of meta-capability B1, BMS downloads the meta-capability B1 of application B from CDN server 30. Here, CDN server 30 corresponds to the second server in step S1306.

[0298] S308, BMS installation application B's meta-capability B1.

[0299] S309, BMS notifies DMS that application B's meta-capability B1 has been installed. This notification corresponds to the fifth message in step S1307.

[0300] S310, DMS launches application B's meta-capability B1 (i.e., semi-implicit launch), corresponding to the description in step S1308.

[0301] In summary, based on Figure 7B As described in the embodiment, device a 11 can trigger system services in device a 11 through the meta-capability A1 of application A. Based on the package name of application B and the predefined ACTION1 of meta-capability B1, the meta-capability B1 of application B in device a 11 is started. This fully considers that third-party application vendors usually do not provide the meta-capability name of meta-capability B1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability B1.

[0302] like Figure 7C As shown, the specific implementation process of the application module startup method of this application may include the following steps:

[0303] S401, Application A's meta-capability A1 responds to user operation 2 by sending a predefined ACTION1 to DMS.

[0304] Operation 2 can include, but is not limited to, clicks, double-clicks, long presses, touches, and other similar actions. For example, operation 2 could allow the user to... Figure 4B In the example, the user performs the action of touching the mobile phone to the rice cooker.

[0305] Furthermore, operation 2 is associated with the meta-capability corresponding to predefined ACTION 1. That is, meta-capability A1 can learn from operation 2 that device a11 needs to activate the meta-capability corresponding to predefined ACTION 1. Since application A pre-stores the predefined ACTION 1 associated with operation 2, meta-capability A1 can learn the meta-capability corresponding to predefined ACTION 1. Therefore, meta-capability A1 can request the DMS to activate the meta-capability corresponding to predefined ACTION 1.

[0306] Here, the predefined ACTION1 can identify meta-capabilities with the same function. The predefined ACTION1 can be represented in at least one way, such as letters, characters, numbers, etc. Furthermore, the meta-capability corresponding to the predefined ACTION1 can be one or more, and this application does not limit this. The predefined ACTION1 here can correspond to the identifier of the type to which the first application module belongs in step S1401.

[0307] Additionally, meta-capability A1 can send a predefined ACTION1 to DMS in a message, and this application does not limit the specific implementation of this message. This message may correspond to the first message in steps S1101 and S1401.

[0308] S402, DMS sends a predefined ACTION1 to BMS. Thus, DMS can request BMS to query whether the meta-capability corresponding to predefined ACTION1 has been installed.

[0309] Specifically, the DMS can send a predefined ACTION1 message to the BMS, and this application does not limit the specific implementation of this message. This message here can correspond to the fourth message in step S1402.

[0310] S403, BMS determines whether the meta-capability corresponding to predefined ACTION1 is installed in device a11 based on predefined ACTION1.

[0311] Since BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, BMS can query the distributed application component database to see if there is a configuration file for the meta-capability corresponding to predefined ACTION1, thereby determining whether the meta-capability corresponding to predefined ACTION1 is installed in device a 11.

[0312] If the configuration file for the predefined meta-capability corresponding to ACTION1 does not exist in the distributed application component database, the BMS can determine that the meta-capability corresponding to ACTION1 is not installed in device a11, and thus the BMS can execute steps S404-S414; if the configuration file for the predefined meta-capability corresponding to ACTION1 exists in the distributed application component database, the BMS can determine that the meta-capability corresponding to ACTION1 is installed in device a11, and thus the BMS can execute steps S413-S414.

[0313] S404, BMS sends the ID of device a 11 and the predefined ACTION1 to HAG server 20. Thus, BMS can obtain the ID of device a 11 through the system attributes in device a 11 and request HAG server 20 to download the meta-capabilities corresponding to the predefined ACTION1 for device a 11.

[0314] Specifically, the BMS can include the ID of device a 11 and the predefined ACTION1 in a message and send it to the HAG server 20 through the communication channel between device a 11 and the HAG server 20. This application does not limit the specific implementation of this message. This message can correspond to the second message in steps S1103 and S1404. Furthermore, the specific implementation of the ID of device a 11 can be found in the description of step S104, and will not be repeated here.

[0315] S405 and HAG server 20 obtain the matched meta-capability set 1 based on the predefined ACTION1. Each subset in meta-capability set 1 carries the application name of an application, the meta-capability name of the application's meta-capability (this parameter can be replaced with the predefined ACTION of the application's meta-capability), and the CDN download address of the meta-capability.

[0316] Since HAG server 20 pre-stores multiple hap packages and the CDN download address of the corresponding meta-capabilities for each hap package, and HAG server 20 can obtain the application package name, meta-capability name, and predefined ACTION for each hap package, HAG server 20 can match meta-capabilities with the same function as the predefined ACTION1 identifier. Therefore, HAG server 20 obtains meta-capability set 1 based on the application package name corresponding to the matched meta-capability, the meta-capability name of the matched meta-capability, and the CDN download address corresponding to the matched meta-capability.

[0317] The CDN download address can be represented using methods such as a link or an address string. Additionally, the meta-capability B1 corresponding to the CDN download address matched by HAG server 20 is usually the latest version. Meta-capability set 1 can include one or more subsets.

[0318] S406, HAG server 20 sends meta-capability set 1 to BMS.

[0319] In this application, the communication channel between HAG server 20 and device a11 can carry the meta-capability set 1 in a message and send it to the BMS in device a11. The specific implementation of this message is not limited in this application. This message may correspond to the third message in steps S1104 and S1405. The meta-capability set 1 may correspond to the first set in step S1405.

[0320] S407, BMS sends Meta Capability Set 1 to DMS.

[0321] Specifically, the BMS can send the meta-capability set 1 to the DMS in a message, and this application does not limit the specific implementation of this message. This message here may correspond to the sixth message in step S1501. The meta-capability set 1 here may correspond to the first set in step S1501.

[0322] S408 and DMS determine whether the number of matched meta-capabilities is greater than 1 based on the meta-capability set 1.

[0323] Since the number of matched meta-capabilities is equal to the number of subsets of meta-capability set 1, DMS can determine whether the number of subsets of meta-capability set 1 is greater than 1, thereby determining whether the number of matched meta-capabilities is greater than 1.

[0324] When the number of subsets of the meta-capability set 1 is greater than 1, the DMS can determine that the number of matched meta-capabilities is greater than 1. Therefore, the DMS can execute steps S409-S411 to determine the meta-capabilities of the selected application based on user preferences, thus improving user engagement and user experience. When the number of subsets of the meta-capability set 1 is equal to 1, the DMS can determine that the number of matched meta-capabilities is equal to 1. Therefore, the DMS can execute steps S410-S411 to use the matched meta-capabilities as the meta-capabilities of the selected application, which helps improve the processing speed of the DMS.

[0325] S409, DMS displays window 1 and, in response to user actions on window 1, determines the meta-capabilities of the selected application.

[0326] In this application, the size, position, color, and other layout parameters of window 1 are not limited. This operation corresponds to the third operation in step S15022, window 1 corresponds to the first window in step S15022, and the selected application's meta-capability corresponds to the selected software module in step S15022. Alternatively, DMS can select one meta-capability from the matched meta-capabilities as the meta-capability of the selected application, without displaying window 1, corresponding to the description in step S15021. DMS can make the selection based on pre-set priorities or storage space of the matched meta-capabilities, etc., which is not limited in this application.

[0327] S410, DMS sends the package name of the selected application and the meta-capability name of the selected application's meta-capability to BMS.

[0328] Specifically, the DMS can send the package name of the selected application and the meta-capability name of the selected application's meta-capabilities to the BMS in a message. This application does not limit the specific implementation of this message. This message here corresponds to the seventh message in step S1503. In addition to the package name of the selected application and the meta-capability name of the selected application's meta-capabilities, this message also includes the CDN download address carrying the meta-capabilities.

[0329] The selected application's meta-capabilities include application B's meta-capability B1, and the selected device may include device a11. For ease of explanation, the selected application's meta-capabilities mentioned here refer to application B's meta-capability B1.

[0330] It should be noted that steps S407-S410 are optional. That is, when the number of matched meta-capabilities is equal to 1, the BMS can use the matched meta-capability as the selected application's meta-capability. When the number of matched meta-capabilities is greater than 1, the BMS can select one meta-capability from the matched meta-capabilities as the selected application's meta-capability. The BMS can make the selection based on pre-set priorities or storage space of the matched meta-capabilities, etc., and this application does not limit this selection.

[0331] S411, BMS downloads the metadata capabilities of the selected application from CDN server 30 based on the CDN download address of the selected application's metadata capabilities. Here, CDN server 30 corresponds to the second server in step S1406.

[0332] S412, BMS installation selects the application's meta-capabilities.

[0333] Steps S411 and S412 here correspond to step S1406.

[0334] S413, BMS notifies DMS that the meta-capability corresponding to predefined ACTION1 has been installed. This notification corresponds to the fifth message in step S1407.

[0335] S414. DMS starts the meta-capability corresponding to the predefined ACTION1 (i.e., implicit startup), which corresponds to the description in step S1408.

[0336] In summary, based on Figure 7C As described in the embodiment, device a 11 can trigger system services in device a 11 through the meta-capability A1 of application A. Based on the predefined ACTION1, the meta-capability B1 of application B in device a 11 is started. This fully considers that third-party application vendors usually do not provide the meta-capability name of meta-capability B1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability B1.

[0337] It should be noted that, based on Figures 7A-7C As described in the embodiment, there only needs to be one interface (corresponding to startability) between application A in device a and DMS. That is, there only needs to be one system API between application A and the software system of device a. This will enable device a to trigger the system service in device a to start the meta-capability B1 of application B in device a through the meta-capability A1 of application A.

[0338] Thus, an electronic device can query the CDN download address of a meta-capability from the HAG server using the application's package name and the meta-capability name of the application's meta-capability, or the application's package name and the predefined action of the application's meta-capability, or the predefined action. Based on the CDN download address of the meta-capability, it can download the meta-capability from the CDN server, enabling the automatic installation of uninstalled meta-capabilities. The user is unaware of the download process of the meta-capability, which does not need to be downloaded when the application is first installed and can be downloaded on demand based on user needs.

[0339] However, if an application needs to activate a dynamic feature module within itself, and that application needs to download that dynamic feature module from the Google Play Store, then the application needs to perform the following steps:

[0340] 1. The application calls the system query interface to check whether the dynamic feature module is installed;

[0341] 2. Once it is confirmed that the dynamic feature module is installed, the application calls the system startup interface to start the dynamic feature module.

[0342] 3. If the application determines that the dynamic feature module is not installed, it uses the module name to call the download and installation interface of the Google Play Core library integrated in the application to download and install the dynamic feature module. The application then calls the system startup interface to launch the dynamic feature module.

[0343] As can be seen, when the dynamic feature module is installed, the application needs at least two interfaces with system services to enable the application to launch the dynamic feature module. When the dynamic feature module is not installed, the application needs at least three interfaces with system services, and the application needs to have Google Play Core pre-integrated to enable the application to launch the dynamic feature module.

[0344] In this application, if an application activates a meta-capability within that application, the application needs to perform the following steps:

[0345] 1. Regardless of whether the meta-capability is installed, the application calls an interface of the system service, sending the package name of the application containing the meta-capability and the meta-capability name, or the package name of the application containing the meta-capability and the predefined action of the meta-capability, or only the predefined action, and the system service can then complete the startup process of the meta-capability.

[0346] It is evident that, regardless of whether the meta-capability is installed, the application needs an interface with the system service to enable the application to activate the meta-capability.

[0347] In summary, from launching a dynamic feature module to launching a meta-capability within the application, the number of interfaces that developers need to coordinate between the application and system services is reduced, lowering the programming costs for developers. Furthermore, it eliminates the need for developers to integrate Google Play Core into the application, reducing configuration costs and facilitating the development of more diverse capabilities to enrich the user experience.

[0348] Combination Figures 8A-8I This describes the specific implementation process of the meta-capability to initiate at least one electronic device within the same distributed network. For ease of explanation, Figures 8A-8IIn this embodiment, electronic devices within the same distributed network include: mobile phones, tablets, televisions, and watches. The mobile phone has the meta-capability A1 of application A installed. Application A is a negative one screen application. Meta-capability A1 of application A is software code. Meta-capability A1 is used to provide the negative one screen application's page and trigger the launch of meta-capability C1 of application C. The mobile phone, tablet, television, and watch all have the ability to install the meta-capability C1 of application C. Application C is an XX Map application. The meta-capability C1 of application C is software code. Meta-capability C1 is used to provide the main page of the XX Map application. This embodiment does not limit whether the mobile phone, tablet, television, or watch has the meta-capability C1 of application C installed.

[0349] Please see Figures 8A-8I , Figures 8A-8I This is a schematic diagram of a human-computer interaction interface provided in an embodiment of this application.

[0350] The phone can display as follows Figure 8A The exemplary user interface 31 is used to display the page of the negative one screen application (i.e., to launch the meta-capability A1). The user interface 31 includes a search box 801, which is used to search for resources such as applications, meta-capabilities, files, videos, and photos on the mobile phone.

[0351] The phone detects the user's instruction to search the XX Maps application (such as in...). Figure 8A After entering the text "XX map" in the search box 801 of the user interface 31 shown, the following will be displayed: Figure 8B The exemplary user interface 32 is used to display the search page of the XX Maps application.

[0352] The user interface 32 includes a search box 802 and a window 803. The search box 802 displays the search terms "XX Map". The window 803 displays the search results for "XX Map". The search results can indicate that the phone has found the main page of the XX Map application (i.e., the meta-capability C1 of application C) installed on other phones, tablets, TVs, and watches within the same distributed network. It should be noted that the search results can also indicate that the phone has found the ability to provide the main page of the XX Map application (i.e., the meta-capability C1 of application C) on other phones, tablets, TVs, and watches within the same distributed network.

[0353] It should be noted that if an electronic device belonging to the same distributed network as the mobile phone does not have the ability to provide the main page of the XX Map application (i.e., the meta-capability C1 of application C), then window 803 may not display the text and icon of the electronic device, or window 803 may display the text and icon of the electronic device in gray, so that the user knows that the electronic device cannot launch the main page of the XX Map application (i.e., the meta-capability C1 of application C).

[0354] In some embodiments, after the mobile phone detects a user-instructed action such as clicking on a tablet computer in window 803, it may display on user interface 31. Figure 8C The example shown is window 804, which is used to indicate a user instruction to open the XX Maps application on the tablet computer.

[0355] Therefore, when the tablet's home screen does not have the XX Maps app installed, the tablet can download and install the XX Maps app, thus launching the XX Maps app. When the tablet's home screen already has the XX Maps app installed, the tablet will launch the XX Maps app.

[0356] After the XX Map application is launched, the tablet computer can display on user interface 31. Figure 8D The exemplary user interface 33 is used to display the main page of the XX Map application (i.e., to launch the meta-capability C1). The user interface 33 may include a search box 805, which is used to search for a location such as a hotel, residence, school, or hospital.

[0357] The tablet computer detects the user-indicated search location "XX Center" during operation (such as in...). Figure 8D After entering the text "XX Center" in the search box 805 of the user interface 33 shown, the following will be displayed: Figure 8E The exemplary user interface 34 is used to display the search page of the XX center.

[0358] In other embodiments, after detecting a user-instructed action such as tapping the phone on window 803, the phone can display an action on user interface 31. Figure 8F The example shown is window 806, which is used to indicate a user instruction to open the XX Maps application on the mobile phone.

[0359] Therefore, even when the XX Maps app is not installed on the phone's home screen, the phone can download and install the XX Maps app (e.g., ...). Figure 3A The icon of the XX map application in the user interface 11 shown. Figure 4B The icon of the XX Maps application in the user interface 21 shown indicates that the phone will launch the XX Maps application. When the XX Maps application is already installed on the phone's main screen, the phone will launch the XX Maps application.

[0360] After the XX Maps application is launched, the phone can display... Figure 8G The exemplary user interface 35 is used to display the main page of the XX Map application (i.e., to launch the meta-capability C1). The user interface 35 may include a search box 807, which is used to search for a location such as a hotel, residence, school, or hospital.

[0361] When the phone detects the user-indicated search location "XX Center" (e.g., in...), Figure 8G After entering the text "XX Center" in the search box 807 of the user interface 35 shown, the following will be displayed: Figure 8H The exemplary user interface 36 is used to display the search page of the XX center.

[0362] It should be noted that, in addition to Figure 8B In addition to selecting an electronic device in the window 803 shown, the user can also... Figure 8B In window 803, multiple electronic devices can be selected so that all electronic devices can open the main page of the XX Map application, effectively meeting the user's actual needs.

[0363] For example, after the mobile phone detects a user-instructed action such as clicking on the phone or tablet in window 803, it can display on user interface 31. Figure 8I The exemplary window 808 is used to indicate a user instruction to open the XX Maps application on a mobile phone or tablet.

[0364] In addition, users can also Figure 8C The window shown is 804 or Figure 8F Switching electronic devices in window 806 allows the switched electronic device to open the main page of the XX Map application (i.e., launch meta-capability C1), which improves the user experience.

[0365] In summary, when mobile phones, tablets, TVs, and watches in the same distributed network all have the ability to install the same meta-capability, the mobile phone can trigger a system service in the phone through another meta-capability. This can control at least one electronic device in the mobile phone, tablet, TV, and watch to start the same meta-capability, which helps to meet the actual needs of users and improve the user experience.

[0366] Specifically, if at least one of the following electronic devices—a mobile phone, tablet, television, and watch—has the same metadata capability installed, the mobile phone can control that at least one electronic device to directly activate the same metadata capability. If at least one of the following electronic devices—a mobile phone, tablet, television, and watch—has not installed the same metadata capability, the mobile phone can control that at least one electronic device to first download and install the same metadata capability, and then activate the same metadata capability.

[0367] based on Figures 8A-8I The embodiments described herein address a common meta-capability that can be installed on various electronic devices within the same distributed network. One electronic device triggers a system service within that device through another meta-capability. Based on user preference or actual circumstances, one or more electronic devices can be flexibly selected from those in the same distributed network, and the selected devices can be controlled to activate the same meta-capability. This allows users to control other electronic devices using a single device to achieve the function corresponding to the same meta-capability, thus better meeting user needs and improving the user experience. This application does not limit whether the various electronic devices in the same distributed network have the other meta-capability installed.

[0368] Please see Figure 9 , Figure 9 This is a schematic diagram of the various stages of an application provided in an embodiment of this application.

[0369] like Figure 9 As shown, the lifecycle of an application can include four stages: development and debugging, release and app store, cloud deployment and distribution, and client-side download and installation.

[0370] For details on the implementation process of each stage, please refer to [link / reference]. Figure 5 For a description of the embodiments, see Application C. Figure 5 The description of application B in the embodiments will not be repeated here. Additionally, during the client-side download and installation phase, Figure 9 This also includes device b 12. For details on the layered architecture of device b 12, please refer to [link / reference needed]. Figure 5 The embodiment describes the layered architecture of device a 11. Furthermore, the various electronic devices in the same distributed network include device a 11 and device b 12, and the distributed application component database in device b 12 may store configuration files of the metadata capabilities installed on device b 12.

[0371] It should be noted that the positions of device a 11 and device b 12 mentioned in this application can be interchanged.

[0372] Combination Figure 9 Assuming that device a11 has application A's meta-capability A1 installed, application A's meta-capability A1 in device a11 can request the DMS in device a11 to start application C's meta-capability C1. The DMS in device a11 can request the BMS in device a11 to query whether application C's meta-capability C1 is installed in both device a11 and device b12.

[0373] The BMS in device a 11 can determine whether device a 11 and device b 12 have the meta-capability C1 of application C installed.

[0374] 1. When there are devices in devices a11 and b12 that have installed the meta-capability C1 of application C, the BMS in device a11 can notify the DMS in device a11 of the devices that have installed the meta-capability C1 of application C.

[0375] 1.1 If the device with the application C's meta-capability C1 installed is device a11, then the DMS in device a11 can start the meta-capability C1 in device a11.

[0376] It should be noted that, in addition to the methods described above, before activating the meta-capability C1 in device a 11, the DMS in device a 11 can also display a window to request the user whether to activate meta-capability C1, for example, by displaying the identifier of device a 11. Thus, when the user determines to activate meta-capability C1 based on the user's action on this window, the DMS in device a 11 can then activate meta-capability C1. This enhances user engagement through interaction with the user.

[0377] In summary, device a 11 can start application C's meta-capability C1 by triggering the system service in device a 11 through application A's meta-capability A1.

[0378] 1.2 If the device with the application C's meta-capability C1 installed is device b 12, then the DMS in device a 11 displays a window to notify the user and request whether to activate meta-capability C1 in device b 12, for example, displaying the identifier of device b 12. Thus, when the DMS in device a 11 determines to activate meta-capability C1 in device b 12 based on the user's operation on this window, the DMS in device a 11 can notify the DMS in device b 12 to activate the application C's meta-capability C1. The DMS in device b 12 can request the BMS in device b 12 to query whether the application C's meta-capability C1 is installed on device b 12.

[0379] When the BMS in device b12 determines that the meta-capability C1 is installed in device b12, the BMS in device b12 can notify the DMS in device b12 that the meta-capability C1 has been installed in device b12. The DMS in device b12 can then activate the meta-capability C1 in device b12. The application layer in device b12 also includes application C.

[0380] When the BMS in device b12 determines that the meta-capability C1 is not installed in device b12, the BMS in device b12 can notify the DMS in device b12 that the meta-capability C1 is not installed in device b12. The DMS in device b12 then notifies the DMS in device a11 that the meta-capability C1 is not installed in device b12. The DMS in device b12 can either block the user's operation or display a window notifying the user that the meta-capability C1 of application C cannot be started. It should be noted that the above are optional operations.

[0381] In summary, device a 11 can trigger the system service in device a 11 to start the meta-capability C1 of application C in device b12 through the meta-capability A1 of application A.

[0382] 1.3 If the devices with the meta-capability C1 of application C installed include device a 11 and device b 12, then the DMS in device a 11 can select one or more devices from device a 11 and device b 12 according to a preset strategy. Alternatively, the DMS in device a 11 can display a window to notify the user, for example, displaying the identifiers of device a 11 and device b 12, so that the DMS in device a 11 can determine the one or more devices selected by the user from device a 11 and device b 12 through the user's operation on the window.

[0383] If the selected device includes device a 11, then the DMS in device a 11 has confirmed that device a 11 has the meta-capability C1 of application C installed. Therefore, the DMS in device a 11 can start the meta-capability C1 of application C.

[0384] In summary, device a 11 can start application C's meta-capability C1 by triggering the system service in device a 11 through application A's meta-capability A1.

[0385] If the selected device includes device b 12, then the DMS in device a 11 notifies the DMS in device b 12 to start the meta-capability C1 of application C. The DMS in device b 12 can request the BMS in device b 12 to query whether the meta-capability C1 of application C is installed in device b 12. For details on the implementation process, please refer to the description in "The device with the meta-capability C1 of application C installed is device b 12", which will not be elaborated here.

[0386] In summary, device a 11 can trigger the system service in device a 11 to start the meta-capability C1 of application C in device b12 through the meta-capability A1 of application A.

[0387] If the selected devices include device a 11 and device b 12, the specific implementation process of DMS in device a 11 can be found in the description of the selected devices including device a 11 and device b 12 respectively, and will not be repeated here.

[0388] In summary, device a 11 can initiate the system service in device a 11 by triggering the meta-capability A1 of application A, which in turn can start the meta-capability C1 of application C in both device a 11 and device b 12.

[0389] 2. When neither device a 11 nor device b 12 has the application C's meta-capability C1 installed, the BMS in device a 11 can obtain the CDN download address of the application C's meta-capability C1 and the device type applicable to the CDN download address of meta-capability C1 from the HAG server 20.

[0390] The CDN download addresses of the meta-capability C1 mentioned here can be one or more, and the CDN download addresses of the meta-capability C1 can be applicable to device a 11 and / or device b 12, or they can be not applicable to device a 11 and device b 12. Furthermore, this application does not limit the specific representation of the CDN download addresses of the meta-capability C1.

[0391] In addition, the number of CDN download addresses for the meta-capability C1 can be one or more. Multiple CDN download addresses can correspond to different versions of the meta-capability C1 or meta-capability C1 on different devices. Furthermore, this application does not limit the specific representation of the CDN download addresses for the meta-capability C1.

[0392] The BMS in device a11 can send the CDN download address and the device type applicable to the CDN download address for meta-capability C1 to the DMS in device a11. The DMS in device a11 determines whether the device type applicable to the CDN download address for meta-capability C1 includes the device type of device a11 and the device type of device b12.

[0393] 2.1 If the device type for the CDN download address applicable to meta-capability C1 includes device a11, then the DMS in device a11 requests the BMS in device a11 to download meta-capability C1 for application C. The BMS in device a11 downloads meta-capability C1 from CDN server 30 based on the CDN download address of meta-capability C1 and installs meta-capability C1 in device a11. The BMS in device a11 notifies the DMS in device a11 that meta-capability C1 has been installed (making the application layer in device a11 also include application C). The DMS in device a11 can then start meta-capability C1.

[0394] In summary, device a11 can start the meta-capability C1 of application C by triggering the system service in device a11 through the meta-capability A1 of application A.

[0395] 2.2 If the device type for the CDN download address applicable to meta-capability C1 includes device b 12, then the DMS in device a 11 requests the DMS in device b 12 to start meta-capability C1 for application C. This request may include the CDN download address for meta-capability C1 applicable to application C on device b 12. The DMS in device b 12 may request the BMS in device b 12 to download meta-capability C1 for application C. Based on the CDN download address applicable to meta-capability C1 for device b 12, the BMS in device b 12 may download meta-capability C1 from CDN server 30 and install meta-capability C1 on device b 12 (so that the application layer in device b 12 also includes application C). The BMS in device b 12 may notify the DMS in device b 12 that meta-capability C1 has been installed. The DMS in device b 12 can then start meta-capability C1.

[0396] In summary, device a 11 can start the meta-capability C1 of application C in device b12 by triggering the system service in device a 11 through the meta-capability A1 of application A.

[0397] 2.3 If the device types applicable to the CDN download address of meta-capability C1 include device a 11 and device b 12, the specific execution process of device a 11 can be performed based on the descriptions in “2.1” and “2.2” above, and will not be repeated here.

[0398] Additionally, the DMS in device a 11 can display a window so that the DMS in device a 11 can determine one or more devices selected by the user from device a 11 and device b 12 based on the user's operations on that window. The specific execution process of device a 11 can be based on the description in "1.3" above, and will not be elaborated here.

[0399] In summary, device a 11 can initiate the system service in device a 11 by triggering the meta-capability A1 of application A, which in turn can start the meta-capability C1 of application C in both device a 11 and device b 12.

[0400] in, Figures 8A-8I The exemplary content can be used to explain the above process.

[0401] It should be noted that, in addition to the above process, the BMS in device a 11 can also determine whether devices a 11 and b 12 in the same distributed network have the capability to install the meta-capability C1 of application C. The BMS in device a 11 then notifies the DMS in device a 11 of the determination result. The DMS in device a 11 selects one or more devices from devices a 11 and b 12 based on a preset strategy. Alternatively, the DMS in device a 11 can display a window to notify the user, so that the DMS in device a 11 can determine the one or more devices selected by the user from devices a 11 and b 12 based on the user's actions on the window. The DMS in device a 11 requests the BMS in device a 11 to query whether the selected device has the meta-capability C1 of application C installed. The BMS in device a 11 determines whether the selected device has the meta-capability C1 of application C installed. The specific implementation process can be found in the aforementioned content and will not be repeated here. Thus, the DMS in device a 11 implements the process of selecting the device to launch the meta-capability C1 of application C.

[0402] Based on the foregoing description, combined with Figures 10A-10C ,right Figures 8A-8I The implementation process of device a 11 and device b 12 in the same distributed network in this embodiment, specifically describing how device a 11 triggers the system service in device a 11 to start the meta-capability C1 of application C in device b 12 through the meta-capability A1 of application A. For device a 11, please refer to... Figures 8A-8I The description of the mobile phone in the embodiment, device b 12 can be found here. Figures 8A-8I The tablet computer in the embodiments is described in Application A. Figures 8A-8I The description of the negative one screen application in the embodiments, application C can be found here. Figures 8A-8I The description of the XX map application in the embodiment, and meta-capability A1, can be found here. Figures 8A-8I The description of meta-capability A1 in the embodiment, and meta-capability C1 can be found in [reference needed]. Figures 8A-8I Description of the meta-capability C1 in the embodiments.

[0403] Please see Figures 10A-10C , Figures 10A-10C This is a flowchart illustrating an application module startup method provided in one embodiment of this application.

[0404] like Figure 10A As shown, the specific implementation process of the application module startup method of this application may include the following steps:

[0405] S501, in response to user operation 3, application A's meta-capability A1 in device a 11 sends the packet name of application C and the meta-capability name of meta-capability C1 to the DMS in device a 11.

[0406] Operation 3 can include, but is not limited to, clicks, double-clicks, long presses, and touches. For example, operation 3 could allow the user to... Figure 8A The user-instructed operation to search the XX map application in the embodiment (such as in...) Figure 8A The search box 801 in the user interface 31 shown contains the text "XX Map". This operation 3 corresponds to the fourth operation in steps S1601 and S1801.

[0407] Furthermore, operation 3 is associated with application C's meta-capability C1. That is, meta-capability A1 can learn from operation 3 that application C's meta-capability C1 needs to be activated. Since application A pre-stores the package name of application C associated with operation 3 and the meta-capability name of application C's meta-capability C1, meta-capability A1 can learn the package name of application C and the meta-capability name of meta-capability C1. Therefore, meta-capability A1 can request the DMS in device a11 to activate application C's meta-capability C1.

[0408] In this context, the package name of application C can uniquely identify application C, and the package name of application C and the meta-capability name of meta-capability C1 can uniquely identify meta-capability C1. The package name of application C and the meta-capability name of meta-capability C1 can be represented using at least one method, such as letters, characters, or numbers. Furthermore, meta-capability A1 can send the package name of application C and the meta-capability name of meta-capability C1 in a message to the DMS in device a11. This application does not limit the specific implementation of this message. This message corresponds to the ninth message in steps S1601 and S1801. Here, application A corresponds to the fourth application in steps S1601 and S1801, meta-capability A1 corresponds to the fourth application module in steps S1601 and S1801, application C corresponds to the fifth application in steps S1601 and S1801, meta-capability C1 corresponds to the fifth application module in steps S1601 and S1801, the package name of application C corresponds to the identifier of the fifth application in step S1801, and the meta-capability name of meta-capability C1 corresponds to the module identifier of the fifth application module in step S1801.

[0409] S502, the DMS in device a11 sends the package name of application C and the meta-capability name of meta-capability C1 to the BMS in device a11. Thus, the DMS in device a11 can request the BMS in device a11 to query whether the meta-capability C1 of application C has been installed.

[0410] Specifically, the DMS in device a 11 can send the package name of application C and the meta-capability name of meta-capability C1 in a message to the BMS in device a 11. This application does not limit the specific implementation of this message. The message here corresponds to the thirteenth message in step S1802.

[0411] S503, The BMS in device a 11 determines whether each electronic device in device a 11 and device b 12 of the same distributed network (such as a network) has the application C's meta-capability C1 installed, based on the packet name of application C and the meta-capability C1's meta-capability name.

[0412] Since the BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, and since devices a11 and b12 belong to the same distributed network, the BMS in device a11 can query whether the meta-capability C1 of application C in device a11 exists in the distributed application component database of device a11 and whether the meta-capability C1 of application C in device b12 exists in the distributed application component database of device b12, thereby determining whether the meta-capability C1 of application C is installed in devices a11 and b12. If the BMS in device a11 determines that neither device a11 nor device b12 has the meta-capability C1 of application C installed, then the BMS in device a11 executes steps S504-S507; if the BMS in device a11 determines that at least one of devices a11 and b12 has the meta-capability C1 of application C installed, then the BMS in device a11 executes step S508.

[0413] If the meta-capability C1 of application C does not exist in the distributed application component database of device a 11 and the meta-capability C1 of application C in device b 12 does not exist in the distributed application component database of device b 12, the BMS in device a 11 can determine that the meta-capability C1 of application C is not installed in device a 11 and device b 12, and thus the BMS in device a 11 can execute steps S504-S507.

[0414] If the distributed application component database in device a 11 contains the meta-capability C1 of application C in device a 11, or if the distributed application component database in device b 12 contains the meta-capability C1 of application C in device b 12, or if the distributed application component database in device a 11 contains the meta-capability C1 of application C in both device a 11 and device b 12, then the BMS in device a 11 can determine that the meta-capability C1 of application C is installed in at least one electronic device in device a 11 and device b 12, and thus the BMS in device a 11 can execute step S508.

[0415] S504, the BMS in device a 11 sends the package name of application C and the meta-capability name of meta-capability C1 to the HAG server 20. Thus, the BMS in device a 11 can request the download of meta-capability C1 of application C from the HAG server 20.

[0416] In this process, the BMS in device a 11 can carry the package name of application C and the meta-capability name of meta-capability C1 in a message and send it to HAG server 20 through the channel between device a 11 and HAG server 20. This application does not limit the specific implementation of this message. This message corresponds to the tenth message in steps S1603 and S1804. Here, HAG server 20 corresponds to the first server in steps S1603 and S1804.

[0417] S505 and HAG server 20 obtain the CDN download address of the matched application C's meta-capability C1 and the device type applicable to the CDN download address of meta-capability C1 based on the package name of application C and the meta-capability C1's meta-capability name.

[0418] Since HAG server 20 pre-stores multiple hap packets and the CDN download address of the corresponding meta-capability for each hap packet, and HAG server 20 can obtain the application package name, meta-capability name, and CDN download address of meta-capability C1 for each hap packet, HAG server 20 can match the CDN download address of meta-capability C1 of application C and the device type applicable to the CDN download address of meta-capability C1 based on the package name of application C and the meta-capability name of meta-capability C1.

[0419] The CDN download address can be represented using methods such as links or address strings. The number of CDN download addresses for application C's meta-capability C1 can be one or more. The device type for each CDN download address applicable to meta-capability C1 can be represented using at least one method such as letters, characters, or numbers, for example, the device number, model number, or network number.

[0420] The device type applicable to the CDN download address for meta-capability C1 may include device a11 and / or device b12, or may not include device a11 and device b12. Additionally, the meta-capability C1 matched by HAG server 20 to the CDN download address corresponding to meta-capability C1 is typically the latest version.

[0421] S506, HAG server 20 sends the packet name of application C, the meta-capability name of meta-capability C1 (this parameter can be replaced with the predefined ACTION of the meta-capability of the application), the CDN download address of meta-capability C1, and the device type applicable to the CDN download address of meta-capability C1 to the BMS in device a 11.

[0422] In this process, the channel between HAG server 20 and device a11 can carry the package name of application C, the meta-capability name of meta-capability C1, the CDN download address of meta-capability C1, and the device type applicable to the CDN download address of meta-capability C1 in a message and send it to the BMS in device a11. This application does not limit the specific implementation of this message. This message corresponds to the eleventh message in steps S1604, S1701, and S1805.

[0423] S507, The BMS in device a11 sends the packet name of application C, the meta-capability name of meta-capability C1, the CDN download address of meta-capability C1, and the device type applicable to the CDN download address of meta-capability C1 to the DMS in device a11.

[0424] Specifically, the BMS in device a 11 can send a message to the DMS in device a 11, carrying the package name of application C, the meta-capability name of meta-capability C1, the CDN download address of meta-capability C1, and the device type applicable to the CDN download address of meta-capability C1. This application does not limit the specific implementation of this message. This message corresponds to the fourteenth message in step S1806.

[0425] It should be noted that step S509 is executed after step S507 is completed.

[0426] S508, the BMS in device a11 notifies the DMS in device a11 that the meta-capability C1 of application C has been installed and the device type of the installed meta-capability C1. This notification corresponds to the fourteenth message in step S1806.

[0427] For example, the BMS in device a11 notifies the DMS in device a11 that device a11 has installed the meta-capability C1 of application C, as well as the device type of device a11.

[0428] For example, the BMS in device a11 notifies the DMS in device a11 that device b12 has installed the meta-capability C1 of application C, as well as the device type of device b12.

[0429] For example, the BMS in device a 11 notifies the DMS in device a 11 that both device a 11 and device b 12 have installed the meta-capability C1 of application C, as well as the device type of device a 11 and the device type of device b 12.

[0430] The device type for installing the element capability C1 can be represented in at least one way, such as letters, characters, or numbers, for example, the device number or model number.

[0431] It should be noted that step S509 is executed after step S508 is completed.

[0432] S509. Based on the device type sent in step S507 or step S508, the DMS in device a11 determines the device that supports the startup meta-capability C1 in the same distributed network.

[0433] For step S507, the DMS in device a11 can identify devices that appear in both the device type of the CDN download address applicable to meta-capability C1 and the device type of the device currently in the same distributed network as device a11 as devices that support launching meta-capability C1 in the same distributed network.

[0434] For step S508, the DMS in device a 11 can identify a device that appears in both the device type for installing meta-capability C1 and the device type that is currently in the same distributed network as device a 11 as a device that supports launching meta-capability C1 in the same distributed network.

[0435] In this context, the device type currently in the same distributed network as device a 11 can be understood as different electronic devices communicating via Bluetooth, Wi-Fi, Zigbee, account sharing, or other communication methods. For example, device a 11 and device b 12 in the same distributed network environment using a Huawei account.

[0436] S510, the DMS in device a 11 will display the tag name of the device that supports the startup meta capability C1 in the same distributed network in window 2, and in response to the user's operation on window 2, determine the selected device.

[0437] In this application, the size, position, color, and other layout parameters of window 2 are not limited. Window 2 here corresponds to the second window in step S17033. Additionally, the DMS in device a 11 can also select a device from among the devices supporting the startup capability C1 in the same distributed network, without displaying window 2. The DMS in device a 11 can select based on pre-set parameters such as the priority of the device supporting the startup capability C1 in the same distributed network, the device's storage space, or the device's communication rate; this application does not limit this selection.

[0438] It should be noted that when the selected device only includes device b 12, this application can perform steps S511-S517. When the selected device only includes device a 11, this application can perform steps S518-S523. When the selected device includes both device a11 and device b 12, this application can perform steps S511-S517 and steps S518-S523 respectively.

[0439] The selected operation can be implemented by the user in step S510, or by the DMS in device a 11, or by both the user in step S510 and the DMS in device a 11. This application does not limit this.

[0440] S511, the DMS in device a 11, based on the device type sent in step S507, sends the package name of application C, the meta-capability name of meta-capability C1, the CDN download address of meta-capability C1, and the ID of device b 12 to the DMS in device b 12 when the selected device includes device b 12. Alternatively, the DMS in device a 11, based on the device type sent in step S508, sends the package name of application C, the meta-capability name of meta-capability C1, and the ID of device b 12 to the DMS in device b 12 when the selected device includes device b 12.

[0441] Specifically, the DMS in device a 11 can send a message to the DMS in device b 12 containing the package name of application C, the meta-capability name of meta-capability C1, the CDN download address of meta-capability C1, and the ID of device b 12. Alternatively, the DMS in device a 11 can send a message to the DMS in device b 12 containing the package name of application C, the meta-capability name of meta-capability C1, and the ID of device b 12. This application does not limit the specific implementation of this message. This message corresponds to the twelfth message in steps S17032, S17033, S18082, and S18083.

[0442] In addition, the ID of device b 12 can be the network identifier of device b 12 in the same distributed network.

[0443] S512, the DMS in device b 12 sends the package name of application C, the meta-capability name of meta-capability C1, and the CDN download address of meta-capability C1 to the BMS in device b 12, or sends the package name of application C and the meta-capability name of meta-capability C1 to the BMS in device b 12.

[0444] Based on the ID of device b 12, the DMS in device b 12 can determine whether the packet name of application C, the meta-capability name of meta-capability C1, and the CDN download address of meta-capability C1 sent by device a 11 have been sent to device b 12. Therefore, the DMS in device b 12 can determine the requirement to start meta-capability C1 of application C and can then execute step S512.

[0445] In this application, the DMS in device b 12 can send the package name of application C, the meta-capability name of meta-capability C1, and the CDN download address of meta-capability C1 to the BMS in device b 12 in a message, or the DMS in device b 12 can send the package name of application C and the meta-capability name of meta-capability C1 to the BMS in device b 12 in a message. The specific implementation of this message is not limited in this application.

[0446] S513, The BMS in device b 12 determines whether the meta-capability C1 of application C is installed in device b 12 based on the package name of application C and the meta-capability name of meta-capability C1.

[0447] Since the BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, the BMS in device b 12 can query the distributed application component database in device b 12 to see if the meta-capability C1 of application C exists, thereby determining whether the meta-capability C1 of application C is installed in device b 12.

[0448] If the meta-capability C1 of application C does not exist in the distributed application component database of device b 12, the BMS in device b 12 can determine that the meta-capability C1 of application C is not installed in device b 12. Therefore, the BMS in device b 12 can execute steps S514-S517 based on the received information from the BMS in device b 12 or based on the CDN download address of the meta-capability C1 obtained from HAG server 20. If the meta-capability C1 of application C exists in the distributed application component database of device b 12, the BMS in device b 12 can determine that the meta-capability C1 of application C is installed in device b 12. Therefore, the BMS in device b 12 can execute steps S516-S517.

[0449] It should be noted that, in addition to the method described above for determining whether application C's meta-capability C1 is installed in device b 12, the BMS in device b 12 can also determine that application C's meta-capability C1 is not installed in device b 12 when it receives the CDN download address of meta-capability C1 sent by the DMS in device b 12. Therefore, the BMS in device b 12 executes steps S514-S517 based on the received information from the BMS in device b 12.

[0450] S514, the BMS in device b 12 downloads the meta-capability C1 of application C from CDN server 30 based on the package name of application C, the meta-capability name of meta-capability C1, and the CDN download address of meta-capability C1.

[0451] S515, the meta-capability C1 of BMS installation application C in device b 12.

[0452] S516, The BMS in device b 12 notifies the DMS in device b 12 that the meta-capability C1 of application C has been installed.

[0453] S517, the meta-capability C1 (i.e. explicit startup) of the DMS startup application C in device b 12.

[0454] In summary, based on the foregoing description, device a 11 can trigger system services in device a 11 through the meta-capability A1 of application A, and start the meta-capability C1 of application C in device b 12 based on the package name of application C and the meta-capability name of meta-capability C1.

[0455] S518. When the selected device includes device a 11, the DMS in device a 11 determines whether the meta-capability C1 of application C is installed in device a 11 based on the package name of application C and the meta-capability name of meta-capability C1.

[0456] Since the BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, the DMS in device a 11 can query the distributed application component database in device a 11 through the BMS in device a 11 to determine whether the meta-capability C1 of application C exists in device a 11.

[0457] When the metadata capability C1 of application C does not exist in the distributed application component database of device a 11, the DMS in device a 11 can determine that the metadata capability C1 of application C is not installed in device a 11, and thus the DMS in device a 11 can execute steps S519-S523; when the metadata capability C1 of application C exists in the distributed application component database of device a 11, the DMS in device a 11 can determine that the metadata capability C1 of application C is installed in device a 11, and thus the DMS in device a 11 can execute step S523.

[0458] S519, the DMS in device a11 requests the BMS in device a11 to download the meta-capability C1 of application C. This request corresponds to the fifteenth message in steps S18081 and S18083.

[0459] In step S520, the BMS in device a11 downloads the meta-capability C1 of application C from CDN server 30 based on the package name of application C, the meta-capability name of meta-capability C1, and the CDN download address of meta-capability C1. Here, CDN server 30 corresponds to the second server in step S1731.

[0460] S521, the meta-capability C1 of BMS installation application C in device a 11.

[0461] S522, the BMS in device a11 notifies the DMS in device a11 that the meta-capability C1 of application C has been installed. This request corresponds to the sixteenth message in steps S18081 and S18083.

[0462] S523, the meta-capability C1 (i.e. explicit startup) of the DMS startup application C in device a 11.

[0463] In summary, based on the foregoing description, device a 11 can trigger system services in device a 11 through the meta-capability A1 of application A, and start the meta-capability C1 of application C in device a 11 based on the package name of application C and the meta-capability name of meta-capability C1.

[0464] like Figure 10B As shown, the specific implementation process of the application module startup method of this application may include the following steps:

[0465] S601, in response to user operation 3, application A's meta-capability A1 in device a 11 sends the packet name of application C and the predefined ACTION 2 of meta-capability C1 to the DMS in device a 11.

[0466] Operation 3 can include, but is not limited to, clicks, double-clicks, long presses, and touches. For example, operation 3 could allow the user to... Figure 8A The user-instructed operation to search the XX map application in the embodiment (such as in...) Figure 8A The search box 801 in the user interface 31 shown contains the text "XX Map". This operation 3 corresponds to the fourth operation in steps S1601 and S1901.

[0467] Furthermore, operation 3 is associated with application C's meta-capability C1. That is, meta-capability A1 can learn from operation 3 that application C's meta-capability C1 needs to be activated. Since application A pre-stores the package name of application C associated with operation 3 and the predefined ACTION2 of application C's meta-capability C1, meta-capability A1 can learn the package name of application C and the predefined ACTION2 of meta-capability C1. Therefore, meta-capability A1 can request the DMS in device a11 to activate application C's meta-capability C1.

[0468] In this context, the package name of application C uniquely identifies application C, and the predefined ACTION2 of meta-capability C1 uniquely identifies meta-capability C1. The package name of application C and the predefined ACTION2 of meta-capability C1 can be represented using at least one method, such as letters, characters, or numbers. Furthermore, meta-capability A1 can send the package name of application C and the predefined ACTION2 of meta-capability C1 in a message to the DMS in device a11. This application does not limit the specific implementation of this message. This message corresponds to the ninth message in steps S1601 and S1901. Here, application A corresponds to the fourth application in steps S1601 and S1901, meta-capability A1 corresponds to the fourth application module in steps S1601 and S1901, application C corresponds to the fifth application in steps S1601 and S1901, meta-capability C1 corresponds to the fifth application module in steps S1601 and S1901, the package name of application C corresponds to the identifier of the fifth application in step S1901, and the predefined ACTION2 of meta-capability C1 corresponds to the identifier of the type of the fifth application module in step S1901.

[0469] S602, the DMS in device a11 sends the package name of application C and the predefined ACTION2 of meta-capability C1 to the BMS in device a11. Thus, the DMS in device a11 can request the BMS in device a11 to query whether the meta-capability C1 of application C has been installed.

[0470] Specifically, the DMS in device a 11 can send the package name of application C and the predefined ACTION2 of meta-capability C1 to the BMS in device a 11 in a message. This application does not limit the specific implementation of this message. The message here corresponds to the thirteenth message in step S1902.

[0471] S603, the BMS in device a 11 determines, based on the package name of application C and the predefined ACTION2 of meta-capability C1, whether each electronic device in device a 11 and device b 12 in the same distributed network has the meta-capability C1 of application C installed.

[0472] Since the BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, and since devices a11 and b12 belong to the same distributed network, the BMS in device a11 can query whether the meta-capability C1 of application C in device a11 exists in the distributed application component database of device a11 and whether the meta-capability C1 of application C in device b12 exists in the distributed application component database of device b12, thereby determining whether the meta-capability C1 of application C is installed in devices a11 and b12.

[0473] If the BMS in device a 11 determines that neither device a 11 nor device b 12 has the meta-capability C1 of application C installed, then the BMS in device a 11 executes steps S604-S607. If the BMS in device a 11 determines that at least one of device a 11 and device b 12 has the meta-capability C1 of application C installed, then the BMS in device a 11 executes step S608.

[0474] The specific implementation process of the BMS judgment strategy in device a 11 can be found in the description of step S503, which will not be repeated here.

[0475] S604, the BMS in device a 11 sends the package name of application C and the predefined ACTION2 of meta-capability C1 to the HAG server 20. Thus, the BMS in device a 11 can request the download of meta-capability C1 of application C from the HAG server 20.

[0476] In this process, the BMS in device a 11 can carry the package name of application C and the predefined ACTION2 of meta-capability C1 in a message, and send it to HAG server 20 through the channel between device a 11 and HAG server 20. This application does not limit the specific implementation of this message. This message corresponds to the tenth message in steps S1603 and S1904. Here, HAG server 20 corresponds to the first server in steps S1603 and S1904.

[0477] S605 and HAG server 20 obtain the CDN download address of the matched application C's meta-capability C1 and the device type applicable to the CDN download address of meta-capability C1 based on the package name of application C and the predefined ACTION2 of meta-capability C1.

[0478] Since HAG server 20 pre-stores multiple hap packets and the CDN download address of the corresponding meta-capability for each hap packet, and HAG server 20 can obtain the application package name, meta-capability name, predefined ACTION, and applicable device type for each hap packet, HAG server 20 can match the CDN download address of meta-capability C1 of application C and the device type applicable to the CDN download address of meta-capability C1 based on the package name of application C and the predefined ACTION2 of meta-capability C1.

[0479] The specific implementation method of the CDN download address can be found in the description in step S505, which will not be repeated here.

[0480] S606, HAG server 20 sends the package name of application C, the predefined ACTION2 of meta-capability C1, the CDN download address of meta-capability C1, and the device type applicable to the CDN download address of meta-capability C1 to the BMS in device a 11.

[0481] In this context, the channel between HAG server 20 and device a11 can send a message to the BMS in device a11, carrying the package name of application C, the predefined ACTION2 of meta-capability C1, the CDN download address of meta-capability C1, and the device type applicable to the CDN download address of meta-capability C1. This application does not limit the specific implementation of this message. This message corresponds to the eleventh message in steps S1604, S1701, and S1905.

[0482] S607, The BMS in device a11 sends the packet name of application C, the predefined ACTION2 of meta-capability C1, the CDN download address of meta-capability C1, and the device type applicable to the CDN download address of meta-capability C1 to the DMS in device a11.

[0483] Specifically, the BMS in device a11 can send a message to the DMS in device a11, carrying the package name of application C, the predefined ACTION2 of meta-capability C1, the CDN download address of meta-capability C1, and the device type applicable to the CDN download address of meta-capability C1. This application does not limit the specific implementation of this message. This message corresponds to the fourteenth message in step S1906.

[0484] It should be noted that step S609 is executed after step S607 is completed.

[0485] S608, the BMS in device a 11 notifies the DMS in device a 11 that the meta-capability C1 of application C has been installed and the device type of the installed meta-capability C1.

[0486] The specific implementation process of step S608 can be found in the description of step S508, and will not be repeated here. This notification corresponds to the fourteenth message in step S1906.

[0487] It should be noted that step S609 is executed after step S608 is completed.

[0488] S609. Based on the device type sent in step S607 or step S608, the DMS in device a11 determines the device that supports startup capability C1 in the same distributed network.

[0489] For step S607, the DMS in device a11 can identify devices that appear in both the device type of the CDN download address applicable to meta-capability C1 and the device type of the device currently in the same distributed network as device a11 as devices that support launching meta-capability C1 in the same distributed network.

[0490] For step S608, the DMS in device a 11 can identify a device that appears in both the device type for installing meta-capability C1 and the device type that is currently in the same distributed network as device a 11 as a device that supports the startup meta-capability C1 in the same distributed network.

[0491] In this context, the device type currently in the same distributed network as device a 11 can be understood as different electronic devices communicating via Bluetooth, Wi-Fi, Zigbee, account sharing, or other communication methods. For example, devices a 11 and b 12 are distributedly networked in the same Wi-Fi network environment using a Huawei account.

[0492] S610, the DMS in device a 11 will display the tag name of the device that supports the startup meta capability C1 in the same distributed network in window 3, and in response to the user's operation on window 3, determine the selected device.

[0493] In this application, the size, position, color, and other layout parameters of window 3 are not limited. Window 3 here corresponds to the second window in step S17033. Additionally, the DMS in device a 11 can also select a device from among the devices supporting the boot meta capability C1 in the same distributed network, without displaying window 3. The DMS in device a 11 can select based on pre-set parameters such as the priority of the device supporting the boot meta capability C1 in the same distributed network, the device's storage space, or the device's communication rate; this application does not limit this selection.

[0494] It should be noted that when the selected device only includes device b 12, this application can perform steps S611-S617. When the selected device only includes device a 11, this application can perform steps S618-S623. When the selected device includes both device a11 and device b 12, this application can perform steps S611-S617 and steps S618-S623 respectively.

[0495] The selected operation can be implemented by the user in step S610, by the DMS in device a 11, or by both the user in step S610 and the DMS in device a 11. This application does not limit this.

[0496] S611, the DMS in device a 11, based on the device type sent in step S607, sends the package name of application C, the predefined ACTION2 of meta-capability C1, the CDN download address of meta-capability C1, and the ID of device b 12 to the DMS in device b 12 when the selected device includes device b 12. Alternatively, the DMS in device a 11, based on the device type sent in step S608, sends the package name of application C, the predefined ACTION2 of meta-capability C1, and the ID of device b 12 to the DMS in device b 12 when the selected device includes device b 12.

[0497] Specifically, the DMS in device a 11 can send a message to the DMS in device b 12 containing the package name of application C, the predefined ACTION2 of meta-capability C1, the CDN download address of meta-capability C1, and the ID of device b 12. Alternatively, the DMS in device a 11 can send a message to the DMS in device b 12 containing the package name of application C, the predefined ACTION2 of meta-capability C1, and the ID of device b 12. This application does not limit the specific implementation of this message. This message corresponds to the twelfth message in steps S17032, S17033, S19082, and S19083.

[0498] In addition, the ID of device b 12 can be the network identifier of device b 12 in the same distributed network.

[0499] S612, the DMS in device b 12 sends the package name of application C, the predefined ACTION2 of meta-capability C1, and the CDN download address of meta-capability C1 to the BMS in device b 12, or sends the package name of application C and the predefined ACTION2 of meta-capability C1 to the BMS in device b 12.

[0500] Based on the ID of device b 12, the DMS in device b 12 can determine whether the packet name of application C sent by device a 11, the predefined ACTION2 of meta-capability C1, and the CDN download address of meta-capability C1 have been sent to device b 12. Therefore, the DMS in device b 12 can determine the requirement to start meta-capability C1 of application C and can then execute step S612.

[0501] In this application, the DMS in device b 12 can send the package name of application C, the predefined ACTION2 of meta-capability C1, and the CDN download address of meta-capability C1 to the BMS in device b 12 in a message, or the DMS in device b 12 can send the package name of application C and the predefined ACTION2 of meta-capability C1 to the BMS in device b 12 in a message. The specific implementation of this message is not limited in this application.

[0502] S613, The BMS in device b 12 determines whether the meta-capability C1 of application C is installed in device b 12 based on the package name of application C and the predefined ACTION2 of meta-capability C1.

[0503] Since the BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, the BMS in device b 12 can query the distributed application component database in device b 12 to see if the meta-capability C1 of application C exists, thereby determining whether the meta-capability C1 of application C is installed in device b 12.

[0504] When the meta-capability C1 of application C does not exist in the distributed application component database of device b 12, the BMS in device b 12 can determine that the meta-capability C1 of application C is not installed in device b 12. Therefore, the BMS in device b 12 can execute steps S614-S617 based on the received information from the BMS in device b 12 or based on the CDN download address of the meta-capability C1 obtained from HAG server 20. When the meta-capability C1 of application C exists in the distributed application component database of device b 12, the BMS in device b 12 can determine that the meta-capability C1 of application C is installed in device b 12. Therefore, the BMS in device b 12 can execute steps S616-S617.

[0505] It should be noted that, in addition to the method described above for determining whether application C's meta-capability C1 is installed in device b 12, the BMS in device b 12 can also determine that application C's meta-capability C1 is not installed in device b 12 when it receives the CDN download address of meta-capability C1 sent by the DMS in device b 12. Therefore, the BMS in device b 12 executes steps S614-S617 based on the received information from the BMS in device b 12.

[0506] S614, the BMS in device b 12 downloads the meta-capability C1 of application C from CDN server 30 based on the package name of application C, the predefined ACTION2 of meta-capability C1, and the CDN download address of meta-capability C1.

[0507] S615, the meta-capability C1 of BMS installation application C in device b 12.

[0508] S616, The BMS in device b 12 notifies the DMS in device b 12 that the meta-capability C1 of application C has been installed.

[0509] S617, the meta-capability C1 (i.e., semi-implicit startup) of DMS startup application C in device b 12.

[0510] In summary, based on the foregoing description, device a 11 can trigger system services in device a 11 through the meta-capability A1 of application A, and start the meta-capability C1 of application C in device b 12 based on the package name of application C and the predefined ACTION2 of meta-capability C1. This fully considers that third-party application vendors usually do not provide the meta-capability name of meta-capability C1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability C1.

[0511] S618, when the selected device includes device a 11, the DMS in device a 11 determines whether the meta-capability C1 of application C is installed in device a 11 based on the package name of application C and the predefined ACTION2 of meta-capability C1.

[0512] Since the BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, the DMS in device a 11 can query the distributed application component database in device a 11 through the BMS in device a 11 to determine whether the meta-capability C1 of application C exists in device a 11.

[0513] If the meta-capability C1 of application C does not exist in the distributed application component database of device a 11, the DMS in device a 11 can determine that the meta-capability C1 of application C is not installed in device a 11, and thus the DMS in device a 11 can execute steps S619-S623; if the meta-capability C1 of application C exists in the distributed application component database of device a 11, the DMS in device a 11 can determine that the meta-capability C1 of application C is installed in device a 11, and thus the DMS in device a 11 can execute step S623.

[0514] S619, the DMS in device a11 requests the BMS in device a11 to download the meta-capability C1 of application C. This request corresponds to the fifteenth message in steps S19081 and S19083.

[0515] In step S620, the BMS in device a11 downloads the meta-capability C1 of application C from CDN server 30 based on the package name of application C, the predefined ACTION2 of meta-capability C1, and the CDN download address of meta-capability C1. Here, CDN server 30 corresponds to the second server in step S1731.

[0516] S621, the meta-capability C1 of BMS installation application C in device a 11.

[0517] S622, the BMS in device a11 notifies the DMS in device a11 that the meta-capability C1 of application C has been installed. This request corresponds to the sixteenth message in steps S19081 and S19083.

[0518] S623, the meta-capability C1 (i.e., semi-implicit startup) of the DMS startup application C in device a 11.

[0519] In summary, based on the foregoing description, device a 11 can trigger system services in device a 11 through the meta-capability A1 of application A. Based on the package name of application C and the predefined ACTION2 of meta-capability C1, the meta-capability C1 of application C in device a 11 is started. This fully considers that third-party application vendors usually do not provide the meta-capability name of meta-capability C1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability C1.

[0520] like Figure 10C As shown, the specific implementation process of the application module startup method of this application may include the following steps:

[0521] S701, in response to user operation 3, application A's meta-capability A1 in device a 11 sends a predefined ACTION 2 to the DMS in device a 11.

[0522] Operation 3 can include, but is not limited to, clicks, double-clicks, long presses, and touches. For example, operation 3 could allow the user to... Figure 8A The user-instructed operation to search the XX map application in the embodiment (such as in...) Figure 8A The search box 801 in the user interface 31 shown contains the text "XX Map". This operation 3 corresponds to the fourth operation in steps S1601 and S2001.

[0523] Furthermore, operation 3 is associated with the meta-capability corresponding to predefined ACTION2. That is, meta-capability A1 can learn from operation 3 that the meta-capability corresponding to predefined ACTION2 needs to be activated. Since application A pre-stores the predefined ACTION2 of meta-capability C1 associated with operation 3, meta-capability A1 can learn about the meta-capability corresponding to predefined ACTION2. Therefore, meta-capability A1 can request the activation of the meta-capability corresponding to predefined ACTION2 from the DMS in device a 11.

[0524] The predefined ACTION2 can identify meta-capabilities with the same function. The predefined ACTION2 can be represented using at least one method, such as letters, characters, or numbers. Additionally, meta-capability A1 can carry the predefined ACTION2 in a message and send it to the DMS in device a11. This application does not limit the specific implementation of this message. The message here corresponds to the ninth message in steps S1601 and S2001. Application A here corresponds to the fourth application in steps S1601 and S2001, meta-capability A1 corresponds to the fourth application module in steps S1601 and S2001, application C corresponds to the fifth application in steps S1601 and S2001, meta-capability C1 corresponds to the fifth application module in steps S1601 and S2001, and the predefined ACTION2 corresponds to the identifier of the type of the fifth application module in step S2001.

[0525] S702, the DMS in device a 11 sends a predefined ACTION2 to the BMS in device a 11. Thus, the DMS in device a 11 can request the BMS in device a 11 to query whether the meta-capability corresponding to the predefined ACTION2 has been installed.

[0526] Specifically, the DMS in device a 11 can send the predefined ACTION2 in a message to the BMS in device a 11. This application does not limit the specific implementation of this message. The message here corresponds to the thirteenth message in step S2002.

[0527] S703, the BMS in device a 11 determines, based on the predefined ACTION2, whether each electronic device in device a 11 and device b 12 in the same distributed network has the meta-capability corresponding to the predefined ACTION2 installed.

[0528] Since the BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, and since devices a11 and b12 belong to the same distributed network, the BMS in device a11 can query whether the meta-capability corresponding to the predefined ACTION2 in device a11 exists in the distributed application component database of device a11 and whether the meta-capability corresponding to the predefined ACTION2 in device b12 exists in the distributed application component database of device b12, thereby determining whether the meta-capability corresponding to the predefined ACTION2 is installed in devices a11 and b12.

[0529] If the BMS in device a 11 determines that neither device a 11 nor device b 12 has the meta-capability C1 of application C installed, then the BMS in device a 11 executes steps S704-S707. If the BMS in device a 11 determines that at least one of device a 11 and device b 12 has the meta-capability C1 of application C installed, then the BMS in device a 11 executes step S708.

[0530] The specific implementation process of the BMS judgment strategy in device a 11 can be found in the description of step S503, which will not be repeated here.

[0531] S704, the BMS in device a 11 sends a predefined ACTION2 to the HAG server 20. Thus, the BMS in device a 11 can request the HAG server 20 to download the meta-capabilities corresponding to the predefined ACTION2 for device a 11 and / or device b 12.

[0532] In this application, the BMS in device a11 can carry a predefined ACTION2 in a message and send it to HAG server 20 through the channel between device a11 and HAG server 20. The specific implementation of this message is not limited in this application. This message corresponds to the tenth message in steps S1603 and S2004. Here, HAG server 20 corresponds to the first server in steps S1603 and S2004.

[0533] S705 and HAG server 20 obtain the matched meta-capability set 2 based on predefined ACTION2. Each subset in meta-capability set 2 carries the application name of an application, the meta-capability name of the application's meta-capability (this parameter can be replaced with the predefined ACTION of the application's meta-capability), the CDN download address of the meta-capability, and the device type applicable to the CDN download address of the meta-capability.

[0534] Since HAG server 20 pre-stores multiple hap packages and the CDN download addresses of the corresponding meta-capabilities for each hap package, and HAG server 20 can obtain the application package name, meta-capability name, predefined ACTION, and device type of the CDN download address applicable to the meta-capability for each hap package, and HAG server 20 also pre-stores the device types supported by the meta-capabilities (i.e., the device types on which each meta-capability can be installed), HAG server 20, based on the CDN download address corresponding to the meta-capability with the same function as the predefined ACTION2 identifier, and the device type of the CDN download address applicable to the meta-capability, performs a download based on these parameters. Here, meta-capability set 2 corresponds to the second set in step S2005.

[0535] Therefore, HAG server 20 obtains meta-capability set 2 based on the package name of the application corresponding to the matched meta-capability, the meta-capability name of the matched meta-capability, the CDN download address of the matched meta-capability, and the device type applicable to the matched meta-capability.

[0536] The specific implementation of the CDN download address can be found in step S505, and will not be repeated here. The meta-capability set 2 may include one or more subsets.

[0537] S706, HAG server 20 sends meta-capability set 2 to BMS in device a 11.

[0538] In this application, the HAG server 20, through the channel between device a 11 and the HAG server 20, can send the meta-capability set 2 in a message to the BMS in device a 11. The specific implementation of this message is not limited in this application. This message corresponds to the eleventh message in steps S1604, S1701, and S2005. The meta-capability set 2 here corresponds to the second set in step S2005.

[0539] S707, The BMS in device a11 sends the meta-capability set 2 to the DMS in device a11.

[0540] Specifically, the BMS in device a 11 can send the meta-capability set 2 in a message to the DMS in device a 11. This application does not limit the specific implementation of this message. This message corresponds to the fourteenth message in step S2006. The meta-capability set 2 here corresponds to the second set in step S2006.

[0541] It should be noted that step S709 is executed after step S707 is completed.

[0542] S708, the BMS in device a11 notifies the DMS in device a11 that the meta-capability corresponding to predefined ACTION2 has been installed and the device type for which the meta-capability corresponding to predefined ACTION2 has been installed. This notification corresponds to the fourteenth message in step S2006.

[0543] For example, the BMS in device a 11 notifies the DMS in device a 11 that device a 11 has installed the meta-capabilities corresponding to predefined ACTION2, as well as the device type of device a 11.

[0544] For example, the BMS in device a 11 notifies the DMS in device a 11 that device b 12 has installed the meta-capabilities corresponding to predefined ACTION2, as well as the device type of device b 12.

[0545] For example, the BMS in device a 11 notifies the DMS in device a 11 that both device a 11 and device b 12 have installed the meta-capabilities corresponding to the predefined ACTION2, as well as the device types of device a 11 and device b 12.

[0546] The device type for installing the predefined ACTION2 corresponding meta-capabilities can be represented in at least one way, such as letters, characters, or numbers, for example, the device number or model.

[0547] It should be noted that step S709 is executed after step S708 is completed.

[0548] S709, the DMS in device a11 determines the device that supports the activation of the predefined ACTION2 corresponding meta-capability in the same distributed network based on the device type of the meta-capability sent in step S707 or step S708.

[0549] Regarding step S707, the DMS in device a 11 can identify devices that appear in both the CDN download address applicable to the meta-capability corresponding to the predefined ACTION2 and the device type currently in the same distributed network as device a 11 as devices that support launching the meta-capability corresponding to the predefined ACTION2 in the same distributed network.

[0550] Regarding step S708, the DMS in device a 11 can identify devices that appear in both the CDN download address for installing the predefined ACTION2 and the device type currently in the same network as device a 11 as devices that support starting the predefined ACTION2 corresponding meta-capabilities in the same distributed network.

[0551] In this context, the device type currently in the same distributed network as device a 11 can be understood as different electronic devices communicating via Bluetooth, Wi-Fi, Zigbee, account sharing, or other communication methods. For example, devices a 11 and b 12 are distributedly networked in the same Wi-Fi network environment using a Huawei account.

[0552] In S710, the DMS in device a 11 will display the tag name of the device that supports the start of the predefined ACTION2 corresponding meta-capability in the same distributed network in window 4, and in response to the user's operation on window 4, determine the meta-capability of the selected application and the selected device.

[0553] In this application, the size, position, color, and other layout parameters of window 4 are not limited. Window 4 here corresponds to the second window in step S17033. Additionally, the DMS in device a 11 can also select a device from among the devices in the same distributed network that support the meta-capabilities corresponding to the predefined ACTION2, without displaying window 4. The DMS in device a 11 can select based on parameters such as the pre-set priority, storage space, or communication rate of the devices supporting the meta-capabilities corresponding to the predefined ACTION2 in the same distributed network; this application does not limit this selection.

[0554] The selected application's meta-capabilities include application C's meta-capability C1, and the selected devices may include device a 11 and device b 12. For ease of explanation, the selected application's meta-capabilities mentioned here refer to application C's meta-capability C1.

[0555] It should be noted that when the selected device only includes device b 12, this application can perform steps S711-S717. When the selected device only includes device a 11, this application can perform steps S718-S723. When the selected device includes both device a11 and device b 12, this application can perform steps S711-S717 and steps S718-S723 respectively.

[0556] The selected operation can be implemented by the user in step S710, or by the DMS in device a 11, or by both the user in step S710 and the DMS in device a 11. This application does not limit this.

[0557] S711, based on the device type sent in step S707, if the selected device includes device b12, the DMS in device a11 sends the package name of the selected application, the predefined ACTION2 of the selected meta-capability, the CDN download address of the selected meta-capability, and the ID of device b12 to the DMS in device b12. Alternatively, based on the device type sent in step S708, if the selected device includes device b12, the DMS in device a11 sends the package name of the selected application, the predefined ACTION2 of the selected meta-capability, and the ID of device b12 to the DMS in device b12.

[0558] Specifically, the DMS in device a 11 can send a message to the DMS in device b 12 containing the package name of the selected application, the predefined ACTION2 of the selected meta-capability (this parameter can be replaced with the meta-capability name of the application's meta-capability), the CDN download address of the selected meta-capability, and the ID of device b 12. Alternatively, the DMS in device a 11 can send a message to the DMS in device b 12 containing the package name of the selected application, the predefined ACTION2 of the selected meta-capability (this parameter can be replaced with the meta-capability name of the application's meta-capability), and the ID of device b 12. This application does not limit the specific implementation of this message. This message corresponds to the twelfth message in steps S17032, S17033, S20082, and S20083.

[0559] In addition, the ID of device b 12 can be the network identifier of device b 12 in the same distributed network.

[0560] S712, the DMS in device b 12 sends the package name of the selected application, the predefined ACTION2 of the selected meta-capability, and the CDN download address of the selected meta-capability to the BMS in device b 12, or sends the package name of the selected application and the predefined ACTION2 of the selected meta-capability to the BMS in device b 12.

[0561] Based on the ID of device b 12, the DMS in device b 12 can determine whether the packet name of the selected application, the predefined ACTION2 of the selected meta-capability, and the CDN download address of the selected meta-capability sent by device a 11 have been sent to device b 12. Therefore, the DMS in device b 12 can determine the meta-capability of the selected application that needs to be activated, and can then execute step S712.

[0562] In this application, the DMS in device b 12 can send the package name of the selected application, the predefined ACTION2 of the selected meta-capability, and the CDN download address of the selected meta-capability to the BMS in device b 12 in a message, or the DMS in device b 12 can send the package name of the selected application and the predefined ACTION2 of the selected meta-capability to the BMS in device b 12 in a message. The specific implementation of this message is not limited in this application.

[0563] S713, the BMS in device b 12 determines whether the meta-capabilities of the selected application are installed in device b 12 based on the package name of the selected application and the predefined ACTION2 of the selected meta-capabilities.

[0564] Since the BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, the BMS in device b 12 can query the distributed application component database in device b 12 to see if the meta-capability of the selected application exists, thereby determining whether the meta-capability of the selected application is installed in device b 12.

[0565] If the selected application's metadata capability is not present in the distributed application component database of device b 12, the BMS in device b 12 can determine that the selected application's metadata capability is not installed in device b 12. Therefore, the BMS in device b 12 can execute steps S714-S717 based on the received BMS in device b 12 or based on the CDN download address of metadata capability C1 obtained from HAG server 20. If the selected application's metadata capability is present in the distributed application component database of device b 12, the BMS in device b 12 can determine that the selected application's metadata capability is installed in device b 12. Therefore, the BMS in device b 12 can execute steps S716-S717.

[0566] It should be noted that, in addition to the method described above for determining whether the meta-capability C1 of application C is installed in device b 12, the BMS in device b 12 can also determine that the selected meta-capability is not installed in device b 12 when it receives the CDN download address of the selected meta-capability sent by the DMS in device b 12. Therefore, the BMS in device b 12 executes steps S714-S717 based on the received information from the BMS in device b 12.

[0567] S714, the BMS in device b 12 downloads the meta-capabilities of the selected application from CDN server 30 based on the package name of the selected application, the predefined ACTION2 of the selected meta-capability, and the CDN download address of the selected meta-capability.

[0568] S715, the meta-capabilities of the BMS installation selected in device b 12.

[0569] S716, The BMS in device b 12 notifies the DMS in device b 12 that the meta-capabilities of the selected application have been installed.

[0570] S717, the DMS startup selection in device b 12 enables the application's meta-capability (i.e., implicit startup).

[0571] In summary, based on the foregoing description, device a 11 can trigger system services in device a 11 through the meta-capability A1 of application A, and start the meta-capability of the application corresponding to the predefined ACTION2 in device b 12 based on the predefined ACTION2. This fully considers that third-party application vendors usually do not provide the meta-capability name of meta-capability C1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability C1.

[0572] S718, when the selected device includes device a 11, the DMS in device a 11 determines whether the meta-capabilities of the selected application are installed in device a 11 based on the package name of the selected application and the predefined ACTION2 of the selected meta-capabilities.

[0573] Since the BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, the DMS in device a 11 can query the distributed application component database in device a 11 through the BMS in device a 11 to determine whether the meta-capability of the selected application is installed in device a 11.

[0574] If the selected application's metadata capability does not exist in the distributed application component database of device a11, the DMS in device a11 can determine that the selected application's metadata capability is not installed in device a11, and thus the DMS in device a11 can execute steps S719-S723; if the selected application's metadata capability exists in the distributed application component database of device a11, the DMS in device a11 can determine that the selected application's metadata capability is installed in device a11, and thus the DMS in device a11 can execute step S723.

[0575] S719, the DMS in device a11 requests the BMS in device a11 to download the metadata capabilities of the selected application. This request corresponds to the fifteenth message in steps S20081 and S20083.

[0576] In step S720, the BMS in device a11 downloads the selected application's metadata from CDN server 30 based on the selected application's package name, the predefined ACTION2 of the selected metadata, and the CDN download address of the selected metadata. Here, CDN server 30 corresponds to the second server in step S1731.

[0577] S721, the meta-capabilities of the application selected for BMS installation in device a 11.

[0578] S722, the BMS in device a11 notifies the DMS in device a11 that the meta-capabilities of the selected application have been installed. This request corresponds to the sixteenth message in steps S20081 and S20083.

[0579] S723, the DMS startup selection of the application in device a 11 has meta-capabilities (i.e., implicit startup).

[0580] In summary, based on the foregoing description, device a 11 can trigger system services in device a 11 through the meta-capability A1 of application A. Based on the predefined ACTION2, the meta-capability of the application corresponding to the predefined ACTION2 in device a 11 is started. This fully considers that third-party application vendors usually do not provide the meta-capability name of meta-capability C1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability C1.

[0581] Therefore, for electronic devices 1 and 2 in the same distributed network, electronic device 1 can query the CDN download address of the meta-capability from the HAG server using the application's package name and the meta-capability name of the application's meta-capability, or the application's package name and the predefined action of the application's meta-capability, or the predefined action. It can also control at least one of electronic devices 1 and 2 to download the meta-capability from the CDN server based on the meta-capability's CDN download address, so that the uninstalled meta-capability is automatically installed, and the user is unaware of the download process of the meta-capability. The meta-capability does not need to be downloaded when the application is first installed and can be downloaded on demand based on user needs.

[0582] Combination Figures 11A-11E This describes the specific implementation process of a meta-capability in electronic device 2 that is initiated by electronic device 1. For ease of explanation, Figures 11A-11E In this illustration, electronic device 1 is a mobile phone, and electronic device 2 is a watch. The mobile phone has application A downloaded on it; application A is a sports and health application. Both the mobile phone and the watch have the capability D1 of installing application D. Electronic devices 1 and 2 are communicatively connected. The capability A1 of application A is software code, used to trigger the launch of the capability D1 of application D. The capability D1 of application D is also software code; application D is a heart rate application, and capability D1 is used to provide the main page of the heart rate application. Furthermore, this application does not limit whether the watch has the capability D1 of application D installed.

[0583] Please see Figures 11A-11E , Figures 11A-11E This is a schematic diagram of a human-computer interaction interface provided in an embodiment of this application.

[0584] The phone can display as follows Figure 11AThe exemplary user interface 41 is used to display the main interface (Home screen) of the desktop. User interface 41 may include, but is not limited to, a status bar, navigation bar, calendar indicator, weather indicator, and multiple application icons. Application icons may also include: an icon 1101 for a fitness and health application, or icons for applications such as Huawei Video, Music, Phone Manager, Settings, XX Map, XX Travel, Smart Life, Call, SMS, Browser, and Camera.

[0585] The phone detects the user's instruction to open the fitness app (such as in...). Figure 11A After clicking the icon 1101 of the sports and health application in the user interface 41 shown, the following can be displayed: Figure 11B The exemplary user interface 42 is used to display the main page of the sports and health application.

[0586] The user interface 42 includes controls 1102 and 1103. Control 1102 is used to access the main page of the sports and health application. Control 1103 is used to access a page that stores parameters such as exercise records, body data, step count leaderboard, weekly exercise report, and shared steps.

[0587] After the phone detects a user-instructed action to check heart rate (such as clicking control 1103 on user interface 42), it can display... Figure 11C The exemplary user interface 43 is used to display a page that stores parameters such as exercise records, body data, step count leaderboards, weekly exercise reports, and shared step counts. The user interface 43 includes a control 1104, which is used to access a page that stores body data such as steps, distance, calories burned, sleep status, heart rate, stress, and blood oxygen saturation.

[0588] After the mobile phone detects a user-instructed action, such as clicking control 1104, on the user interface 43, it can display... Figure 11D The exemplary user interface 44 displays a page that stores body data such as steps, distance, energy expenditure, sleep status, heart rate, stress, and blood oxygen saturation. The user interface 44 includes a control 1105, which is used to access the main page corresponding to the watch's heart rate application.

[0589] After the phone detects a user-instructed action on user interface 44, such as clicking the watch icon in control 1105, it can control the watch to launch the main page of the heart rate application, such as when the watch displays... Figure 11EThe exemplary user interface 45 (i.e., the startup meta-capability D1) is used to display the user's heart rate for the day.

[0590] In summary, when the phone and watch can communicate and connect, the phone can activate a meta-capability of the watch, which helps meet the user's actual needs and improve the user experience.

[0591] based on Figures 11A-11E The embodiments described herein pertain to communicatively connected electronic devices 1 and 2. Electronic device 1 can, based on user intent or actual circumstances, control electronic device 2 to download and install a meta-capability, thereby activating that meta-capability. This allows the user to control other electronic devices using one electronic device to achieve the function corresponding to that meta-capability, which is beneficial for meeting the user's actual needs and improving the user experience. This application does not limit whether electronic device 2 has the meta-capability installed. Furthermore, electronic devices 1 and 2 can be pre-connected or manually connected by the user; this embodiment does not limit this approach.

[0592] Please see Figure 12 , Figure 12 This is a schematic diagram of the various stages of an application provided in an embodiment of this application.

[0593] like Figure 12 As shown, the lifecycle of an application can include four stages: development and debugging, release and app store, cloud deployment and distribution, and client-side download and installation.

[0594] For details on the implementation process of each stage, please refer to [link / reference]. Figure 5 For a description of the embodiments, please refer to Application D. Figure 5 The description of application B in the embodiments will not be repeated here. Additionally, during the client-side download and installation phase, Figure 12 This also includes device b 12. For details on the layered architecture of device b 12, please refer to [link / reference needed]. Figure 5 Description of the layered architecture of device a 11 in the embodiment.

[0595] Combination Figure 1 Assuming that device a11 has application A's meta-capability A1 installed, application A's meta-capability A1 in device a11 can call the DMS in device a11 to request the DMS in device b12 to start application D's meta-capability D1 in device b12. The DMS in device b12 then requests the BMS in device b12 to query whether application D's meta-capability D1 is installed in device b12.

[0596] When the BMS in device b12 determines that the meta-capability D1 has been installed in device b12, the BMS in device b12 can notify the DMS in device b12 that the meta-capability D1 has been installed. The DMS in device b12 can then activate the meta-capability D1. The application layer also includes application D.

[0597] If the BMS in device b12 determines that meta-capability D1 is not installed in device b12, the BMS in device b12 can obtain the CDN download address of meta-capability D1 from HAG server 20. Based on the CDN download address of meta-capability D1, the BMS in device b12 can download meta-capability D1 from CDN server 30, enabling the BMS in device b12 to install meta-capability D1 in device b12, and also enabling the application layer to include application D. The BMS in device b12 can notify the DMS in device b12 that meta-capability D1 has been installed. The DMS in device b12 can then start meta-capability D1.

[0598] in, Figures 11A-11E The exemplary content can be used to explain the above process.

[0599] In summary, device a 11 can initiate the meta-capability D1 of application D in device b 12, which is communicatively connected to device a 11, by triggering the system service in device a 11 through the meta-capability A1 of application A.

[0600] Based on the foregoing description, combined with Figures 13A-13C ,right Figures 11A-11E The implementation process of device a 11 triggering the system service in device a 11 to start the meta-capability D1 of application D in device b 12 through the meta-capability A1 of application A is described in detail in this embodiment. Device a 11 can be found in [reference needed]. Figures 11A-11E The description of the mobile phone in the embodiment, device b 12 can be found here. Figures 11A-11E For a description of the watch in the embodiments, see Application A. Figures 11A-11E The description of the sports and health application in the embodiments, application D can be found in [reference]. Figures 11A-11E The description of the heart rate application in the embodiments, see Meta-capability A1. Figures 11A-11E The description of meta-capability A1 in the embodiment, and meta-capability D1 can be found in [reference needed]. Figures 11A-11E Description of the meta-capability D1 in the embodiments.

[0601] Please see Figures 13A-13C , Figures 13A-13C This is a flowchart illustrating an application module startup method provided in one embodiment of this application.

[0602] like Figure 13A As shown, the specific implementation process of the application module startup method of this application may include the following steps:

[0603] S801, in response to user operation 4, the DMS in device a 11 sends the ID of device b 12, the packet name of application D, and the meta-capability name of meta-capability D1 to the DMS in device b 12.

[0604] Operation 4 can include, but is not limited to, clicks, double-clicks, long presses, and touches. For example, operation 4 could allow the user to... Figure 11D The user clicks on control 1105 in the embodiment.

[0605] Furthermore, operation 4 is associated with the meta-capability D1 of application D. That is, based on operation 4, the meta-capability A1 of application A can learn that device a 11 needs to activate the meta-capability D1 of application D in device b 12. Since application A pre-stores the package name of application D associated with operation 4 and the meta-capability name of application D's meta-capability D1, meta-capability A1 can learn the package name of application D and the meta-capability name of meta-capability D1. Therefore, the meta-capability A1 of application A can invoke the DMS in device a 11 to send the ID of device b 12, the package name of application D, and the meta-capability name of meta-capability D1 to the DMS in device b 12, i.e., request device b 12 to activate the meta-capability D1 of application D.

[0606] Here, the package name of application D uniquely identifies application D, and the meta-capability name of meta-capability D1 uniquely identifies meta-capability D1. The package name of application D and the meta-capability name of meta-capability D1 can be represented using at least one method, such as letters, characters, or numbers. Here, the package name of application D can correspond to the identifier of the first application program in step S1201, and the meta-capability name of meta-capability D1 can correspond to the module identifier of the first application module in step S1201.

[0607] Additionally, the DMS in device a 11 can send the ID of device b 12, the package name of application D, and the meta-capability name of meta-capability D1 to the DMS in device b 12 in a message. This application does not limit the specific implementation of this message. This message here may correspond to the first message in steps S1101 and S1201.

[0608] S802, the DMS in device b12 sends the packet name of application D and the meta-capability name of meta-capability D1 to the BMS in device b12.

[0609] Based on the ID of device b 12, the DMS in device b 12 can determine whether the packet name of application D and the meta-capability name of meta-capability D1 sent by device a 11 have been sent to device b 12. Therefore, the DMS in device b 12 can determine that the meta-capability D1 of application D needs to be started, and can then execute step S802, that is, the DMS in device b 12 can request the BMS in device b 12 to query whether the meta-capability D1 of application D has been installed.

[0610] Specifically, the DMS in device b 12 can send the package name of application D and the meta-capability name of meta-capability D1 in a message to the BMS in device b 12. This application does not limit the specific implementation of this message. This message here can correspond to the fourth message in step S1202.

[0611] S803, the BMS in device b 12 determines whether the meta-capability D1 of application D is installed in device b 12 based on the package name of application D and the meta-capability name of meta-capability D1.

[0612] Since the BMS in device b 12 can store the parsed configuration file of a meta-capability in the distributed application component database of device b 12 when installing a meta-capability, the BMS in device b 12 can query whether the meta-capability D1 of application D exists in the distributed application component database of device b 12, thereby determining whether the meta-capability D1 of application D is installed in device b 12.

[0613] If the meta-capability D1 of application D does not exist in the distributed application component database of device b 12, the BMS in device b 12 can determine that the meta-capability D1 of application D is not installed in device b 12, and thus the BMS in device b 12 can execute steps S804-S810; if the meta-capability D1 of application D exists in the distributed application component database of device b 12, the BMS in device b 12 can determine that the meta-capability D1 of application D is installed in device b 12, and thus the BMS in device b 12 can execute steps S809-S810.

[0614] S804, the BMS in device b 12 sends the ID of device b 12, the package name of application D, and the meta-capability name of meta-capability D1 to the HAG server 20. Thus, the BMS in device b 12 can obtain the ID of device b 12 through the system attributes of device b 12 and request the HAG server 20 to download the meta-capability D1 of application D for device b 12.

[0615] Specifically, the BMS in device b 12 can carry the device b 12 ID, the package name of application D, and the meta-capability name of meta-capability D1 in a message, and send it to HAG server 20 through the communication channel between device b 12 and HAG server 20. This application does not limit the specific implementation of this message. This message here can correspond to the second message in steps S1103 and S1204.

[0616] Furthermore, the ID of device b 12 is used to uniquely identify device b 12, indicating that device b 12 needs to obtain the CDN download address of meta-capability A2 from HAG server 20. Additionally, this application does not limit the specific implementation of the ID of device b 12. For example, it could be the device type of device b 12 or the fixed asset number of device b 12.

[0617] S805 and HAG server 20 obtain the CDN download address of the matched application B's meta-capability B1 based on the package name of application B and the meta-capability name of meta-capability B1.

[0618] Since HAG server 20 pre-stores multiple hap packages and the CDN download address of the corresponding meta-capability for each hap package, and HAG server 20 can obtain the application package name and meta-capability name of each hap package, HAG server 20 can match the CDN download address corresponding to the meta-capability D1 of application D based on the package name of application D and the meta-capability name of meta-capability D1.

[0619] The CDN download address can be represented using methods such as a link or an address string. Additionally, the metadata D1 corresponding to the CDN download address matched by HAG server 20 is usually the latest version.

[0620] S806, HAG server 20 sends the package name of application D, the meta-capability name of meta-capability D1, and the CDN download address of meta-capability D1 to the BMS in device b 12.

[0621] The communication channel between HAG server 20 and device b12 can send a message to the BMS in device b12, carrying the package name of application D, the meta-capability name of meta-capability D1, and the CDN download address of meta-capability D1. This application does not limit the specific implementation of this message. This message can correspond to the third message in steps S1104 and S1205. The CDN download address of meta-capability D1 can correspond to the download address of the first application module in step S1205.

[0622] In step S807, the BMS in device b12 downloads the meta-capability D1 of application D from CDN server 30 based on the package name of application D, the meta-capability name of meta-capability D1, and the CDN download address of meta-capability D1. Here, CDN server 30 corresponds to the second server in step S1206.

[0623] S808, the meta-capability D1 of BMS installation application D in device b 12.

[0624] S809, the BMS in device b12 notifies the DMS in device b12 that the meta-capability D1 of application D has been installed. This notification corresponds to the fifth message in step S1207.

[0625] S810, the DMS startup application D's meta-capability D1 (i.e. explicit startup) in device b 12 corresponds to the description of step S1208.

[0626] In summary, based on Figure 13A As described in the embodiment, device a 11 can trigger system services in device a 11 through the meta-capability A1 of application A, and start the meta-capability D1 of application D in device b 12 based on the package name of application D and the meta-capability name of meta-capability D1.

[0627] like Figure 13B As shown, the specific implementation process of the application module startup method of this application may include the following steps:

[0628] S901, in response to user operation 4, the DMS in device a 11 sends the ID of device b 12, the packet name of application D, and the predefined ACTION 3 of meta-capability D1 to the DMS in device b 12.

[0629] Operation 4 can include, but is not limited to, clicks, double-clicks, long presses, and touches. For example, operation 4 could allow the user to... Figure 11D The user clicks on control 1105 in the embodiment.

[0630] Furthermore, operation 4 is associated with application D's meta-capability D1. That is, application A's meta-capability A1, based on operation 4, can learn that device a 11 needs to activate application D's meta-capability D1 in device b 12. Since application A pre-stores the package name of application D associated with operation 4 and the predefined ACTION3 of application D's meta-capability D1, meta-capability A1 can learn the package name of application D and the predefined ACTION3 of meta-capability D1. Therefore, application A's meta-capability A1 can invoke the DMS in device a 11 to send the ID of device b 12, the package name of application D, and the predefined ACTION3 of meta-capability D1 to the DMS in device b 12, i.e., requesting device b 12 to activate application D's meta-capability D1.

[0631] Here, the package name of application D uniquely identifies application D, and the package name of application D and the predefined ACTION3 of meta-capability D1 uniquely identify meta-capability D1. The package name of application D and the package name of meta-capability D1 can be represented in at least one way, such as letters, characters, numbers, etc. Here, the package name of application D can correspond to the identifier of the first application in step S1301, and the predefined ACTION3 of meta-capability D1 can correspond to the module identifier of the first application module in step S1301.

[0632] Additionally, the DMS in device a 11 can send the ID of device b 12, the package name of application D, and the package name of application D of meta-capability D1 in a message to the DMS in device b 12. This application does not limit the specific implementation of this message. This message may correspond to the first message in steps S1101 and S1301.

[0633] S902, the DMS in device b12 sends the packet name of application D and the predefined ACTION3 of meta-capability D1 to the BMS in device b12.

[0634] Based on the ID of device b 12, the DMS in device b 12 can determine whether the packet name of application D and the predefined ACTION3 of meta-capability D1 sent by device a 11 have been sent to device b 12. Therefore, the DMS in device b 12 can determine that the meta-capability D1 of application D needs to be started, and can then execute step S902, that is, the DMS in device b 12 can request the BMS in device b 12 to query whether the meta-capability D1 of application D has been installed.

[0635] Specifically, the DMS in device b 12 can send the package name of application D and the predefined ACTION3 of meta-capability D1 in a message to the BMS in device b 12. This application does not limit the specific implementation of this message. This message here can correspond to the fourth message in step S1302.

[0636] S903, the BMS in device b 12 determines whether the meta-capability D1 of application D is installed in device b 12 based on the package name of application D and the predefined ACTION3 of meta-capability D1.

[0637] Since the BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, the BMS in device b 12 can query whether the meta-capability D1 of application D exists in the distributed application component database of device b 12, thereby determining whether the meta-capability D1 of application D is installed in device b 12.

[0638] When the meta-capability D1 of application D does not exist in the distributed application component database of device b 12, the BMS in device b 12 can determine that the meta-capability D1 of application D is not installed in device b 12, and thus the BMS in device b 12 can execute steps S904-S910; when the meta-capability D1 of application D exists in the distributed application component database of device b 12, the BMS in device b 12 can determine that the meta-capability D1 of application D is installed in device b 12, and thus the BMS in device b 12 can execute steps S909-S910.

[0639] S904, the BMS in device b 12 sends the ID of device b 12, the package name of application D, and the predefined ACTION3 of meta-capability D1 to the HAG server 20. Thus, the BMS in device b 12 can obtain the ID of device b 12 through the system attributes in device b 12 and request the HAG server 20 to download the meta-capability D1 of application D for device b 12.

[0640] Specifically, the BMS in device b 12 can carry the ID of device b 12, the package name of application D, and the predefined ACTION3 of meta-capability D1 in a message, and send it to HAG server 20 through the communication channel between device b 12 and HAG server 20. This application does not limit the specific implementation of this message. This message can correspond to the second message in steps S1103 and S1304. Furthermore, the specific implementation of the ID of device b 12 can be found in the description of step S804, and will not be repeated here.

[0641] S905 and HAG server 20 obtain the CDN download address of the matched application D's meta-capability D1 based on the package name of application D and the predefined ACTION3 of meta-capability D1.

[0642] Since HAG server 20 pre-stores multiple hap packages and the CDN download address of the corresponding meta-capability for each hap package, and HAG server 20 can obtain the application package name, meta-capability name and predefined ACTION for each hap package, HAG server 20 can match the CDN download address corresponding to the meta-capability D1 of application D based on the package name of application D and the predefined ACTION3 of meta-capability D1.

[0643] The CDN download address can be represented using methods such as a link or an address string. Additionally, the metadata D1 corresponding to the CDN download address matched by HAG server 20 is usually the latest version.

[0644] S906, HAG server 20 sends the packet name of application D, the predefined ACTION3 of meta-capability D1 (this parameter can be replaced with the meta-capability name of meta-capability D1), and the CDN download address of meta-capability D1 to the BMS in device b 12.

[0645] The communication channel between HAG server 20 and device b12 can carry the package name of application D, the predefined ACTION3 of meta-capability D1, and the CDN download address of meta-capability D1 in a message and send them to the BMS in device b12. This application does not limit the specific implementation of this message. This message can correspond to the third message in steps S1104 and S1305. The CDN download address of meta-capability D1 can correspond to the download address of the first application module in step S1305.

[0646] In step S907, the BMS in device b12 downloads the meta-capability D1 of application D from CDN server 30 based on the package name of application D, the predefined ACTION3 of meta-capability D1, and the CDN download address of meta-capability D1. Here, CDN server 30 corresponds to the second server in step S1306.

[0647] S908, the meta-capability D1 of BMS installation application D in device b 12.

[0648] S909, the BMS in device b12 notifies the DMS in device b12 that the meta-capability D1 of application D has been installed. This notification corresponds to the fifth message in step S1307.

[0649] S910, the DMS startup application D's meta-capability D1 (i.e. semi-implicit startup) in device b 12 corresponds to the description in step S1308.

[0650] In summary, based on Figure 13B As described in the embodiment, device a 11 can trigger the system service in device a 11 through the meta-capability A1 of application A. Based on the package name of application D and the predefined ACTION3 of meta-capability D1, the meta-capability D1 of application D in device b 12 is started. This fully considers that third-party application vendors usually do not provide the meta-capability name of meta-capability D1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability D1.

[0651] like Figure 13C As shown, the specific implementation process of the application module startup method of this application may include the following steps:

[0652] S1001, In response to user operation 4, the DMS in device a 11 sends the ID of device b 12 and the predefined ACTION 3 to the DMS in device b 12.

[0653] Operation 4 can include, but is not limited to, clicks, double-clicks, long presses, and touches. For example, operation 4 could allow the user to... Figure 11D The user clicks on control 1105 in the embodiment.

[0654] Furthermore, operation 4 is associated with the meta-capability corresponding to predefined ACTION 3. That is, based on operation 4, application A's meta-capability A1 can learn that device a 11 needs to activate the meta-capability corresponding to predefined ACTION 3 in device b 12. Since application A pre-stores the predefined ACTION 3 associated with operation 2, meta-capability A1 can learn the meta-capability corresponding to predefined ACTION 1. Therefore, application A's meta-capability A1 can invoke the DMS in device a 11 to send the ID of device b 12 and the predefined ACTION 3 to the DMS in device b 12, i.e., request device b 12 to activate the meta-capability corresponding to predefined ACTION 3.

[0655] The predefined ACTION3 can identify meta-capabilities with the same function. The predefined ACTION3 can be represented in at least one way, such as letters, characters, or numbers. Here, the predefined ACTION3 can correspond to the identifier of the type to which the first application module belongs in step S1401.

[0656] Additionally, the DMS in device a 11 can send the ID of device b 12 and the predefined ACTION3 in a message to the DMS in device b 12. This application does not limit the specific implementation of this message. This message here may correspond to the first message in steps S1101 and S1401.

[0657] S1002, the DMS in device b12 sends a predefined ACTION1 to the BMS in device b12.

[0658] Specifically, the DMS can send a predefined ACTION1 message to the BMS, and this application does not limit the specific implementation of this message. This message here can correspond to the fourth message in step S1402.

[0659] Based on the ID of device b 12, the DMS in device b 12 can determine whether the predefined ACTION3 sent by device a 11 has been sent to device b 12. Therefore, the DMS in device b 12 can determine the need to activate the meta-capability corresponding to the predefined ACTION3, and can then execute step S1002, that is, the DMS in device b 12 can request the BMS in device b 12 to query whether the meta-capability corresponding to the predefined ACTION3 has been installed.

[0660] In this application, the DMS in device b 12 can send the predefined ACTION3 in a message to the BMS in device b 12. The specific implementation of this message is not limited in this application.

[0661] S1003, the BMS in device b 12 determines whether the meta-capabilities corresponding to the predefined ACTION3 are installed in device b 12 based on the predefined ACTION3.

[0662] Since the BMS can store the parsed configuration file of a meta-capability in the distributed application component database when installing a meta-capability, the BMS in device b 12 can query the distributed application component database in device b 12 to see if the meta-capability corresponding to the predefined ACTION3 exists, thereby determining whether the meta-capability corresponding to the predefined ACTION3 is installed in device b 12.

[0663] If the predefined meta-capability corresponding to ACTION3 does not exist in the distributed application component database of device b 12, the BMS in device b 12 can determine that the predefined meta-capability corresponding to ACTION3 is not installed in device b 12, and thus the BMS in device b 12 can execute steps S1004-S1014; if the predefined meta-capability corresponding to ACTION3 exists in the distributed application component database of device b 12, the BMS in device b 12 can determine that the predefined meta-capability corresponding to ACTION3 is installed in device b 12, and thus the BMS in device b 12 can execute steps S1013-S1014.

[0664] S1004, the BMS in device b 12 sends the ID of device b 12 and the predefined ACTION3 to the HAG server 20. Thus, the BMS in device b 12 can obtain the ID of device b 12 through the system attributes of device b 12 and request the HAG server 20 to download the meta-capabilities corresponding to the predefined ACTION3 for device b 12.

[0665] Specifically, the BMS in device b 12 can carry the ID of device b 12 and the predefined ACTION3 in a message and send it to the HAG server 20 through the communication channel between device b 12 and the HAG server 20. This application does not limit the specific implementation of this message. This message can correspond to the second message in steps S1103 and S1404. Furthermore, the specific implementation of the ID of device b 12 can be found in the description of step S804, and will not be repeated here.

[0666] S1005 and HAG server 20 obtain the matched meta-capability set 3 based on the predefined ACTION3. Each subset in meta-capability set 3 carries the application name of an application, the meta-capability name of the application's meta-capability (this parameter can be replaced with the predefined ACTION of the application's meta-capability), and the CDN download address of the meta-capability.

[0667] Since HAG server 20 pre-stores multiple hap packages and the CDN download address of the corresponding meta-capability for each hap package, and HAG server 20 can obtain the application package name, meta-capability name, and predefined ACTION for each hap package, HAG server 20 can match the CDN download address corresponding to the meta-capability with the same function as the predefined ACTION3 identifier. Therefore, HAG server 20 obtains meta-capability set 3 based on the application package name corresponding to the matched meta-capability, the meta-capability name of the matched meta-capability, and the CDN download address of the matched meta-capability.

[0668] The CDN download address can be represented using methods such as a link or an address string. Additionally, the metadata corresponding to the CDN download address matched by HAG server 20 is usually the latest version. The metadata set 3 can include one or more subsets.

[0669] S1006, HAG server 20 sends meta-capability set 3 to BMS in device b 12.

[0670] The communication channel between HAG server 20 and device b 12 can carry the meta-capability set 3 in a message and send it to the BMS in device b 12. This application does not limit the specific implementation of this message. This message can correspond to the third message in steps S1104 and S1405. The meta-capability set 3 can correspond to the first set in step S1405.

[0671] S1007, The BMS in device b12 sends the meta-capability set 3 to the DMS in device b12.

[0672] In this application, the BMS in device b 12 can send the meta-capability set 3 in a message to the DMS in device b 12. The specific implementation of this message is not limited in this application. This message may correspond to the sixth message in step S1501. The meta-capability set 3 may correspond to the first set in step S1501.

[0673] S1008, the DMS in device b 12 determines whether the number of matched meta-capabilities is greater than 1 based on meta-capability set 3.

[0674] Since the number of matched meta-capabilities is equal to the number of subsets of meta-capability set 3, the DMS in device b 12 can determine whether the number of subsets of meta-capability set 3 is greater than 1, thereby determining whether the number of matched meta-capabilities is greater than 1.

[0675] When the number of subsets of the meta-capability set 3 is greater than 1, the DMS in device b 12 can determine that the number of matched meta-capabilities is greater than 1. Therefore, the DMS in device b 12 can execute steps S1009-S1011 to determine the meta-capabilities of the selected application based on user preference, thus improving user engagement and user experience. When the number of subsets of the meta-capability set 3 is equal to 1, the DMS in device b 12 can determine that the number of matched meta-capabilities is equal to 1. Therefore, the DMS in device b 12 can execute steps S1010-S1011 to use the matched meta-capabilities as the meta-capabilities of the selected application, which helps improve the processing speed of the DMS in device b 12.

[0676] S1009, the DMS display window 5 in device b 12, and in response to the user's operation on window 5, determines the meta-capabilities of the selected application.

[0677] In this application, the size, position, color, and other layout parameters of window 5 are not limited. This operation corresponds to the third operation in step S15022, window 5 corresponds to the first window in step S15022, and the selected application's meta-capability corresponds to the selected software module in step S15022. Alternatively, the DMS in device b 12 can also select one meta-capability from the matched meta-capabilities as the selected application's meta-capability, without displaying window 5, corresponding to the description in step S15021. The DMS in device b 12 can select based on the pre-set priority of the matched meta-capabilities or the storage space of the meta-capabilities, etc., and this application does not limit this selection.

[0678] S1010, the DMS in device b 12 sends the packet name of the selected application and the meta-capability name of the meta-capability of the selected application to the BMS in device b 12.

[0679] Specifically, the DMS in device b 12 can send the package name of the selected application and the meta-capability name of the selected application's meta-capability in a message to the BMS in device b 12. This application does not limit the specific implementation of this message. This message here can correspond to the seventh message in step S1503.

[0680] The selected application's meta-capabilities include application B's meta-capability B1, and the selected devices may include device a 11 and device b 12. For ease of explanation, the selected application's meta-capabilities mentioned here refer to application D's meta-capability D1.

[0681] It should be noted that steps S1007-S1010 are optional. That is, when the number of matched meta-capabilities is equal to 1, the BMS in device b 12 can use the matched meta-capability as the meta-capability of the selected application. When the number of matched meta-capabilities is greater than 1, the BMS in device b 12 can select one meta-capability from the matched meta-capabilities as the meta-capability of the selected application. The BMS in device b 12 can make the selection based on a pre-set priority of the matched meta-capabilities or the storage space of the meta-capabilities, etc., and this application does not limit this selection.

[0682] In step S1011, the BMS in device b 12 downloads the metadata capabilities of the selected application from CDN server 30 based on the CDN download address of the selected application's metadata capabilities. Here, CDN server 30 corresponds to the second server in step S1406.

[0683] S1012, the meta-capabilities of the BMS installation selected in device b 12.

[0684] Steps S411 and S412 here correspond to step S1406.

[0685] S1013, the BMS in device b 12 notifies the DMS in device b 12 that the meta-capability corresponding to predefined ACTION3 has been installed. This notification may correspond to the fifth message in step S1407.

[0686] S1014, the DMS startup predefined ACTION3 in device b 12 corresponds to the meta-capability (i.e. implicit startup), which corresponds to the description in step S1408.

[0687] In summary, based on Figure 13C As described in the embodiment, device a 11 can trigger the system service in device a 11 through the meta-capability A1 of application A, and start the meta-capability D1 of application D in device b 12 based on the predefined ACTION3. This fully considers that third-party application vendors usually do not provide the meta-capability name of meta-capability D1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability D1.

[0688] Therefore, electronic device 1 can query the CDN download address of the meta-capability from the HAG server using the application's package name and the meta-capability name of the application's meta-capability, or the application's package name and the predefined action of the application's meta-capability, or the predefined action. And using the device ID, it can control at least one electronic device in electronic device 2 to download the meta-capability from the CDN server based on the meta-capability's CDN download address, so that the uninstalled meta-capability is automatically installed, and the user is unaware of the download process of the meta-capability. The meta-capability does not need to be downloaded when the application is first installed and can be downloaded on demand based on user needs.

[0689] Based on the aforementioned embodiments, the application module startup method provided in this application is described below.

[0690] For example, this application provides an application module startup method. Please refer to [link to relevant documentation]. Figure 14 , Figure 14 This is a flowchart illustrating an application module startup method provided in one embodiment of this application.

[0691] The execution subject of the application module startup method in this application is a first device, which includes a system module. The first device can be... Figures 3A-3C , Figures 4A-4C , Figure 5 , Figure 6 , Figures 7A-7C , Figures 11A-11E , Figure 12 , Figures 13A-13C For details regarding the implementation of the system modules for device a 11 or device b 12, please refer to [link / reference needed]. Figures 3A-3C , Figures 4A-4C , Figure 5 , Figure 6 , Figures 7A-7C , Figures 11A-11E , Figure 12 , Figures 13A-13C The description of the system services mentioned, and the specific implementation of the first server, can be found in [link to relevant documentation]. Figures 3A-3C , Figures 4A-4C , Figure 5 , Figure 6 , Figures 7A-7C , Figures 11A-11E , Figure 12 , Figures 13A-13C The description of the HAG server mentioned will not be repeated here.

[0692] like Figure 14 As shown, the application module startup method of this application may include:

[0693] S1101, The system module receives a first message, which is associated with a first application module, which is a software module in a first application program.

[0694] S1102. In response to receiving the first message, the system module determines whether the first device has the first application module installed.

[0695] S1103. In response to determining that the first application module is not installed on the first device, the system module sends a second message to the first server. The second message is used to download the first application module.

[0696] S1104. The system module receives a third message from the first server. The third message is a message associated with the first application module obtained by the first server in response to receiving the second message.

[0697] S1105. In response to receiving the third message, the system module downloads, installs, and starts the first application module in the first device.

[0698] In some embodiments, the first device further includes a second application module, which is a software module within a second application program. The method in S1101 specifically includes: in response to receiving a first operation from a user, the second application module sends a first message to the system module. The first application program is the same as the second application program.

[0699] Correspondingly, the specific implementation method of the first device can be found in [reference needed]. Figure 6 For the description of device a11 and the specific implementation of the system module, please refer to [link / reference]. Figure 6 The description of the system services for device a11, and the first operation can be found in [link to documentation]. Figure 6 The description of operation 1 in step S101, and the specific implementation of the first message, can be found in [reference needed]. Figure 6 The description of step S101 and the specific implementation of the first application module can be found in [reference needed]. Figure 6 For the description of Zhongyuan Capability A2 and the specific implementation of the second application module, please refer to [link / reference]. Figure 6 The description of Zhongyuan Ability A1 and the specific implementation of the first application can be found in [link to documentation]. Figure 6 The description of application A and the specific implementation of step S1102 can be found in [reference]. Figure 6 The description of step S103 and the specific implementation of the second message can be found in [reference needed]. Figure 6 The description of step S104 and the specific implementation of the third message can be found in [reference needed]. Figure 6 For a description of step S106 and a detailed implementation of step S1105, please refer to [link to relevant documentation]. Figure 6 The descriptions of steps S107-S110 are not repeated here.

[0700] In other embodiments, the first device further includes a second application module, which is a software module within a second application program. The method in S1101 specifically includes: in response to receiving a first operation from a user, the second application module sends a first message to the system module. The first application program is different from the second application program.

[0701] Correspondingly, the specific implementation method of the first device can be found in [reference needed]. Figure 7A For the description of device a11 and the specific implementation of the system module, please refer to [link / reference]. Figure 7A The description of the system services for device a11, and the first operation can be found in [link to documentation]. Figure 6 The description of operation 2 in step S101, and the specific implementation of the first message, can be found in [reference needed]. Figure 7A The description of step S201 and the specific implementation of the first application module can be found in [reference needed]. Figure 7A The description of Zhongyuan Capability B1 and the specific implementation of the first application can be found in [link to documentation]. Figure 7A The description of application B in the middle, and the specific implementation of the second application can be found in [reference]. Figure 7A The description of application A is provided in section A. For the second application module, please refer to [link / reference]. Figure 7A The description of Zhongyuan Ability A1 and the specific implementation method of step S1102 can be found in [link to documentation]. Figure 7A The description of step S203 and the specific implementation of the second message can be found in [reference needed]. Figure 7A The description of step S204 and the specific implementation of the third message can be found in [reference needed]. Figure 7A For a description of step S206 and a detailed implementation of step S1105, please refer to [link to relevant documentation]. Figure 7A The descriptions of steps S207-S210 are not repeated here.

[0702] Alternatively, for the specific implementation of the first device, please refer to [link / reference]. Figure 7B For the description of device a11 and the specific implementation of the system module, please refer to [link / reference]. Figure 7B The description of the system services for device a11, and the first operation can be found in [link to documentation]. Figure 6 The description of operation 2 in step S101, and the specific implementation of the first message, can be found in [reference needed]. Figure 7B The description of step S301 and the specific implementation of the first application module can be found in [reference needed]. Figure 7B The description of Zhongyuan Capability B1 and the specific implementation of the first application can be found in [link to documentation]. Figure 7B The description of application B in the middle, and the specific implementation of the second application can be found in [reference]. Figure 7B The description of application A is provided in section A. For the second application module, please refer to [link / reference]. Figure 7B The description of Zhongyuan Ability A1 and the specific implementation method of step S1102 can be found in [link to documentation]. Figure 7B The description of step S303 and the specific implementation of the second message can be found in [reference needed]. Figure 7B The description of step S304 and the specific implementation of the third message can be found in [reference needed]. Figure 7B For a description of step S306 and a detailed implementation of step S1105, please refer to [link to relevant documentation]. Figure 7B The descriptions of steps S307-S310 are not repeated here.

[0703] Alternatively, for the specific implementation of the first device, please refer to [link / reference]. Figure 7C For the description of device a11 and the specific implementation of the system module, please refer to [link / reference]. Figure 7C The description of the system services for device a11, and the first operation can be found in [link to documentation]. Figure 6 The description of operation 2 in step S101, and the specific implementation of the first message, can be found in [reference needed]. Figure 7C The description of step S401 and the specific implementation of the first application module can be found in [reference needed]. Figure 7C The description of Zhongyuan Capability B1 and the specific implementation of the first application can be found in [link to documentation]. Figure 7C The description of application B in the middle, and the specific implementation of the second application can be found in [reference]. Figure 7C The description of application A is provided in section A. For the second application module, please refer to [link / reference]. Figure 7C The description of Zhongyuan Ability A1 and the specific implementation method of step S1102 can be found in [link to documentation]. Figure 7C The description of step S403 and the specific implementation of the second message can be found in [reference needed]. Figure 7C The description of step S404 and the specific implementation of the third message can be found in [reference needed]. Figure 7C For a description of step S406 and a detailed implementation of step S1105, please refer to [link to relevant documentation]. Figure 7C The descriptions of steps S407-S414 are not repeated here.

[0704] In other embodiments, the first device and the second device are communicatively connected. The method in S1101 specifically includes: the system module receiving a first message from the second device, the first message being sent by the second device in response to receiving a second operation from the user, and the first message also carrying a device identifier of the first device.

[0705] Correspondingly, the specific implementation method of the first device can be found in [reference needed]. Figure 13A The description of device b 12 in the middle section, and the specific implementation method of the second device can be found in [reference]. Figure 13A For the description of device a11 and the specific implementation of the system module, please refer to [link / reference]. Figure 13A The description of the system services of device b 12, and the first operation can be found in [link to documentation]. Figure 13AThe description of operation 4 in step S801, and the specific implementation of the first message, can be found in [reference needed]. Figure 13A The description of step S801 and the specific implementation of the first application module can be found in [reference needed]. Figure 13A The description of the Zhongyuan capability D1, and the specific implementation method of the first application, can be found in [link to documentation]. Figure 13A The description of application D in the text, and the specific implementation method of step S1102, can be found in [reference]. Figure 13A The description of step S803 and the specific implementation of the second message can be found in [reference needed]. Figure 13A The description of step S804 and the specific implementation of the third message can be found in [reference needed]. Figure 13A For a description of step S806 and a detailed implementation of step S1105, please refer to [link to relevant documentation]. Figure 13A The descriptions of steps S807-S810 are not repeated here.

[0706] Alternatively, for the specific implementation of the first device, please refer to [link / reference]. Figure 13B The description of device b 12 in the middle section, and the specific implementation method of the second device can be found in [reference]. Figure 13B For the description of device a11 and the specific implementation of the system module, please refer to [link / reference]. Figure 13B The description of the system services of device b 12, and the first operation can be found in [link to documentation]. Figure 13B The description of operation 4 in step S901, and the specific implementation of the first message, can be found in [reference needed]. Figure 13B The description of step S901 and the specific implementation of the first application module can be found in [reference needed]. Figure 13B The description of the Zhongyuan capability D1, and the specific implementation method of the first application, can be found in [link to documentation]. Figure 13B The description of application D in the text, and the specific implementation method of step S1102, can be found in [reference]. Figure 13B The description of step S903 and the specific implementation of the second message can be found in [reference needed]. Figure 13B The description of step S904 and the specific implementation of the third message can be found in [reference needed]. Figure 13B For a description of step S906 and a detailed implementation of step S1105, please refer to [link to relevant documentation]. Figure 13B The descriptions of steps S907-S910 are not repeated here.

[0707] Alternatively, for the specific implementation of the first device, please refer to [link / reference]. Figure 13C The description of device b 12 in the middle section, and the specific implementation method of the second device can be found in [reference]. Figure 13C For the description of device a11 and the specific implementation of the system module, please refer to [link / reference]. Figure 13C The description of the system services of device b 12, and the first operation can be found in [link to documentation]. Figure 13CThe description of operation 4 in step S1001, and the specific implementation of the first message, can be found in [reference needed]. Figure 13C The description of step S1001 and the specific implementation of the first application module can be found in [reference needed]. Figure 13C The description of the Zhongyuan capability D1, and the specific implementation method of the first application, can be found in [link to documentation]. Figure 13C The description of application D in the text, and the specific implementation method of step S1102, can be found in [reference]. Figure 13C The description of step S1003 and the specific implementation of the second message can be found in [reference needed]. Figure 13C The description of step S1004 and the specific implementation of the third message can be found in [reference needed]. Figure 13C The description of step S1006 and the specific implementation of step S1105 can be found in [reference needed]. Figure 13C The descriptions of steps S1007-S1014 are not repeated here.

[0708] The Distributed Scheduling Service (DMS) in the system module receives the first message from the Distributed Scheduling Service (DMS) in the second device. For details, please refer to [link to implementation details]. Figure 13A The description of step S901, or Figure 13B The description of step S901, or Figure 13C The description of step S1001 is not repeated here.

[0709] In some embodiments, the method specifically includes: a system module receiving a third message from a first server, the third message carrying a download address of a first application module; in response to receiving the third message, the system module downloading the first application module from a second server, installing the first application module in a first device, and starting the first application module.

[0710] For details on the implementation of the second server, please refer to the description of the CDN server. For the detailed implementation process described above, please refer to [link to relevant documentation]. Figure 6 The description of steps S106-S108, or Figure 7A The description of steps S206-S208, or Figure 7B The description of steps S306-S308, or Figure 7C The description of steps S406-S412, or Figure 13A The description of steps S806-S808, or Figure 13B The description of steps S906-S908, or Figure 13C The descriptions of steps S1006-S1012 are not repeated here.

[0711] In some embodiments, when the system module includes a...

Claims

1. An application module startup method characterized by comprising: The method is applied to a first device, the first device including a system module and a second application module, the second application module being a software module in a second application program, the method comprising: In response to receiving the user's first operation, the second application module sends the first message to the system module; The system module receives a first message, which carries the identifier of a first application and the module identifier of a first application module. The first application module is one of a plurality of software modules in the first application. The first application may be the same as or different from the second application. In response to receiving the first message, the system module determines whether the first device has the first application module installed; In response to determining that the first application module is not installed on the first device, the system module sends a second message to the first server, the second message being used to download the first application module; The system module receives a third message from the first server, the third message being a message associated with the first application module obtained by the first server in response to receiving the second message; In response to receiving the third message, the system module downloads, installs, and launches the first application module on the first device.

2. The method of claim 1, wherein, The method specifically includes: The system module receives the third message from the first server, and the third message carries the download address of the first application module; In response to receiving the third message, the system module downloads the first application module from the second server; The system module installs the first application module in the first device and starts the first application module.

3. The method according to claim 1 or 2, characterized in that, The first device and the second device are communicatively connected; The method specifically includes: The system module receives the first message from the second device. The first message is sent by the second device in response to receiving a second operation from the user. The first message also carries the device identifier of the first device.

4. The method of claim 1, wherein, The method specifically includes: The Distributed Scheduling Service (DMS) in the system module receives the first message from the Distributed Scheduling Service (DMS) in the second device.

5. The method according to any one of claims 1 to 4, characterized in that, When the system modules include a Distributed Scheduling Service (DMS) and a Package Management Service (BMS), the method specifically includes: The Distributed Scheduling Service (DMS) receives the first message; In response to receiving the first message, the Distributed Scheduling Service (DMS) sends a fourth message to the Packet Management Service (BMS), the fourth message carrying the identifier of the first application and the module identifier of the first application module. In response to receiving the fourth message, the Packet Management Service (BMS) determines whether the first device has the first application module installed. In response to determining that the first device does not have the first application module installed, the Package Management Service (BMS) sends the second message to the first server. The second message carries the device identifier of the first device, the identifier of the first application, and the module identifier of the first application module. The Package Management Service (BMS) receives the third message from the first server. The third message carries the download address of the first application module, the identifier of the first application, and the module identifier of the first application module. In response to receiving the third message, the Package Management Service (BMS) downloads the first application module from the second server based on the download address of the first application module, and installs the first application module on the first device. The Package Management Service (BMS) sends a fifth message to the Distributed Scheduling Service (DMS), the fifth message being used to notify the Distributed Scheduling Service (DMS) that the first application module has been installed in the first device; In response to receiving the fifth message, the Distributed Scheduling Service (DMS) starts the first application module.

6. The method according to any one of claims 1 to 4, characterized in that, When the system modules include a Distributed Scheduling Service (DMS) and a Package Management Service (BMS), the method specifically includes: The Distributed Scheduling Service (DMS) receives the first message, which carries the identifier of the first application and the identifier of the type to which the first application module belongs. In response to receiving the first message, the Distributed Scheduling Service (DMS) sends a fourth message to the Packet Management Service (BMS), the fourth message carrying the identifier of the first application and the identifier of the type to which the first application module belongs; In response to receiving the fourth message, the Packet Management Service (BMS) determines whether the first device has the first application module installed. In response to determining that the first device does not have the first application module installed, the Packet Management Service (BMS) sends the second message to the Distributed Scheduling Service (DMS). The second message carries the device identifier of the first device, the identifier of the first application, and the identifier of the type to which the first application module belongs. The Package Management Service (BMS) receives the third message from the first server. The third message carries the download address of the first application module, the identifier of the first application, and the identifier of the type to which the first application module belongs. In response to receiving the third message, the Package Management Service (BMS) downloads the first application module from the second server based on the download address of the first application module, and installs the first application module on the first device. The Package Management Service (BMS) sends a fifth message to the Distributed Scheduling Service (DMS), the fifth message being used to notify the Distributed Scheduling Service (DMS) that the first application module has been installed in the first device; In response to receiving the fifth message, the Distributed Scheduling Service (DMS) starts the first application module.

7. The method according to any one of claims 1 to 4, characterized in that, When the system modules include a Distributed Scheduling Service (DMS) and a Package Management Service (BMS), the method specifically includes: The Distributed Scheduling Service (DMS) receives the first message, which carries an identifier of the type to which the first application module belongs. In response to receiving the first message, the Distributed Scheduling Service (DMS) sends a fourth message to the Packet Management Service (BMS), the fourth message carrying an identifier of the type to which the first application module belongs. In response to receiving the fourth message, the Packet Management Service (BMS) determines whether the first device has the first application module installed. In response to determining that the first device does not have the first application module installed, the package management service (BMS) sends the second message to the first server. The second message carries the device identifier of the first device and the identifier of the type to which the first application module belongs. The Package Management Service (BMS) receives the third message from the first server. The third message carries a first set. Each subset of the first set carries an application identifier, a module identifier of a software module contained in the application, and the download address of the software module. The software module corresponding to each subset belongs to the same type as the first application module. In response to receiving the third message, the Package Management Service (BMS) downloads the selected software module from the second server based on the download address of the selected software module in the first set, and installs the selected software module in the first device; The Package Management Service (BMS) sends a fifth message to the Distributed Scheduling Service (DMS), the fifth message being used to notify the Distributed Scheduling Service (DMS) that the first application module has been installed in the first device; In response to receiving the fifth message, the Distributed Scheduling Service (DMS) initiates one of the selected software modules.

8. The method of claim 7, wherein, The method further includes: In response to receiving the third message, the Packet Management Service (BMS) sends a sixth message to the Distributed Scheduling Service (DMS), the sixth message carrying the first set. In response to receiving the sixth message, the Distributed Scheduling Service (DMS) determines a selected software module from the first set based on preset rules; Alternatively, in response to receiving the sixth message, the Distributed Scheduling Service (DMS) displays a first window, which includes controls corresponding to the software modules in the first set; in response to receiving a third operation by the user on the control corresponding to the selected software module in the first window, the Distributed Scheduling Service (DMS) determines the selected software module. The Distributed Scheduling Service (DMS) sends a seventh message to the Packet Management Service (BMS), the seventh message carrying the identifier of the application to which the selected software module belongs and the module identifier of the selected software module. In response to receiving the seventh message, the Package Management Service (BMS) determines the download address of the selected software module from the first set based on the identifier of the application to which the selected software module belongs and the module identifier of the selected software module.

9. The method according to any one of claims 1-8, characterized in that, The method further includes: Upon determining that the first application module has been installed on the first device, the system module starts the first application module.

10. The method according to any one of claims 1 to 9, characterized in that, The first device is communicatively connected to the third device; the method further includes: The system module sends an eighth message to the third device. The eighth message requests the third device to start a third application module, which is a software module in a third application program and is not installed on the third device. The eighth message carries the device identifier of the third device, the identifier of the third application program, and the module identifier of the third application module; or the eighth message carries the device identifier of the third device, the identifier of the third application program, and the identifier of the type to which the third application module belongs; or the eighth message carries the device identifier of the third device and the identifier of the type to which the third application module belongs.

11. The method of claim 10, wherein, The method specifically includes: The Distributed Scheduling Service (DMS) in the system module sends the eighth message to the Distributed Scheduling Service (DMS) in the third device.

12. An application module activation method characterized by comprising: The method is applied to a first device, which includes a fourth application module and a system module. The fourth application module is one of a plurality of software modules in a fourth application, and the first device is communicatively connected to the fourth device. The method includes: In response to receiving the user's fourth operation, the fourth application module sends a ninth message to the system module. The ninth message carries the identifier of the fifth application and the module identifier of the fifth application module. The fifth application module is one of a plurality of software modules in the fifth application. The fourth application is different from the fifth application. In response to receiving the ninth message, the system module determines whether the first device and the fourth device have the fifth application module installed; In response to determining that neither the first device nor the fourth device has installed the fifth application module, the system module sends a tenth message to the first server, the tenth message being used to download the fifth application module; The system module receives an eleventh message from the first server. The eleventh message is a message associated with the fifth application module obtained by the first server in response to receiving the tenth message. In response to receiving the eleventh message, the system module downloads, installs, and launches the fifth application module in the first device and / or the fourth device.

13. The method of claim 12, wherein, The method specifically includes: The system module receives the eleventh message from the first server. The eleventh message carries the download address of the fifth application module and the device type applicable to the download address of the fifth application module. In response to receiving the eleventh message, the system module determines whether the device type applicable to the download address of the fifth application module includes the first device and the fourth device; When the device type for which the download address of the fifth application module is applicable includes the first device, the system module downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and starts the fifth application module on the first device. Alternatively, in response to determining that the device type for which the download address applicable to the fifth application module is the fourth device, the system module sends a twelfth message to the fourth device, the twelfth message being used to request the fourth device to start the fifth application module, the twelfth message carrying the download address of the fifth application module; Alternatively, in response to determining that the device type applicable to the download address of the fifth application module includes both the first device and the fourth device, the system module displays a second window, which includes controls corresponding to the first device and controls corresponding to the fourth device; in response to receiving a fifth operation from the user on the control corresponding to the first device in the second window, the system module downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and launches the fifth application module on the first device; and / or, in response to receiving a fifth operation from the user on the control corresponding to the fourth device in the second window, the system module sends a twelfth message to the fourth device, the twelfth message being used to request the fourth device to launch the fifth application module, the twelfth message carrying the download address of the fifth application module.

14. The method according to claim 12 or 13, characterized in that, When the system modules include a Distributed Scheduling Service (DMS) and a Package Management Service (BMS), the method specifically includes: In response to receiving the fourth operation, the fourth application module sends the ninth message to the Distributed Scheduling Service (DMS), the ninth message carrying the identifier of the fifth application and the module identifier of the fifth application module; In response to receiving the ninth message, the Distributed Scheduling Service (DMS) sends a thirteenth message to the Packet Management Service (BMS), the thirteenth message carrying the identifier of the fifth application and the module identifier of the fifth application module. In response to receiving the thirteenth message, the Packet Management Service (BMS) determines whether the first device and the fourth device have the fifth application module installed. In response to determining that neither the first device nor the fourth device has the fifth application module installed, the Packet Management Service (BMS) sends the tenth message to the first server, the tenth message carrying the identifier of the fifth application and the module identifier of the fifth application module; The Package Management Service (BMS) receives the eleventh message from the first server. The eleventh message carries the download address of the fifth application module, the device type applicable to the download address of the fifth application module, the identifier of the fifth application, and the module identifier of the fifth application module. In response to receiving the eleventh message, the Packet Management Service (BMS) sends a fourteenth message to the Distributed Scheduling Service (DMS). The fourteenth message carries the download address of the fifth application module, the device type applicable to the download address of the fifth application module, the identifier of the fifth application, and the module identifier of the fifth application module. In response to receiving the fourteenth message, the Distributed Scheduling Service (DMS) determines whether the device type applicable to the download address of the fifth application module includes the first device and the fourth device; In response to determining that the device type for the download address of the fifth application module includes the first device, the Distributed Scheduling Service (DMS) sends a fifteenth message to the Packet Management Service (BMS), the fifteenth message being used to request the download of the fifth application module; in response to receiving the fifteenth message, the Packet Management Service (BMS) downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and sends a sixteenth message to the Distributed Scheduling Service (DMS); in response to receiving the sixteenth message, the Distributed Scheduling Service (DMS) starts the fifth application module on the first device. Alternatively, in response to determining that the device type applicable to the download address of the fifth application module includes the fourth device, the Distributed Scheduling Service (DMS) sends a twelfth message to the Distributed Scheduling Service (DMS) in the fourth device. The twelfth message is used to request the fourth device to start the fifth application module. The twelfth message carries the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application, and the module identifier of the fifth application module. Alternatively, in response to determining that the device type applicable to the download address of the fifth application module includes both the first device and the fourth device, the Distributed Scheduling Service (DMS) displays a second window, which includes controls corresponding to the first device and controls corresponding to the fourth device; in response to receiving a fifth operation from the user on the control corresponding to the first device in the second window, the Distributed Scheduling Service (DMS) sends a fifteenth message to the Packet Management Service (BMS), the fifteenth message being used to request the download of the fifth application module; in response to receiving the fifteenth message, the Packet Management Service (BMS) downloads the fifth application module from the second server based on the download address of the fifth application module, and then... The module is installed in the first device and sends a sixteenth message to the Distributed Scheduling Service (DMS); in response to receiving the sixteenth message, the Distributed Scheduling Service (DMS) starts the fifth application module in the first device; and / or, in response to receiving a fifth operation by the user on the control corresponding to the fourth device in the second window, the Distributed Scheduling Service (DMS) sends a twelfth message to the Distributed Scheduling Service (DMS) in the fourth device, the twelfth message being used to request the fourth device to start the fifth application module, the twelfth message carrying the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application, and the module identifier of the fifth application module.

15. The method according to claim 12 or 13, characterized in that, When the system modules include a Distributed Scheduling Service (DMS) and a Package Management Service (BMS), the method specifically includes: In response to receiving the fourth operation, the fourth application module sends the ninth message to the Distributed Scheduling Service (DMS), the ninth message carrying the identifier of the fifth application and the identifier of the type to which the fifth application module belongs; In response to receiving the ninth message, the Distributed Scheduling Service (DMS) sends a thirteenth message to the Packet Management Service (BMS), the thirteenth message carrying the identifier of the fifth application and the identifier of the type to which the fifth application module belongs; In response to receiving the thirteenth message, the Packet Management Service (BMS) determines whether the first device and the fourth device have the fifth application module installed. In response to determining that neither the first device nor the fourth device has the fifth application module installed, the Packet Management Service (BMS) sends the tenth message to the first server. The tenth message carries the identifier of the fifth application and the identifier of the type to which the fifth application module belongs. The Package Management Service (BMS) receives the eleventh message from the first server. The eleventh message carries the download address of the fifth application module, the device type applicable to the download address of the fifth application module, the identifier of the fifth application, and the identifier of the type to which the fifth application module belongs. In response to receiving the eleventh message, the Packet Management Service (BMS) sends a fourteenth message to the Distributed Scheduling Service (DMS). The fourteenth message carries the download address of the fifth application module, the device type applicable to the download address of the fifth application module, the identifier of the fifth application, and the identifier of the type to which the fifth application module belongs. In response to receiving the fourteenth message, the Distributed Scheduling Service (DMS) determines whether the device type applicable to the download address of the fifth application module includes the first device and the fourth device; In response to determining that the device type for the download address of the fifth application module includes the first device, the Distributed Scheduling Service (DMS) sends a fifteenth message to the Packet Management Service (BMS), the fifteenth message being used to request the download of the fifth application module; in response to receiving the fifteenth message, the Packet Management Service (BMS) downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and sends a sixteenth message to the Distributed Scheduling Service (DMS); in response to receiving the sixteenth message, the Distributed Scheduling Service (DMS) starts the fifth application module on the first device. Alternatively, in response to determining that the device type for the download address applicable to the fifth application module includes the fourth device, the Distributed Scheduling Service (DMS) sends a twelfth message to the Distributed Scheduling Service (DMS) in the fourth device. The twelfth message is used to request the fourth device to start the fifth application module. The twelfth message carries the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application, and the identifier of the type to which the fifth application module belongs. Alternatively, in response to determining that the device type applicable to the download address of the fifth application module includes both the first device and the fourth device, the Distributed Scheduling Service (DMS) displays a second window, which includes controls corresponding to the first device and controls corresponding to the fourth device; in response to receiving a fifth operation from the user on the control corresponding to the first device in the second window, the Distributed Scheduling Service (DMS) sends a fifteenth message to the Packet Management Service (BMS), the fifteenth message being used to request the download of the fifth application module; in response to receiving the fifteenth message, the Packet Management Service (BMS) downloads the fifth application module from the second server based on the download address of the fifth application module, and then... The module is installed in the first device, and a sixteenth message is sent to the Distributed Scheduling Service (DMS). In response to receiving the sixteenth message, the Distributed Scheduling Service (DMS) starts the fifth application module in the first device. And / or, in response to receiving a fifth operation by the user on the control corresponding to the fourth device in the second window, the Distributed Scheduling Service (DMS) sends the twelfth message to the Distributed Scheduling Service (DMS) in the fourth device. The twelfth message is used to request the fourth device to start the fifth application module. The twelfth message carries the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application, and the identifier of the type to which the fifth application module belongs.

16. The method of claim 12 or 13, wherein, When the system modules include a Distributed Scheduling Service (DMS) and a Package Management Service (BMS), the method specifically includes: In response to receiving the fourth operation, the fourth application module sends the ninth message to the Distributed Scheduling Service (DMS), the ninth message carrying an identifier of the type to which the fifth application module belongs; In response to receiving the ninth message, the Distributed Scheduling Service (DMS) sends a thirteenth message to the Packet Management Service (BMS), the thirteenth message carrying an identifier of the type to which the fifth application module belongs; In response to receiving the thirteenth message, the Packet Management Service (BMS) determines whether the first device and the fourth device have the fifth application module installed. In response to determining that neither the first device nor the fourth device has installed the fifth application module, the Packet Management Service (BMS) sends the tenth message to the first server, the tenth message carrying an identifier of the type to which the fifth application module belongs; The Package Management Service (BMS) receives the eleventh message from the first server. The eleventh message carries a second set. Each subset of the second set carries an application identifier, a module identifier of a software module in the application, and a device type for the download address of the software module. The software module corresponding to each subset belongs to the same type as the fifth application module. In response to receiving the eleventh message, the Packet Management Service (BMS) sends a fourteenth message to the Distributed Scheduling Service (DMS), the fourteenth message carrying the second set. In response to receiving the fourteenth message, the Distributed Scheduling Service (DMS) determines whether the device type of the download address applicable to the fifth application module in the second set includes the first device and the fourth device; In response to determining that the device type in the second set suitable for the download address of the fifth application module includes the first device, the Distributed Scheduling Service (DMS) sends a fifteenth message to the Packet Management Service (BMS) requesting the download of the fifth application module; in response to receiving the fifteenth message, the Packet Management Service (BMS) downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and sends a sixteenth message to the Distributed Scheduling Service (DMS); in response to receiving the sixteenth message, the Distributed Scheduling Service (DMS) starts the fifth application module on the first device. Alternatively, in response to determining that the device type in the second set suitable for the download address of the fifth application module includes the fourth device, the Distributed Scheduling Service (DMS) sends a twelfth message to the Distributed Scheduling Service (DMS) in the fourth device. The twelfth message is used to request the fourth device to start the fifth application module. The twelfth message carries the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application, and the identifier of the type to which the fifth application module belongs. Alternatively, in response to determining that the device types in the second set suitable for the download address of the fifth application module include the first device and the fourth device, the Distributed Scheduling Service (DMS) displays a second window, which includes controls corresponding to the first device and controls corresponding to the fourth device; in response to receiving a fifth operation from the user on the control corresponding to the first device in the second window, the Distributed Scheduling Service (DMS) sends a fifteenth message to the Packet Management Service (BMS), the fifteenth message being used to request the download of the fifth application module; in response to receiving the fifteenth message, the Packet Management Service (BMS) downloads the fifth application module from the second server based on the download address of the fifth application module, and then... The application module is installed in the first device and sends a sixteenth message to the Distributed Scheduling Service (DMS); in response to receiving the sixteenth message, the Distributed Scheduling Service (DMS) starts the fifth application module in the first device; and / or, in response to receiving a fifth operation by the user on the control corresponding to the fourth device in the second window, the Distributed Scheduling Service (DMS) sends a twelfth message to the Distributed Scheduling Service (DMS) in the fourth device, the twelfth message being used to request the fourth device to start the fifth application module, the twelfth message carrying the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application, and the identifier of the type to which the fifth application module belongs.

17. The method according to any one of claims 12-16, characterized in that, The method further includes: In response to determining that the first device has installed the fifth application module and the fourth device has not installed the fifth application module, the system module starts the fifth application module in the first device; Alternatively, in response to determining that the first device has not installed the fifth application module and the fourth device has installed the fifth application module, the system module sends a seventeenth message to the fourth device, the seventeenth message being used to request the fourth device to start the fifth application module; Alternatively, in response to determining that both the first device and the fourth device have installed the fifth application module, the system module displays a third window, which includes controls corresponding to the first device and controls corresponding to the fourth device; in response to receiving a sixth operation from the user on the control corresponding to the first device in the third window, the system module downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module on the first device, and starts the fifth application module on the first device; and / or, in response to receiving a sixth operation from the user on the control corresponding to the fourth device in the third window, the system module sends a seventeenth message to the fourth device, the seventeenth message being used to request the fourth device to start the fifth application module.

18. An electronic device, comprising: include: Memory and processor; The memory is used to store program instructions; The processor is used to call program instructions in the memory to cause the electronic device to execute the application module startup method according to any one of claims 1-11; or to cause the electronic device to execute the application module startup method according to any one of claims 12-17.

19. A chip system, characterized in that, The chip system is applied to an electronic device including a memory, a display screen, and sensors; the chip system includes a processor; when the processor executes computer instructions stored in the memory, the electronic device executes the application module startup method as described in any one of claims 1-11; or, the electronic device executes the application module startup method as described in any one of claims 12-17.

20. A computer readable storage medium having stored thereon a computer program, characterized in that, The computer program is processed by a processor to cause the electronic device to execute the application module startup method according to any one of claims 1-11; or, the computer program is processed by a processor to cause the electronic device to execute the application module startup method according to any one of claims 12-17.

21. A computer program product, characterised in that, When the computer program product is run on a computer, the computer performs the application module startup method as described in any one of claims 1-11; or, the computer performs the application module startup method as described in any one of claims 12-17.

Citation Information

Patent Citations

  • Application products with in-application subsequent feature access using network-based distribution system

    CN101840556A

  • Control method and electronic device

    CN103699400A

  • Method and device for processing information

    CN103777962A

  • Method and device for loading application APP of terminal

    CN106547578A

  • Method for installing application according to function modules

    WO2019169587A1