Plug-in control method, system and related devices

CN117319482BActive Publication Date: 2026-10-20HUAWEI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211213905.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-06-25
Filing Date
2022-09-30
Publication Date
2026-10-20
Estimated Expiration
2042-09-30

AI Technical Summary

Technical Problem

但是,由于电子设备厂家有限,但目标设备的厂家数量和设备类型数量都非常庞大,且更新换代很快

Benefits of technology

[0036]其中,第二方面至第五方面的有益效果,可以参考前述第一方面及第一方面中任一项可能的实现方式中的有益效果,在此不再赘述。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117319482B_ABST
    Figure CN117319482B_ABST
Patent Text Reader

Abstract

The application discloses a plug-in control method, system and related device. A specified application can be installed on an electronic device and other devices. The electronic device can receive a user input, and download specified plug-ins for realizing a same cross-device function on the electronic device and the other devices through the specified application. The electronic device can run the downloaded specified plug-ins through the local specified application, and notify the other devices to run the downloaded specified plug-ins through the installed specified application. The electronic device can complete the cross-device function through the local specified plug-in and the specified plug-in on the other device. In this way, the user can trigger the electronic device to download the plug-ins for realizing the specified cross-device function on the electronic device and the other devices, so as to facilitate the user to quickly realize the cross-device function with the other devices.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of electronic equipment technology, and in particular to a plug-in control method, system and related device. Background Technology

[0002] Electronic devices provide services to users through various applications (APPs). As user demands continue to grow, application functionality becomes increasingly powerful, leading to larger application sizes. To quickly respond to these demands, the need for plug-in-based application development is becoming increasingly strong. Plug-in-an-app reduces the size of the application's installation package. Users can download the plugins they need. Because applications and plugins are compiled separately, development efficiency is improved.

[0003] Currently, application plug-ins are used on some operating systems. For example, mobile phones, tablets, and other electronic devices can download a plug-in corresponding to a specific target device (e.g., a robot vacuum cleaner) through a designated application, and then control the target device by running the plug-in within the designated application. The target device manufacturer is responsible for the development, testing, release, and maintenance of the plug-in. However, due to the limited number of electronic device manufacturers, but the vast number of target device manufacturers and device types, and their rapid pace of technological advancement, it is difficult to require electronic device manufacturers to predefine comprehensive control interfaces for all types of target devices they need to control before the device leaves the factory. This limits the functionalities that can be achieved between electronic and target devices. Summary of the Invention

[0004] This application provides a plug-in control method, system, and related apparatus, which enables users to trigger the download of plug-ins that implement specified cross-device functions on electronic devices and other devices, facilitating users to quickly implement cross-device functions with other devices.

[0005] In a first aspect, this application provides a plug-in control method applied to a first electronic device running a first application, comprising: receiving a first operation from a user selecting the first electronic device and a second electronic device to perform a first cross-device function; wherein the first plug-in combination of the first cross-device function includes a first plug-in supported by the first application and a second plug-in supported by the second application installed on the second electronic device; in response to the first operation, sending a first download request to a plug-in server and sending plug-in information of the second plug-in to the second electronic device, the first download request being used to request the download of the first plug-in and the plug-in information of the second plug-in being used by the second electronic device to download the second plug-in from the plug-in server; receiving the first plug-in sent by the plug-in server; after receiving the first plug-in, starting and running the first plug-in through the first application; and performing the first cross-device function through the first plug-in and the second plug-in started and running through the second application on the second electronic device.

[0006] The plug-in control method provided in this application allows designated applications to be installed on both electronic devices and other devices. The electronic device can receive user input and, through the designated application, download designated plug-ins that implement the same cross-device function to both the electronic device and other devices. The electronic device can run the downloaded designated plug-in through its local designated application and notify other devices to also run their downloaded designated plug-ins through their installed designated applications. The electronic device can complete cross-device functions through its local designated plug-in and designated plug-ins on other devices. In this way, users can trigger the download of plug-ins implementing designated cross-device functions on both the electronic device and other devices, facilitating quick and easy implementation of cross-device functionality.

[0007] For example, when parents are away from home and need to play interactive games with their children, they can open a designated app that supports plugins (such as a smart living app) on their mobile phone. They can then select a specific interactive game plugin from the app's list of cross-device plugin combinations. After selecting the game and the large-screen device at home, the plugin for that interactive game can be downloaded simultaneously on both the phone and the large screen. The plugins on both the phone and the large screen can then run through their respective designated apps and connect via a network to play the interactive game. This saves users time and effort, allowing them to interact with family members in real time even when they are away from home.

[0008] For example, when a user needs to view live feeds from their home while traveling, they can open a designated app (such as a smart living app) on their phone that supports plugins. From the app's cross-device plugin list, they can select a home live view plugin and choose a large screen device at home to capture live feeds and / or audio. Both the phone and the large screen can simultaneously download the home live view plugin. The plugins on both devices can run through their respective designated apps and connect via a network. The large screen plugin can send the captured feeds and / or audio to the phone plugin. The phone plugin can then control the phone to output the feeds and / or audio from the large screen. This saves the user time and effort, allowing them to easily monitor their home from a distance.

[0009] In one possible implementation, before receiving the first operation of the user selecting the first electronic device and the second electronic device to perform the first cross-device function, the method further includes: obtaining device information of the device to be networked, the device to be networked including the first electronic device and the second electronic device; sending the device information of the device to be networked to the plug-in server; receiving one or more plug-in combination information of specified cross-device functions sent by the plug-in server, the one or more specified cross-device functions including the first cross-device function; and displaying the plug-in combination information of the one or more specified cross-device functions. In this way, the first electronic device can match the cross-device functions supported by the device to be networked from the plug-in server, achieving accurate push of plug-in combinations of cross-device functions.

[0010] In one possible implementation, after sending the plugin information of the second plugin to the second electronic device, the method further includes: receiving a download assistance request sent by the second electronic device, the download assistance request being used to request the first electronic device to download the second plugin and forward it to the second electronic device; sending a third download request to the plugin server, the third download request being used to request the download of the second plugin; receiving the second plugin sent by the plugin server; and sending the second plugin to the first electronic device. In this way, the first electronic device can assist the second electronic device in downloading the plugin, thus enabling the download of the plugin to the second electronic device to be achieved using only the first electronic device.

[0011] In one possible implementation, before executing the first cross-device function via the first plugin and the second plugin of the second electronic device, the method includes: receiving feedback information sent by the second electronic device, the feedback information indicating that the second electronic device has acquired the second plugin. This allows the first electronic device to know promptly and accurately that the second electronic device has prepared the plugin.

[0012] In one possible implementation, after receiving feedback information from the second electronic device, the method further includes sending a first startup notification to the second electronic device, the first startup notification being used to notify the second electronic device to start and run the second plugin. In this way, the first electronic device can remotely start the second plugin on the second electronic device, saving the user the effort of starting and running the second plugin.

[0013] In one possible implementation, before the first cross-device function is executed via the first plugin and the second plugin running on the second electronic device through the second application, the method further includes: completing network authentication through the first plugin and the second plugin; and establishing a network connection through the first plugin and the second plugin. This ensures that a network connection is established only after the first electronic device and the second electronic device have mutually authenticated each other as legitimate devices, thus guaranteeing the security of communication between the first plugin and the second plugin.

[0014] In one possible implementation, the first plugin, running on the second electronic device via a second application, performs the first cross-device function. Specifically, this includes: receiving environmental information collected in real-time by the second electronic device via a camera and / or microphone, sent by the second plugin through the first plugin; wherein the environmental information includes any of the following: audio stream, image stream, or video stream; and controlling the first electronic device to output the environmental information. Thus, without operating the second electronic device, the user can view the environmental information surrounding the second electronic device on the first electronic device.

[0015] In one possible implementation, in response to the first operation, a first download request is sent to the plugin server, and plugin information of the second plugin is sent to the second electronic device. Specifically, in response to the first operation, if it is determined that the first electronic device does not have the first plugin cached, the first download request is sent to the plugin server, and plugin information of the second plugin is sent to the second electronic device. This avoids the first electronic device repeatedly downloading the first plugin, saving storage and download resources.

[0016] In one possible implementation, the method further includes: in response to the first operation, if it is determined that the first electronic device has cached the first plugin, sending the plugin information of the second plugin to the second electronic device.

[0017] In one possible implementation, after the second plugin, which runs via a second application on the second electronic device and performs the first cross-device function, performs the first plugin, the method further includes deleting the first plugin locally. This allows for the timely removal of used plugins, saving storage space.

[0018] In one possible implementation, after the second plugin, which runs via a second application on the second electronic device and executes the first cross-device function, performs the first plugin, the method further includes sending a deletion notification to the second electronic device, the deletion notification being used to notify the second electronic device to delete the second plugin. This allows for the timely deletion of used plugins, saving storage space.

[0019] In this embodiment, the first electronic device can discover a second electronic device in its vicinity using near-field communication technologies (e.g., Wi-Fi, Bluetooth, NFC, UWB, infrared, etc.). In one example, the first electronic device can also discover the second electronic device within its local area network. In another example, both the first and second electronic devices are connected to a server, and the first electronic device can discover the online second electronic device through the server. The second electronic device and the first electronic device may both be logged into the same account, or the account logged into the second electronic device may be bound to the account logged into the first electronic device, and so on.

[0020] Secondly, this application provides a plug-in control system, including: a plug-in server, a first electronic device, and a second electronic device. The first electronic device runs a first application, and the second electronic device runs a second application. The plug-in server stores multiple cross-device function plug-in combinations, each including one or more versions of plug-ins. The multiple cross-device functions include a first cross-device function, and the first plug-in combination of the first cross-device function includes a first plug-in supported by the first application and a second plug-in supported by the second application. The first electronic device receives a first operation from a user selecting the first electronic device and the second electronic device to perform the first cross-device function. The first electronic device is also configured to, in response to the first operation, send a first download request to the plug-in server and send a second application to the second electronic device. The plugin information of the two plugins is as follows: the first download request is used to request the download of the first plugin; the plugin server is further used to send the first plugin to the first electronic device after receiving the first download request; the second electronic device is used to send a second download request to the plugin server after receiving the plugin information of the second plugin, the second download request being used to request the download of the second plugin; the plugin server is further used to send the second plugin to the second electronic device after receiving the second download request; the first electronic device is further used to launch and run the first plugin through the first application after receiving the first plugin; the second electronic device is further used to launch and run the second plugin through the second application after receiving the second plugin; the first electronic device is further used to perform the first cross-device function through the first plugin and the second plugin.

[0021] In one possible implementation, the first electronic device is further configured to obtain device information of a device to be networked, including the first electronic device and the second electronic device, before receiving a first operation from a user selecting the first electronic device and the second electronic device to perform the first cross-device function; the first electronic device is further configured to send the device information of the device to be networked to the plug-in server; the plug-in server is further configured to determine, based on the device information of the device to be networked, one or more plug-in combinations of specified cross-device functions supported by the device to be networked from multiple plug-in combinations of cross-device functions, the one or more plug-in combinations of specified cross-device functions including the first plug-in combination of the first cross-device function; the plug-in server is further configured to send the plug-in combination information of the one or more specified cross-device functions to the first electronic device; and the first electronic device is further configured to display the plug-in combination information of the one or more specified cross-device functions.

[0022] In one possible implementation, the second electronic device, upon receiving the plugin information of the second plugin, determines that the second electronic device does not have the second plugin cached and that the second electronic device has the ability to download plugins via the internet, and then sends the second download request to the plugin server.

[0023] In one possible implementation, the second electronic device is further configured to, upon receiving the plugin information of the second plugin, if it determines that the second electronic device does not have the second plugin cached on it and does not have the ability to download the plugin via the internet, send a download assistance request to the first electronic device. The download assistance request is used to request the first electronic device to download the second plugin and forward it to the second electronic device. The first electronic device is further configured to, upon receiving the download assistance request, send a third download request to the plugin server. The third download request is used to request to download the second plugin. The plugin server is further configured to, upon receiving the third download request, send the second plugin to the first electronic device. The first electronic device is further configured to, upon receiving the second plugin, send the second plugin to the second electronic device.

[0024] In one possible implementation, the second electronic device is further configured to, upon receiving the plugin information of the second plugin, if it is determined that the second electronic device has already cached the second plugin, send feedback information to the first electronic device, the feedback information indicating that the second electronic device has acquired the second plugin.

[0025] In one possible implementation, the second electronic device is further configured to send feedback information to the first electronic device after receiving the second plugin, the feedback information indicating that the second electronic device has acquired the second plugin.

[0026] In one possible implementation, the first electronic device is further configured to send a first startup notification to the second electronic device after receiving the feedback information. The first startup notification is used to notify the second electronic device to start running the second plugin. Specifically, the second electronic device is configured to start running the second plugin through the second application after receiving the first startup notification.

[0027] In one possible implementation, the first electronic device is further configured to complete network authentication with the second plugin before performing the first cross-device function through the first plugin and the second plugin running on the second electronic device; the first electronic device is further configured to establish a network connection with the second plugin after completing network authentication through the first plugin and the second plugin.

[0028] In one possible implementation, the execution of the first cross-device function via the first plugin and the second plugin specifically includes: the second plugin controlling the second electronic device to collect environmental information in real time via a camera and / or microphone, wherein the environmental information includes any of the following: audio stream, image stream, video stream; the second plugin sending the environmental information collected in real time by the second electronic device via the camera and / or microphone to the first plugin; and the first plugin controlling the first electronic device to output the environmental information.

[0029] In one possible implementation, the first electronic device is specifically configured to, in response to the first operation, send the first download request to the plugin server and send the plugin information of the second plugin to the second electronic device if it is determined that the first electronic device does not have the first plugin cached on it.

[0030] In one possible implementation, the first electronic device is further configured to, in response to the first operation, send the plugin information of the second plugin to the second electronic device if it is determined that the first plugin has been cached on the first electronic device.

[0031] In one possible implementation, the first electronic device is further configured to delete the first plugin from the local device after performing the first cross-device function via the first plugin and the second plugin.

[0032] In one possible implementation, the first electronic device is further configured to send a deletion notification to the second electronic device after performing the first cross-device function through the first plugin and the second plugin, the deletion notification being used to notify the second electronic device to delete the second plugin; the second electronic device is further configured to delete the second plugin after receiving the deletion notification.

[0033] Thirdly, this application provides an electronic device, which is a first electronic device including a transceiver, one or more processors, and one or more memories. The transceiver, one or more memories are coupled to one or more processors, and the one or more memories are used to store computer program code, which includes computer instructions. When the one or more processors execute the computer instructions, they cause the communication device to perform the plug-in control method in any possible implementation of any of the above aspects.

[0034] Fourthly, embodiments of this application provide a computer storage medium including computer instructions, which, when executed on an electronic device, cause the electronic device to perform the plug-in control method in any of the possible implementations of any of the above aspects.

[0035] Fifthly, embodiments of this application provide a computer program product that, when run on a computer, causes the computer to execute the plug-in control method in any of the possible implementations of any of the above aspects.

[0036] The beneficial effects of the second to fifth aspects can be referred to the beneficial effects of the first aspect and any possible implementation of the first aspect, and will not be repeated here. Attached Figure Description

[0037] Figure 1 This is a schematic diagram illustrating a plugin usage strategy provided in an embodiment of this application;

[0038] Figure 2 A schematic diagram illustrating a cross-device interaction process provided in an embodiment of this application;

[0039] Figure 3 A schematic diagram of an application plug-in system architecture is provided for an embodiment of this application;

[0040] Figure 4 A schematic diagram illustrating the principle of a plug-in control method provided in an embodiment of this application;

[0041] Figure 5A This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;

[0042] Figure 5B A software structure block diagram of an electronic device provided in an embodiment of this application;

[0043] Figure 5C This application provides a schematic diagram of the architecture of a communication system.

[0044] Figure 6 A hardware structure diagram of a cloud server provided in an embodiment of this application;

[0045] Figures 7A-7J A schematic diagram of the interface for a set of plug-in control methods provided in the embodiments of this application;

[0046] Figure 8 A flowchart illustrating a plug-in control method provided in an embodiment of this application;

[0047] Figure 9 A schematic diagram illustrating the principle of a plug-in control method provided in an embodiment of this application;

[0048] Figure 10 This is a schematic diagram illustrating the principle of a plug-in control method provided in an embodiment of this application. Detailed Implementation

[0049] The technical solutions in the embodiments of this application will be clearly and thoroughly described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; the word "and / or" in the text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.

[0050] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature, and in the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.

[0051] The following explanations of some terms used in this application are provided to facilitate understanding by those skilled in the art.

[0052] 1. An application, to be installed on an electronic device, having the function of providing services to users. Examples include camera applications that provide shooting services, social applications that provide chat services, video applications that provide video viewing services, and music applications that provide music playback services. Applications may be developed by the manufacturer of the electronic device, the supplier of the electronic device's operating system, or a third-party application vendor; this application does not limit this.

[0053] 2. A plugin is a program written according to a specific application programming interface (API). A plugin can only run on the specified application defined by the program. The specified application can launch and run the plugin through the API. A plugin can run on the specified application without installation, but it cannot run independently of that application. A plugin can provide extended functionality to the specified application that is not currently available.

[0054] Figure 1 A schematic diagram illustrating a plugin usage strategy provided in an embodiment of this application is shown.

[0055] like Figure 1 As shown, electronic devices can have applications that support plugin operation (e.g., smart living applications) installed. A mobile phone can also store plugins that can control multiple devices. For example, plugin 1 can control device A, plugin 2 can control device B, and plugin 3 can control device C.

[0056] Developers need to predefine interactive control interfaces in both the smart living application and other devices, allowing corresponding plugins on other devices to call and control them. For example, plugin 1 can control device A through the device interaction control interface defined in the smart living application. Plugin 2 can control device B through the same interface. Plugin 3 can control device C through the same interface.

[0057] However, in the aforementioned plugin usage strategy, when other devices (Device A, Device B, Device C) have many functions, developers cannot predefine the inter-device interaction control interfaces for all functions on other devices within the smart living application. This also limits the ability of electronic devices to expand their interaction control functions with other devices and cannot cover more usage scenarios.

[0058] Figure 2 This illustration shows a flowchart of a cross-device interaction provided in an embodiment of this application.

[0059] like Figure 2 As shown, application developers can create applications that can be installed on different devices. For example, for mobile phones, a specific mobile application can be developed; for smartwatches, a specific smartwatch application can be developed; and for personal computers (PCs), a specific PC application can be developed. Cross-device interaction between multiple devices can be achieved through the following steps:

[0060] Step 1: Mobile phones can download and install the specified mobile app, smartwatches can download and install the specified smartwatch app, and PCs can download and install the specified PC app.

[0061] Step 2: The mobile phone can run the specified mobile version of the application, the smartwatch can run the specified smartwatch version of the application, and the PC can run the specified PC version of the application.

[0062] Step 3: Complete the network association between multiple versions of specified applications on multiple devices.

[0063] Step 4: Enable collaborative work between multiple versions of the specified application.

[0064] In the aforementioned cross-device interaction process, when a user needs to enable collaborative work across multiple devices, the user needs to install the corresponding version of the specified application on different devices and log in to their account for each application. This involves the user operating on multiple devices, making the process complex.

[0065] Therefore, this application provides a plug-in control method, whereby a specified application can be installed on both electronic devices and other devices. The electronic device can receive user input and download specified plug-ins that implement the same cross-device function onto both the electronic device and other devices via the specified application. The electronic device can run the downloaded specified plug-in through its local specified application and notify other devices to also run the downloaded specified plug-in through their installed specified application. The electronic device can complete cross-device functions through its local specified plug-in and other specified plug-ins on other devices. In this way, the user can trigger the download of plug-ins that implement specified cross-device functions on both the electronic device and other devices, facilitating quick cross-device functionality implementation.

[0066] For example, when parents are away from home and need to play interactive games with their children, they can open a designated app that supports plugins (such as a smart living app) on their mobile phone. They can then select a specific interactive game plugin from the app's list of cross-device plugin combinations. After selecting the game and the large-screen device at home, the plugin for that interactive game can be downloaded simultaneously on both the phone and the large screen. The plugins on both the phone and the large screen can then run through their respective designated apps and connect via a network to play the interactive game. This saves users time and effort, allowing them to interact with family members in real time even when they are away from home.

[0067] For example, when a user needs to view live feeds from their home while traveling, they can open a designated app (such as a smart living app) on their phone that supports plugins. From the app's cross-device plugin list, they can select a home live view plugin and choose a large screen device at home to capture live feeds and / or audio. Both the phone and the large screen can simultaneously download the home live view plugin. The plugins on both devices can run through their respective designated apps and connect via a network. The large screen plugin can send the captured feeds and / or audio to the phone plugin. The phone plugin can then control the phone to output the feeds and / or audio from the large screen. This saves the user time and effort, allowing them to easily monitor their home from a distance.

[0068] The following describes a system architecture based on application plug-ins provided in the embodiments of this application.

[0069] Figure 3 A schematic diagram of an application plug-in system architecture provided in an embodiment of this application is shown.

[0070] like Figure 3 As shown, the application plug-in system architecture may include application developers, plug-in developers, cloud server 20, and multiple electronic devices. Cloud server 20 may include application server 21 and plug-in server 22. Multiple electronic devices may include electronic device 11 and electronic device 12.

[0071] Application developers can develop multiple versions of a designated application. Each designated application includes a basic module that implements its fundamental functions, such as taking photos, recording videos, accessing underlying communication capabilities, loading and running plugins, and account authentication. Optionally, the designated application may also include feature modules bound to the basic modules. These feature modules can implement extended functions built into the application, such as super-resolution processing of recorded footage or beautifying portraits in photos. Different versions of the designated application are adapted to different types of electronic devices, and may differ in interface display and / or feature modules. For example, an application developer can develop a mobile version of the designated application for a phone and a smartwatch version for a smartwatch. The mobile version may differ from the smartwatch version in interface style and layout, and may contain more feature modules than the smartwatch version, thus providing more functionality.

[0072] In some examples, different types of electronic devices can also be compatible with the same version of a specific application. For example, mobile phones and tablets can be compatible with the same version of a specific application.

[0073] In this application embodiment, the application developer can be the manufacturer of the electronic device, the manufacturer of the operating system on the electronic device, or the developer of a third-party application; this application does not limit this. That is, the specified application can be a basic application developed by the manufacturer of the electronic device itself (e.g., smart living, etc.), a basic application developed by the manufacturer of the operating system on the electronic device and embedded in the service package of the operating system (e.g., a basic application in the HarmonyOperatingSystemConnectService (HCS) package), or a third-party application (e.g., a social application, etc.).

[0074] Application developers can set up a set of standardized development interface plugin software development kits (SDKs) within a specific application during development. This allows plugin developers to rely on the plugin SDK to develop and compile their plugins. Plugins can also access the specified application through this plugin SDK.

[0075] Plugin developers can create one or more plugins that are compatible with and can run on a specific application developed by an application developer, thereby extending the functionality of that application; alternatively, plugin developers can also create new versions of plugins based on older versions.

[0076] In one example, different types of electronic devices are adapted to different versions of a specified application. Plugin developers can also develop different versions of plugins for the same cross-device function based on different versions of the specified application to adapt to different types of electronic devices. When different versions of the plugin run on different versions of the specified application, the interface display style and presentation provided by the plugin can differ, and / or, the different versions of the plugin can have different roles within the same cross-device function. For example, to implement a cross-device function for home real-time viewing, plugin developers can develop a mobile version of the home real-time viewing plugin for the mobile version of the specified application and a smartwatch version for the smartwatch. After the mobile phone and smartwatch are mutually authenticated, the smartwatch version of the home real-time viewing plugin can call the smartwatch version of the specified application to obtain the video stream captured by the camera and send the video stream to the mobile version of the home real-time viewing plugin. The mobile version of the home real-time viewing plugin can then call the mobile version of the specified application to receive the video stream sent by the smartwatch version of the home real-time viewing plugin and display the video stream.

[0077] After developing one or more versions of a specified application, application developers can publish these versions to cloud server 20. Similarly, after developing one or more plugins with the same cross-device functionality, plugin developers can publish these plugins as a combination on cloud server 20. Optionally, plugin developers can also develop single-device plugins and publish them to cloud server 20.

[0078] In one example, cloud server 20 may include application server 21 and plugin server 22, wherein a specified application may be published to application server 21, and a plugin or combination of plugins may be published to plugin server 22.

[0079] Electronic devices can download specified applications and / or plugins adapted to their device type from cloud server 20. For example, electronic device 11 can download a specified application of version A from application server 21. Electronic device 12 can download a specified application of version B from application server 21. Electronic device 11 can download one or more plugins that can be loaded and run on the specified application of version A from plugin server 22. Electronic device 12 can download one or more plugins that can be loaded and run on the specified application of version B from plugin server 22.

[0080] In one example, after an application developer develops one or more versions of a specified application (e.g., a smart living application or a basic application in the HarmonyOS service package), the electronic device manufacturer pre-installs one or more versions of the specified application that are compatible with the device type into the electronic device before it leaves the factory, depending on the device type.

[0081] It should be noted that the above Figure 3 The plug-in system architecture shown is merely an example and does not limit the application scenarios of the plug-in control method provided in the embodiments of this application.

[0082] The principle of a plug-in control method provided in the embodiments of this application is described below.

[0083] Figure 4 A schematic diagram illustrating the principle of a plug-in control method provided in an embodiment of this application is shown.

[0084] like Figure 4As shown, after developing one or more versions of a plugin that implements specified cross-device functionality, plugin developers can publish these plugins as a plugin suite to plugin server 22. Different versions of the plugin can adapt to different versions of the specified application. The plugin suite can include plugin A1, plugin A2, and plugin A3. Plugin A1 can adapt to the specified application of version A (e.g., the mobile version of Smart Life), plugin A2 can adapt to the specified application of version B (e.g., the large-screen version of Smart Life), and plugin A3 can adapt to the specified application of version C (e.g., the smart watch version of Smart Life). Plugins A1, A2, and A3 can work together to execute the specified cross-device functionality. When developing plugins A1, A2, and A3, developers can differentiate their designs in terms of user experience (UX) interface display or functional segmentation based on the different types of electronic devices they adapt to (which can also be understood as different versions of the specified application they adapt to). For example, different versions of the plugin may have different UX interface display sizes, or different numbers or display positions of controls on the UX interface. For another example, plugin A1 can be a mobile version plugin developed for cross-device functionality in a home theater setting; plugin A2 can be a large-screen version plugin developed for the same purpose; and plugin A3 can be a watch version plugin for the same purpose. After the mobile phone, watch, and large screen are mutually authenticated, the watch version plugin can call a designated application on the watch to obtain the video stream captured by the camera and send it to the mobile version plugin. The large-screen version plugin can also call a designated application on the large screen to obtain the video stream captured by the camera and send it to the mobile version plugin. The mobile version plugin can call a designated application on the mobile phone to receive and / or display the video streams sent by the watch and / or the large screen.

[0085] When a plugin developer publishes a plugin combination with specified cross-device functionality to the plugin server 22, they can also bind the working configuration information of the plugin combination to the plugin server 22. The working configuration information of the plugin combination describes one or more plugin workgroups within the plugin combination that implement the specified cross-device functionality. For example, the plugin combination may include a mobile version plugin A1, a large-screen version plugin A2, and a watch version plugin A3. The working configuration information can describe that plugins A1 and A2 support cross-device collaboration, plugins A1 and A3 can collaborate across devices, and plugins A1, A2, and A3 can collaborate across devices together, but plugins A2 and A3 cannot collaborate across devices.

[0086] Taking home motion capture as an example of cross-device functionality, the plugins in the plugin suite can determine the role of each device in the cross-device functionality of home motion capture based on the hardware capabilities of different devices. For example, devices with information acquisition capabilities such as cameras and microphones can act as input terminals, collecting environmental information video streams. Devices with output devices such as displays and speakers larger than a preset size can act as output terminals, outputting environmental information. Plugin developers can design a plugin suite for the cross-device functionality of home motion capture, including mobile version plugins, large-screen version plugins, watch version plugins, home camera version plugins, and car version plugins. Users can trigger network connections between electronic devices and other devices through the respective adapted plugins in the plugin suite, allowing one or more devices to collect environmental information and output the environmental information collected by one or more devices on a designated device. The environmental information can include audio streams, image streams, video streams, etc. The working configuration information of this plugin suite can be described as the following working combination:

[0087] 1) The mobile version plugin and the large-screen version plugin work as a single unit. The large-screen version plugin captures the video stream, while the mobile version plugin outputs the video stream.

[0088] 2) The mobile and watch plugins work as a single unit. The watch plugin captures the video stream, while the mobile plugin outputs the video stream.

[0089] 3) The mobile version plugin and the home camera version plugin work as a single unit. The home camera version plugin captures the video stream, while the mobile version plugin outputs the video stream.

[0090] 4) The mobile version plugin and the vehicle version plugin work as a single unit. The vehicle version plugin captures the video stream, while the mobile version plugin outputs the video stream.

[0091] 5) The mobile version plugin, watch version plugin, and large screen version plugin are combined into one working unit. The watch version plugin captures the first video stream, the large screen version plugin captures the second video stream, and the mobile version plugin can selectively output the first and / or second video streams.

[0092] 6) The mobile version plugin, watch version plugin, and home camera version plugin are combined into one working unit. The watch version plugin captures the first video stream, the home camera version plugin captures the second video stream, and the mobile version plugin can selectively output the first and / or second video streams.

[0093] 7) The mobile version plugin, large screen version plugin, and home camera version plugin are combined into one working unit. The large screen version plugin captures the first video stream, the home camera version plugin captures the second video stream, and the mobile version plugin can selectively output the first and / or second video streams.

[0094] 8) The mobile version plugin, large screen version plugin, and vehicle version plugin are combined into one working group. The large screen version plugin acquires the first video stream, the vehicle version plugin acquires the second video stream, and the mobile version plugin can selectively output the first and / or second video streams.

[0095] 9) The mobile version plugin, watch version plugin, and vehicle version plugin are combined into one working unit. The watch version plugin acquires the first video stream, the vehicle version plugin acquires the second video stream, and the mobile version plugin can selectively output the first and / or second video streams.

[0096] 10) The mobile version plugin, home camera version plugin, and vehicle version plugin are combined into one working unit. The home camera version plugin acquires the first video stream, the vehicle version plugin acquires the second video stream, and the mobile version plugin can optionally output the first and / or second video streams.

[0097] 11) The mobile version plugin, home camera version plugin, vehicle version plugin, and large screen version plugin form a single working combination. Specifically, the home camera version plugin acquires the first video stream, the vehicle version plugin acquires the third video stream, the large screen version plugin acquires the third video stream, and the mobile version plugin can selectively output the first and / or second and / or third video streams.

[0098] 12) The mobile version plugin, home camera version plugin, vehicle version plugin, watch version plugin, and large screen version plugin are combined into one working group. The home camera version plugin captures the first video stream, the vehicle version plugin captures the second video stream, the watch version plugin captures the third video stream, the large screen version plugin captures the fourth video stream, and the mobile version plugin can selectively output the first and / or second and / or third and / or fourth video streams.

[0099] 13) The large-screen version plugin, the vehicle version plugin, and the watch version plugin are combined into one working group. Among them, the vehicle version plugin realizes the acquisition of the first video stream, the watch version plugin realizes the acquisition of the second video stream, and the large-screen version plugin can selectively realize the output of the first video stream and / or the second video stream.

[0100] The above-described working configuration information for the plug-in combination is only used to explain the embodiments of this application and should not be construed as limiting. In specific implementations, the working configuration information for the above-described plug-in combination may include more or fewer working combinations.

[0101] In this embodiment, plugin adaptation to an electronic device and plugin adaptation to a specific application on an electronic device can mean that the specified application on the electronic device can run the plugin. For example, plugin A1 is adapted to a mobile phone, meaning that a specified application of version A on the mobile phone can support running plugin A1. Plugin A2 is adapted to a large screen, meaning that a specified application of version B on the large screen can support running plugin A2. Plugin A3 is adapted to a watch, meaning that a specified application of version C on the large screen can support running plugin A3. However, the specified application of version A on the mobile phone does not support running plugins A2 and A3, the specified application of version B on the large screen does not support running plugins A1 and A3, and the specified application of version C on the watch does not support running plugins A1 and A2.

[0102] Figure 5A A schematic diagram of the structure of the electronic device 100 is shown.

[0103] The following description uses electronic device 100 as an example to illustrate the embodiment. It should be understood that... Figure 5A The electronic device 100 shown is merely an example, and the electronic device 100 may have more than Figure 5A The more or fewer components shown can be combined into two or more components, or they can have different component configurations. Figure 5A The various components shown can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits.

[0104] Electronic device 100 may include: processor 110, external memory interface 120, internal memory 121, universal serial bus (USB) interface 130, charging management module 140, power management module 141, battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, button 190, motor 191, indicator 192, camera 193, display screen 194, and 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.

[0105] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

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

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

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

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

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

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

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

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

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

[0115] The GPIO interface can be configured 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.

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

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

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

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

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

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

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

[0123] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through an audio device (not limited to 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.

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

[0125] 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, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).

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

[0127] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD). The display panel can also be manufactured using organic light-emitting diodes (OLEDs), active-matrix organic light-emitting diodes (AMOLEDs), flexible light-emitting diodes (FLEDs), miniled, microled, micro-OLEDs, quantum dot light-emitting diodes (QLEDs), etc. In some embodiments, electronic device 100 may include one or N displays 194, where N is a positive integer greater than 1.

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

[0129] 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 on image noise and brightness. 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0155] 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 correspond to touch operations performed on different applications (such as taking photos, playing audio, etc.). Motor 191 can also correspond to different vibration feedback effects for touch operations performed on 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.

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

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

[0158] In this embodiment of the application, the type of electronic device 100 is not limited. For example, the electronic device can be: mobile phone, personal computer (PC), tablet computer, laptop computer, handheld computer, large screen (also known as smart TV), smart camera, smart refrigerator, in-vehicle device (e.g., in-vehicle entertainment screen), smart watch, smart speaker, smart refrigerator, smart air conditioner, smart camera, smart robot, mobile internet device (MID), smart point of sale (POS), wearable device, virtual reality (VR) device, augmented reality (AR) device, wireless terminal in industrial control, wireless terminal in self-driving, etc.

[0159] In this embodiment, the hardware structures of the electronic devices 11, 12, and 13 can all be referenced. Figure 5A The hardware structure of the electronic device 100 shown.

[0160] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. In this embodiment, the software system of electronic device 100 is illustrated using a layered architecture as an example. This layered architecture includes, but is not limited to, Android, HarmonyOS, and others.

[0161] Figure 5BThis is a software structure block diagram of the electronic device 100 according to an embodiment of the present invention.

[0162] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the operating system is divided into five layers, from top to bottom: the plugin layer, the application layer, the application framework layer, the runtime and system libraries, and the kernel layer.

[0163] The plugin layer can include n plugins, where n is a positive integer. A plugin is a program written according to a specific application programming interface (API). This plugin can only run within the specified application and cannot run independently of that application. Plugins can provide extended functionality to the specified application that it does not possess. Plugins can run on the specified application without installation. The programming languages ​​for plugins include, but are not limited to, Java and JavaScript, etc. In some embodiments, plugins may have different names depending on their programming language. For example, when the programming language of a plugin is JavaScript, it can also be called an app.

[0164] In one example, when the plugin's programming language is Java, in order to enable the plugin to run on the electronic device 100 without installation by using a specified application, it is necessary to add and execute the code in the plugin through class loader injection, the operating system of the electronic device 100 needs to call the components in the plugin through the runtime container, and it is necessary to identify the resources in the plugin through resource injection.

[0165] In one example, when the plugin's programming language is JavaScript, the specified application can serve as the base platform, providing application development interfaces (e.g., a JavaScript interface layer) to support plugin manufacturers in building and developing applications using JavaScript on the specified application (also known as mini-programs), and running on the specified application through the JavaScript interface layer.

[0166] In one example, a plugin can access the application through an interface (e.g., the plugin SDK). The application can then access the plugin by invoking the interface using reflection.

[0167] The application layer can include a series of applications.

[0168] like Figure 5BAs shown, applications can include camera, gallery, map, music, SMS, smart living, navigation, calling, games, and other applications. Applications can access plugins in the plugin layer that can run on that application through an interface.

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

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

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

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

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

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

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

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

[0177] Runtime includes core libraries and a virtual machine. Runtime is responsible for the scheduling and management of the Android system. In this embodiment, when an application is installed on the electronic device 100, or when an application loads a plugin through an interface, runtime can provide a runtime environment and a compilation environment.

[0178] The core library consists of two parts: one part is the functionalities that the Java language needs to call, and the other part is the core library of the operating system.

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

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

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

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

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

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

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

[0186] In this embodiment, the software system architecture of the electronic devices 11, 12, and 13 can all be referenced. Figure 5B The software system structure of the electronic device 100 shown.

[0187] Figure 5C A schematic diagram of the architecture of a communication system 50 provided in an embodiment of this application is shown.

[0188] like Figure 5CAs shown, the communication system 50 may include electronic device A and electronic device B. Both electronic device A and electronic device B include a plug-in layer, an application layer, a soft bus, a protocol stack, a hardware-software co-operation layer, and a basic communication layer.

[0189] The plugin layer can include one or more plugins. Plugins can run on a specified application in the application layer through an interface. Specifically, a plugin on electronic device A can be version 1, and a plugin on electronic device B can be version 2. Version 1 and version 2 plugins can work together to implement a specified cross-device function.

[0190] The application layer may include one or more applications. These one or more applications may include a specific application. Specifically, the specific application on electronic device A may be a specific application of version A. The specific application on electronic device B may be a specific application of version B.

[0191] In this case, when the plugin of version 1 is loaded and run on the specified application of version A, and when the plugin of version 2 is loaded and run on the specified application of version B, both the plugin of version 1 and the plugin of version 2 can call the communication capabilities provided by their respective soft buses to transfer data to each other.

[0192] A soft bus can include a bus hub, task and data buses, a security module, and a device profile module. Among these:

[0193] The bus hub is responsible for parsing commands to complete device discovery and connection, and for enabling file and message transfers between devices through task and data buses. The bus hub can include a data and computing center, a decision center, and an interconnect management center. The data and computing center is responsible for data processing and computation. The decision center is responsible for choosing solutions for device discovery, connection, and data transmission methods. The interconnect management center is responsible for managing the network topology between devices (e.g., forming a star network topology, or a mesh network topology), device discovery, and connection, among other functions.

[0194] In this embodiment, the bus hub can discover one or more devices near the electronic device using near-field communication technologies (e.g., Wi-Fi, Bluetooth, NFC, UWB, infrared, etc.). In one example, the bus hub can also discover the aforementioned one or more devices within the local area network where the electronic device is located. In another example, both the electronic device and the aforementioned one or more devices are connected to a server, and the bus hub can discover the online one or more devices through the server. These one or more devices and the electronic device may all be logged into the same account, or the accounts logged into the one or more devices may be bound to the accounts logged into the electronic device.

[0195] The task and data bus can include a task bus and a data bus. The task bus can be used to provide a path for transmitting small amounts of data (e.g., control signaling between devices, notification messages, etc.), while the data bus can be used to provide a path for transmitting large amounts of data (e.g., audio, video, and other file data, etc.).

[0196] The security module can be used to implement functions such as device authentication and access authorization.

[0197] The device profile module is used to manage and record device information for discovered or connected devices. This device information can include the device's hardware capabilities and system software characteristics. For example, device information may include one or more of the following: device type, device name, storage capacity, whether it is foldable, whether it has a screen, whether it has a camera, screen resolution, device security level, device operating system type, operating system version number, specified application (e.g., smart living application) version category, and so on.

[0198] The bus hub can combine one or more devices discovered by the bus hub with electronic devices to form a network of devices to be networked. The bus hub can transmit the device information of the devices to be networked to a designated application through an interface (e.g., HCS service package).

[0199] Protocol stacks and hardware / software co-operation layers can invoke one or more basic communication technologies of the basic communication layer to enable communication between devices (e.g., between electronic device A and electronic device B).

[0200] The basic communication layer can provide one or more of the following communication technologies: WLAN, Bluetooth, NFC, infrared, Ethernet, cellular communication (including 2G / 3G / 4G / 5G, etc.), satellite communication, etc.

[0201] The following is a hardware structure diagram of a cloud server 200 provided in the embodiments of this application.

[0202] like Figure 6 As shown, the cloud server 200 includes one or more processors 201, communication interfaces 202, and memory 203. The processors 201, communication interfaces 202, and memory 203 can be connected via a bus 204 or other means. This embodiment of the application takes the connection via bus 204 as an example. Wherein:

[0203] The processor 201 may consist of one or more general-purpose processors, such as a CPU. The processor 201 can be used to run the relevant program code for the device control method.

[0204] The communication interface 202 can be a wired interface (e.g., an Ethernet interface) or a wireless interface (e.g., a cellular network interface or a wireless LAN interface) for communicating with other nodes. In this embodiment, the communication interface 202 can specifically be used to communicate with one or more electronic devices.

[0205] Memory 203 may include volatile memory, such as RAM; it may also include non-volatile memory, such as ROM, flash memory, HDD, or SSD; Memory 203 may also include combinations of the above types of memory. Memory 203 can be used to store a set of program code so that processor 201 can call the program code stored in memory 203 to implement the server-side implementation method of the embodiments of this application. In the embodiments of this application, memory 203 may also be a storage array, etc.

[0206] In some embodiments, the cloud server 200 may include multiple servers, such as application server 21, plug-in server 22, etc. The hardware structure of these multiple servers can refer to the above description. Figure 6 The hardware structure of the cloud server 200 is shown.

[0207] It needs to be explained that, Figure 6 The cloud server 200 shown is merely one implementation of the embodiment of this application. In actual applications, the cloud server 200 may include more or fewer components, which is not limited here.

[0208] The following describes a plug-in control method provided in the embodiments of this application, combined with application scenarios.

[0209] Figures 7A-7J An exemplary interface diagram of the plug-in control method in the "home scene" scenario is provided.

[0210] like Figure 7AAs shown, the electronic device 11 can display a desktop 710. This desktop 710 displays a page with application icons, including multiple application icons (e.g., weather app icon, stock app icon, calculator app icon, settings app icon, email app icon, gallery app icon, music app icon, video app icon, browser app icon, smart living app icon 712, etc.). Below the multiple application icons, a page indicator is displayed to indicate the positional relationship between the currently displayed page and other pages. Below the page indicator are multiple tray icons (e.g., dialer app icon, messaging app icon, contacts app icon, camera app icon), which remain displayed when switching pages. In some embodiments, the page may also include multiple application icons and a page indicator. The page indicator may not be part of the page and may exist independently. The aforementioned image icons are also optional, and this embodiment does not impose any limitations on this. A status bar 711 is displayed in the upper part of the desktop 710. The status bar 711 may include one or more signal strength indicators for mobile communication signals (also known as cellular signals), battery status indicators, time indicators, Wi-Fi signal indicators, etc.

[0211] Electronic device 11 can receive user actions on status bar 711 (e.g., swiping down), and in response to such actions, electronic device 11 can display, as shown below. Figure 7B The control center interface shown is 720.

[0212] like Figure 7B As shown, the control center interface 720 may include one or more functional controls (e.g., a wireless LAN (WLAN) switch control, a Bluetooth switch control, a mute switch control, an MFC switch control, an auto-rotate switch control, a hotspot switch control, a mobile data switch control, and a brightness adjustment control), a music control card, and a HyperTerminal control card 725. The HyperTerminal control card 725 may include an activation control 726.

[0213] Electronic device 11 can receive user actions (e.g., clicks) on the opening control 726, and in response to such actions, electronic device 11 can display, as shown below. Figure 7C The HyperTerminal interface shown is 730.

[0214] like Figure 7CAs shown, the super terminal interface 730 may include a device icon 731 for the electronic device 11 and device icons for one or more devices discovered by the electronic device 11. For example, one or more devices discovered by the electronic device 11 may include a large-screen device "MateTV", a smart refrigerator "MateFridge", a smart robot "MateRobot", a smartwatch "MateWatch", a smart speaker "SoundX", and a large-screen device "MateTV Pro". The super terminal interface 730 may display device icons 732, 733, 734, 735, 736, and 737 corresponding to the large-screen device "MateTV Pro". In this scenario, the user can drag the device icon (e.g., device icon 732) of a specified device in the Super Terminal interface 730 to the vicinity of the device icon 731 of the electronic device 11, thereby triggering the electronic device 11 to perform collaborative functions with the specified device (e.g., screen mirroring, audio playback, call forwarding, etc.).

[0215] In this embodiment, electronic device 11 can discover one or more devices near it using near-field communication technologies (e.g., Wi-Fi, Bluetooth, NFC, UWB, infrared, etc.). In one example, electronic device 11 can also discover the aforementioned one or more devices within its local area network. In another example, electronic device 11 and the aforementioned one or more devices are connected to a server, and electronic device 11 can discover the online one or more devices through the server. These devices and electronic device 11 may all be logged into the same account, or the accounts logged into by the one or more devices may be bound to the accounts logged into on electronic device 11.

[0216] like Figure 7D As shown, after electronic device 11 detects one or more devices, electronic device 11 can display desktop 710. For a textual description of desktop 710, please refer to the above. Figure 7A The embodiments shown are not described in detail here.

[0217] Electronic device 11 can receive user actions (e.g., clicks) on the smart living application icon 712, and in response to the action, electronic device 11 can display, as shown below. Figure 7E The smart application interface shown is 740.

[0218] like Figure 7EAs shown, the smart application interface 740 can display multiple page options. These page options may include a homepage option 741, a plugin marketplace option, smart options, and a "My" option. Each page option can trigger the electronic device 11 to display the corresponding page on the smart application interface 740. When the homepage option is selected, the page corresponding to homepage option 741 may include device management cards for one or more devices discovered by the electronic device 11. For example, the device management cards for one or more devices may include device management cards for the large-screen device "MateTV", the smart robot "MateRobot", the smart speaker "SoundX", the smartwatch "MateWatch", the smart refrigerator "MateFridge", and the large-screen device "MateTVPro".

[0219] Electronic device 11 can receive user actions (e.g., clicks) on the plug-in market option 742. In response to this action, electronic device 11 can send the device information of the networked devices to plug-in server 22 via a smart living application. The networked devices may include electronic device 11 and one or more devices discovered by electronic device 11. The device information of the networked devices may include the device name, device type, etc. After receiving the device information of the networked devices, plug-in server 22 can, based on the working configuration information of one or more cross-device function plug-in combinations and the device information of the networked devices, filter out one or more specified cross-device function plug-in combinations that can run on the networked devices. Plug-in server 22 can send the plug-in information of one or more specified cross-device functions to the smart living application of electronic device 11. Electronic device 11 can display the plug-in information of one or more specified cross-device functions in the interface of the smart living application.

[0220] For example, one or more specified cross-device functions may include interactive gaming functions, interactive media functions, and home entertainment functions. After receiving plug-in information for one or more specified cross-device functions sent by the plug-in server 22, the electronic device 11 may display, as shown below... Figure 7F The plugin marketplace interface shown is 750.

[0221] like Figure 7FAs shown, the plugin marketplace interface 750 can display the page corresponding to plugin marketplace option 742. This page can include a single-device function area 751 and a cross-device collaboration function area 752. The single-device function area 751 can include one or more plugin options for single-device functions. For example, one or more single-device functions could include a table lamp remote control function, an air conditioner remote control function, a TV remote control function, and so on. The electronic device 11 can receive input from the user to download the plugin for this single-device function. In response to this input, the electronic device 11 can run the plugin for this single-device function through the smart living application. Through the predefined inter-device interaction control interface of the smart living application, it can control other devices. For details on the function of single-device plugins, please refer to the above. Figure 1 The embodiments shown are not described in detail here.

[0222] The cross-device collaboration function area 752 may include one or more plugin options specifying cross-device functions. For example, one or more plugin options specifying cross-device functions may include plugin options for interactive gaming functions, plugin options for interactive media functions, plugin options 753 for home real-time functions, and so on. The electronic device 11 can receive input from the user selecting multiple devices in the network to download plugins for the first cross-device function. The electronic device 11 can trigger the multiple devices selected by the user to download their respective adapted plugins for the first cross-device function and negotiate with the multiple devices specified by the user to complete the first cross-device function.

[0223] Electronic device 11 can receive user actions on the plug-in option 753 (e.g., clicking), and in response to the action, electronic device 11 can display as follows: Figure 7G The home view function interface shown is 760.

[0224] like Figure 7G As shown, the home real-time view function interface 760 may include option areas for various device types that support the home real-time view function. For example, option area 761 for a mobile phone, option area 763 for a large screen, option area 766 for a watch, option area 768 for a home camera, and option area 769 for a car entertainment screen. For instance, the device type of electronic device 11 can be a mobile phone, and option area 761 can be the option area corresponding to electronic device 11. Option area 761 may display prompt information (e.g., the text "This device"), which can be used to indicate that option area 761 corresponds to electronic device 11. Option area 761 may display a selection control 762 for electronic device 11. The home real-time view function interface 760 may also include a control 771 for activating home real-time view.

[0225] Among the devices discovered by electronic device 11, there are several, including the large-screen device "MateTV", the smart refrigerator "MateFridge", the smart robot "MateRobot", the smartwatch "MateWatch", the smart speaker "SoundX", and the large-screen device "MateTV Pro". Of these devices, the ones supporting the aforementioned home theater functionality are the large-screen device "MateTV", the smartwatch "MateWatch", and the large-screen device "MateTV Pro". Therefore, the large-screen device's option area 763 can display selection controls 764 for the large-screen device "MateTV" and 765 for the large-screen device "MateTV Pro". The watch's option area 766 can display selection controls 767 for the smartwatch "MateWatch".

[0226] Since no home camera or in-vehicle entertainment screen was found among the multiple devices discovered by electronic device 11, electronic device 11 may not display any selection controls in the option area 768 of the home camera and the option area 769 of the in-vehicle entertainment screen.

[0227] Optionally, the option area 768 of the home camera and the option area 769 of the in-vehicle entertainment screen may also display a prompt message that can be used to inform the user that the electronic device 11 has not detected a home camera or in-vehicle entertainment screen that can be used for home real-time functionality. For example, the prompt message may be the text "No device detected".

[0228] Optionally, the background color and / or text color in option area 768 of the home camera and option area 769 of the in-vehicle entertainment screen can be set differently from those in option areas 761, 763, and 766. This facilitates notification to the user that electronic device 11 has not found a device available for specifying cross-device functionality.

[0229] Optionally, the home camera option area 768 may also display a purchase link for the home camera, and the in-vehicle entertainment screen option area 769 may also display a shopping link for vehicles that include in-vehicle entertainment screens. This allows users to quickly access shopping information (e.g., price, device details, etc.) for devices that can be used for specified cross-device functions.

[0230] Optionally, the electronic device 11 may also display a device type combination prompt in the aforementioned home real-view function interface 760. This device combination prompt can be used to remind the user that one or more device type combinations in the network device support the home real-view function (e.g., combination 1: "mobile phone + large screen + watch", combination 2: "mobile phone + large screen", combination 3: "mobile phone + watch", etc.).

[0231] In one example, the Home View feature interface 760 may display only the option areas corresponding to the devices in the network that support the Home View feature. For example, device types supporting the Home View feature include mobile phones, large screens, watches, home cameras, and in-car entertainment screens. The network devices include the mobile phone "Mate50" (i.e., electronic device 11), the large screen device "MateTV", the smart refrigerator "MateFridge", the smart robot "MateRobot", the smart watch "MateWatch", the smart speaker "SoundX", and the large screen device "MateTV Pro". Therefore, electronic device 11 may display only the option area 761 for the mobile phone, the option area 763 for the large screen, and the option area 766 for the watch in the Home View feature interface 760.

[0232] like Figure 7H As shown, electronic device 11 can receive user selection operations (e.g., clicks) on selection controls 762 and 765. In response to this selection operation, electronic device 11 can switch selection controls 762 and 765 from an unselected state to a selected state, indicating that the mobile phone "Mate50" (i.e., electronic device 11) and the large-screen device "MateTV Pro" have been selected by the user to complete the home reality function. After selection controls 762 and 765 are switched to the selected state, electronic device 11 can receive user operations (e.g., clicks) on the control 771 to enable home reality. In response to this operation, electronic device 11 can trigger the download and operation of the mobile version plugin for the home reality function on electronic device 11, and trigger the download and operation of the large-screen version plugin for the home reality function on the large-screen device "MateTV Pro". The large-screen device "MateTV Pro" controls its camera and microphone to capture video streams in real time through the large-screen version plugin, and sends the captured video streams to electronic device 11. Electronic device 11 can capture the video stream sent by the large-screen device "MateTV Pro" through a mobile phone plugin and display it on the screen of electronic device 11.

[0233] For example, such as Figure 7I As shown, after receiving a video stream from the large-screen device "MateTV Pro", the electronic device 11 can display the Home Live View function interface 780. This Home Live View function interface 780 may include a video display option 781 and a device reselection control 782. The video display option 781 can display the video stream sent by the large-screen device "MateTV Pro". The device reselection control 782 can trigger the electronic device 11 to reselect multiple devices to perform the Home Live View function.

[0234] Electronic device 11 can receive a user's selection operation (e.g., click) on the video screen option 781, and in response to the operation, electronic device 11 can display as follows: Figure 7J The live feed interface 790 is shown. This live feed interface 790 can display the live feed 791 captured in real time by the large-screen device "MateTV Pro".

[0235] Optionally, the live video interface 790 may also include a video call control 792. This video call control 792 can be used to trigger a video call between the electronic device 11 and the large-screen device "MateTV Pro".

[0236] In one example, when a user selects multiple input devices (e.g., a large-screen device "MateTV Pro" and a smartwatch "MateWatch") in the Home Live feature, electronic device 11 can trigger each of these input devices to download its corresponding plugin from the Home Live plugin suite. Electronic device 11 can receive multiple video streams captured and transmitted by these input devices, and electronic device 11 can then... Figure 7I The Home Reality feature interface 780 shows video feed options for multiple input devices, and each video feed option can display the real-time video stream captured by the corresponding input device.

[0237] Figure 8 A flowchart illustrating a plug-in control method provided in an embodiment of this application is shown.

[0238] like Figure 8 As shown, this plug-in control method can be applied to a communication system including a plug-in server 22 and multiple electronic devices. The multiple electronic devices may include electronic device 11 and electronic device 12. Electronic device 11 may run a specified application of version A, and electronic device 12 may run a specified application of version B. In one example, version A and version B may be the same; in another example, versions A and B may be different. This embodiment uses electronic device 11 as a mobile phone "Mate50" and electronic device 12 as a large-screen "MateTV Pro" to exemplify the flow of the plug-in control method.

[0239] The plug-in control method may include the following steps:

[0240] S801, Plug-in Server 22 can store plug-in combinations with multiple cross-device functions and the working configuration information of the plug-in combinations.

[0241] Cross-device functionality requires at least two plugins to work together. For example, multiple cross-device functions may include interactive gaming, interactive media, home live view, call forwarding, home presence detection, and so on.

[0242] A plugin suite can include one or more versions of the plugin that enable cross-device functionality. For example, a plugin suite for home augmented reality functionality could include mobile version plugins, large-screen version plugins, watch version plugins, home camera version plugins, and car version plugins.

[0243] The work configuration information can be used to describe one or more plugin workgroups in a plugin portfolio that implement cross-device functionality. For example, a plugin portfolio may include a mobile version of plugin A1, a large-screen version of plugin A2, and a watch version of plugin A3. The work configuration information of the plugin portfolio can describe that plugins A1 and A2 can support cross-device collaboration, plugins A1 and A3 can work together across devices, and plugins A1, A2, and A3 can work together to implement cross-device functionality, but plugins A2 and A3 cannot implement cross-device functionality.

[0244] The above examples are merely for illustrative purposes and should not be construed as limiting the scope of this application.

[0245] For detailed descriptions of plugin combinations and configuration information, please refer to the aforementioned documentation. Figure 4 The embodiments shown are not described in detail here.

[0246] S802, Electronic device 11 can obtain device information of one or more discovered devices.

[0247] Among them, electronic device 11 can discover one or more devices in the vicinity of electronic device 11 through near field communication technologies (e.g., Wi-Fi, Bluetooth, NFC, UWB, infrared, etc.).

[0248] In one example, electronic device 11 can also discover one or more of the aforementioned devices within the local area network where electronic device 11 is located.

[0249] In one example, electronic device 11 and one or more of the aforementioned devices are connected to the server. Electronic device 11 can discover the one or more online devices through the server. These one or more devices and electronic device 11 may all be logged into the same account, or the accounts logged into by these one or more devices may be linked to the accounts logged into on electronic device 11.

[0250] One or more devices discovered by electronic device 11 can communicate with electronic device 11.

[0251] The device information mentioned above may include one or more of the following: device type, device name, storage capacity, whether it is foldable, whether it has a screen, whether it has a camera, screen resolution, device security level, device operating system type, operating system version number, specified application (e.g., smart living application) version category, etc.

[0252] S803, electronic device 11 can send the device information of the device to be networked to the plug-in server 22.

[0253] The devices to be networked may include electronic device 11 and one or more devices discovered by electronic device 11.

[0254] S804, the plug-in server 22 can select one or more plug-in combinations of specified cross-device functions from multiple plug-in combinations of cross-device functions based on the device information of the device to be networked.

[0255] The specified cross-device function refers to a function supported by at least two devices among the devices to be networked. For example, multiple cross-device functions may include interactive gaming, interactive media, home augmentation, call forwarding, and home human detection. The devices to be networked may include electronic device 11 and electronic device 12, where electronic device 11 is a mobile phone and electronic device 12 is a large-screen device. The interactive gaming, interactive media, and home augmentation functions all support working together with both a mobile phone and a large screen, while the call forwarding and home human detection functions do not. Therefore, the specified cross-device functions may include interactive gaming, interactive media, and home augmentation.

[0256] S805, the plug-in server 22 can send plug-in combination information for one or more specified cross-device functions to the electronic device 11.

[0257] S806, Electronic device 11 can display information on one or more plug-in combinations that specify cross-device functions.

[0258] The plug-in combination information may include one or more of the following: specifying the name of the cross-device function, specifying the function description of the cross-device function, specifying the device types supported by the cross-device function, specifying the working combination options of the cross-device function, etc.

[0259] In one example, the plugin server 22 can send plugin combination information to the electronic device 11 in the form of a page, and the electronic device 11 can display the plugin combination information for the specified cross-device function in the form of a page. For example, a page including the plugin combination information can be found above. Figure 7F The plugin marketplace interface shown is 750 or... Figure 7G The home view function interface shown is 760.

[0260] S807, electronic device 11 can receive a user's selection operation to implement the first cross-device function by selecting electronic device 11 and electronic device 12.

[0261] For example, the first cross-device function could be the aforementioned home reality function. The user's selection of electronic devices 11 and 12 to implement the first cross-device function can refer to the above. Figure 7H The operations for selecting control 762, selecting control 765, and activating the home reality control 771 in the illustrated embodiment will not be described in detail here.

[0262] S808. In response to the selection operation, the electronic device 11 can determine whether it has a locally cached first plugin adapted to the electronic device 11 from the first plugin combination corresponding to the first cross-device function. If not, proceed to step S809. If yes, proceed to step S811.

[0263] For example, the device type of electronic device 11 can be a mobile phone, and the first plugin can be the mobile version plugin in the first plugin combination.

[0264] In the embodiments of this application, plug-in adaptation to an electronic device and plug-in adaptation to a specific application on an electronic device can mean that a specific application on the electronic device can run the plug-in. For example, if the first plug-in is adapted to electronic device 11, it means that a specific application of version A on electronic device 11 can support running the first plug-in. If the second plug-in is adapted to electronic device 12, it means that a specific application of version B on electronic device 12 can support running the second plug-in. However, the specific application of version A on electronic device 11 does not support running the second plug-in, and the specific application of version B on electronic device 12 does not support running the first plug-in.

[0265] S809. When the electronic device 11 does not have the first plugin cached locally, the electronic device 11 can send a download request 1 to the plugin server 22. This download request 11 can be used to request the download of the first plugin from the first plugin combination from the plugin server 22.

[0266] S810 and plugin server 22 can send the first plugin to electronic device 11 after receiving download request 1.

[0267] S811, the electronic device 11 sends the plugin information of the second plugin in the first plugin combination that is compatible with the electronic device 12 to the electronic device 12.

[0268] The plugin information for the second plugin includes the plugin identifier of the second plugin, etc.

[0269] For example, the device type of electronic device 12 can be a large screen, and the second plugin can be the large screen version of the first plugin combination.

[0270] S812: After receiving the plugin information of the second plugin, the electronic device 12 can determine whether the second plugin is cached locally. If not, proceed to step S813. If yes, proceed to step S820.

[0271] S813. If the electronic device 12 does not have a second plugin cached locally, the electronic device 12 can determine whether it has the ability to download the plugin via the internet. If not, proceed to step S814. If yes, proceed to step S818.

[0272] S814. When electronic device 12 does not have the ability to download plugins via the internet, electronic device 12 can send a download assistance request to electronic device 11. This download assistance request is used to request electronic device 11 to assist electronic device 12 in downloading the second plugin.

[0273] S815, after receiving a download assistance request, electronic device 11 can send download request 2 to plugin server 22. Download request 2 can be used to request the download of a second plugin from plugin server 22.

[0274] S816, the plugin server 22 can send a second plugin to the electronic device 11 after receiving the download request 2.

[0275] S817 After receiving the second plugin sent by the plugin server 22, the electronic device 11 can send the second plugin to the electronic device 12.

[0276] S818. When the electronic device 12 has the ability to download plugins via the internet, the electronic device 12 can send a download request 3 to the plugin server 22. This download request 3 can be used to request the download of a second plugin from the plugin server 22.

[0277] After receiving the download request 3, the plugin server 22 can send the second plugin to the electronic device 12.

[0278] S820. After the electronic device 12 acquires the second plugin, the electronic device 12 can send feedback information to the electronic device 11. This feedback information can be used to indicate that the electronic device 12 has acquired the second plugin.

[0279] S821. After receiving the feedback information, electronic device 11 can send a plugin startup notification and network information to electronic device 12 through the specified application of version A. This plugin startup notification can be used to notify electronic device 12 to start the second plugin.

[0280] The network information may include device identifiers (e.g., serial number, MAC address, IP address, etc.) and network authentication credentials for multiple network devices specified by the user to implement the first cross-device function. The device identifiers for the multiple network devices include the device identifiers of electronic device 11 and electronic device 12. The network authentication credentials are used for plug-in layer authentication between plug-ins on the multiple network devices. After plug-in layer authentication is completed between plug-ins on the multiple network devices (e.g., between the first plug-in and the second plug-in), the plug-ins on the multiple network devices can establish a network connection and execute the first cross-device function.

[0281] S822, Electronic device 11 can launch the first plugin through a specified application of version A.

[0282] Step S822 can be performed before or after step S821, and is not limited here.

[0283] S823 and electronic device 12 can launch the second plugin through the specified application of version B after receiving the plugin launch notification.

[0284] S824, the first plugin and the second plugin complete the network authentication.

[0285] In this embodiment, the first and second plugins can complete network authentication at the plugin layer based on the device identifiers and network authentication credentials of multiple networked devices. For example, the network authentication credentials may include a specified system account. When the first plugin verifies that the system account logged in locally on electronic device 11 matches the specified system account, and the second plugin verifies that the system account logged in locally on electronic device 12 matches the specified system account, the first and second plugins complete network authentication. In this embodiment, the network authentication method between the first and second plugins is not limited to the above example and may use other authentication methods, which are not limited here.

[0286] S827, the first plug-in and the second plug-in complete the network connection.

[0287] After the first and second plugins complete network authentication, they can establish a plugin-level network connection based on the device identifiers and network authentication credentials of multiple networked devices. This network connection can be a short-range communication method, such as Bluetooth, Wi-Fi, or UWB, or a long-range connection, such as a relay link established through a server. In one example, the network connection can also be a combination of the above communication methods.

[0288] S828, the first plug-in and the second plug-in perform the first cross-device function.

[0289] For example, the first cross-device function could be a home reality feature, where the textual description of this home reality feature can refer to the above. Figures 7A-7J The embodiments shown are not described in detail here.

[0290] In some embodiments, after the first plugin on electronic device 11 and the second plugin on electronic device 12 have completed the first cross-device function, electronic devices 11 and 12 can actively delete the first and second plugins. Optionally, electronic device 11 can also delete the first plugin when it detects that the first plugin has not been used for more than a preset time (e.g., one month), and electronic device 12 can also delete the second plugin when it detects that the second plugin has not been used for more than a preset time (e.g., one month). This allows electronic devices 11 and 12 to promptly delete plugins after use, saving storage space.

[0291] In some embodiments, after the first plugin on electronic device 11 and the second plugin on electronic device 12 have completed the first cross-device function, electronic device 11 can receive and respond to the user's operation, delete the first plugin, and send a deletion notification to electronic device 12, notifying electronic device 12 to delete the second plugin. This allows the user to choose to delete unwanted plugins after electronic devices 11 and 12 have finished using them, saving storage space.

[0292] In this embodiment, the number of networking devices is not limited to two, but can be more than two. For example, electronic device 11, electronic device 12, electronic device 13, etc., are not limited here. The process of other devices downloading plugins can also refer to the process of electronic device 12 downloading plugins in the above embodiment, and the process of other devices performing network authentication and network connection can also refer to the process of electronic device 11 and electronic device 12 performing network authentication and network connection in the above embodiment, which will not be repeated here.

[0293] This application provides a plug-in control method whereby an electronic device 11 and other devices can have designated applications installed. The electronic device 11 can receive user input and download designated plug-ins implementing the same cross-device function to both the electronic device 11 and other devices via the designated applications. The electronic device 11 can run the downloaded designated plug-ins through its local designated application and notify other devices to also run their downloaded designated plug-ins through their installed designated applications. The electronic device 11 can then complete cross-device functions with designated plug-ins on other devices. In this way, users can trigger the download of plug-ins implementing designated cross-device functions on both the electronic device 11 and other devices, facilitating quick cross-device functionality.

[0294] The following describes a plug-in control method provided in this application embodiment, using another application scenario as an example.

[0295] In one application scenario, a specified application can be installed on both electronic device 11 and other devices. The specified application on electronic device 11 displays one or more plugins supported by the specified application on other devices. Electronic device 11 can control other devices to download the specified plugins through the local specified application. Electronic device 11 can also control other devices to launch and run the specified plugins through the local specified application. In this way, users can control other devices to download specified plugins from electronic device 11, making it convenient for users to quickly add and activate new functions on other devices.

[0296] Figure 9 A schematic diagram illustrating the principle of a plug-in control method provided in an embodiment of this application is shown.

[0297] like Figure 9 As shown, taking electronic device 11 and robot device 14 as examples, the plug-in control method may include the following steps:

[0298] 1. Plugin developers can publish one or more robot plugins to the plugin server 22. Different robot plugins can control the robot device 14 to achieve different robot functions. For example, the one or more robot plugins may include a robot sweeping plugin, a robot care plugin, and a robot cooking plugin. Among them, the robot sweeping plugin can control the robot to sweep the floor, the robot care plugin can control the robot to monitor dangerous human behavior and output danger alarms, the robot cooking plugin can control the robot to cook rice, and so on.

[0299] 2. The plugin server 22 can push the display information of one or more robot plugins to a designated application on the electronic device 11.

[0300] The version of the specified application on the electronic device 11 is different from the version of the specified application on the robot device 14. For example, the electronic device 11 has the specified application version A installed, while the robot device 14 has the specified application version B installed.

[0301] The information displayed for a robot plugin may include one or more of the following: the name of the robot plugin, a description of the robot plugin's functions, the types of devices that support the robot plugin, etc.

[0302] In one example, electronic device 11 can obtain device information of robot device 14 and send this information to plugin server 22. Based on the device information of robot device 14, plugin server 22 determines one or more robot plugins supported by robot device 14. Plugin server 22 can then send display information of these one or more robot plugins to electronic device 11.

[0303] The device information may include one or more of the following: device type, device name, storage capacity, whether it is foldable, whether it has a screen, whether it has a camera, screen resolution, device security level, device operating system type, operating system version number, specified application (e.g., smart living application) version category, etc.

[0304] 3. Electronic device 11 can display the robot plugin's information in the interface of a specified application and receive input from the user to select a specified robot plugin.

[0305] 4. In response to the user's input of selecting a specified robot plugin, the electronic device 11 can send the plugin information of the specified robot plugin to the robot device 14.

[0306] The plugin information for a specified robot plugin may include the identifier of the specified robot plugin, etc.

[0307] 5. Robot device 14 can download and launch the specified robot plugin through the specified application of version B.

[0308] In one example, after receiving plugin information for a specified robot plugin, robot device 14 can determine whether it has the specified robot plugin cached locally. If robot device 14 has the specified robot plugin cached locally, it can directly launch and run the specified robot plugin through the specified application of version B.

[0309] If the specified robot plugin is not cached locally on robot device 14, and robot device 14 has the ability to download plugins via the Internet, then robot device 14 can download the specified robot plugin from plugin server 22 and start running the specified robot plugin through the specified application of version B.

[0310] If the robot device 14 does not have the specified robot plugin cached locally, and the robot device 14 does not have the ability to download plugins online, then the robot 14 can send a download assistance request to the electronic device 11. This download assistance request can be used to request the electronic device 11 to download the specified robot plugin from the plugin server 22 and forward it to the robot device 14. After receiving the specified robot plugin sent by the electronic device 11, the robot device 14 can start and run the specified robot plugin through the specified application of version B.

[0311] After the robot device 14 starts running the specified robot plugin through the specified application of version B, the robot device 14 can execute the robot function corresponding to the specified robot plugin (e.g., sweeping function, caregiving function, cooking function, etc.) through the specified robot plugin.

[0312] In this embodiment of the application, the above-described plug-in control method is not limited to the plug-in control scenario of electronic device 11 and robot device 14, but can also be applied to other control scenarios, such as the plug-in control scenario of electronic device 11 and vehicle 15.

[0313] Figure 10 A schematic diagram illustrating the principle of a plug-in control method provided in an embodiment of this application is shown.

[0314] like Figure 10 As shown, taking electronic device 11 and vehicle 15 as examples, the plug-in control method may include the following steps:

[0315] 1. Plugin developers can publish one or more vehicle plugins to the plugin server 22. Different vehicle plugins can control vehicle 15 to achieve different vehicle functions. For example, the one or more vehicle plugins may include an autonomous driving plugin, a pedestrian detection plugin, and an automatic parking plugin. Among them, the autonomous driving plugin can provide autonomous driving functions for vehicle 15. The pedestrian detection plugin can provide vehicle 15 with the function of detecting pedestrians during driving and controlling vehicle 15 to brake when it is at a preset distance from the pedestrian. The automatic parking plugin can provide vehicle 15 with the function of automatic parking, and so on.

[0316] 2. The plugin server 22 can push the display information of one or more vehicle plugins to the vehicle application of the electronic device 11.

[0317] The version of the vehicle application on electronic device 11 is different from the version of the vehicle application on vehicle 15. For example, electronic device 11 has vehicle application version A installed, while vehicle 15 has vehicle application version B installed.

[0318] The information displayed for a vehicle plugin may include one or more of the following: the name of the vehicle plugin, a description of the vehicle plugin's functions, the types of devices that support the vehicle plugin, etc.

[0319] In one example, electronic device 11 can obtain device information of vehicle 15 and send this information to plugin server 22. Based on the device information of vehicle 15, plugin server 22 determines one or more vehicle plugins supported by vehicle 15. Plugin server 22 can then send display information for these one or more vehicle plugins to electronic device 11.

[0320] The device information may include one or more of the following: device type, device name, storage capacity, whether it is foldable, whether it has a screen, whether it has a camera, screen resolution, device security level, device operating system type, operating system version number, specified application (e.g., vehicle application) version category, etc.

[0321] 3. Electronic device 11 can display information about vehicle plugins in the interface of vehicle applications and receive input from users to select and purchase specific vehicle plugins.

[0322] 4. In response to the user's input of selecting and purchasing a specified vehicle plugin, the electronic device 11 can send the plugin information of the specified vehicle plugin to the vehicle 15.

[0323] The plugin information for a specified vehicle plugin may include the plugin's identifier, etc.

[0324] 5. Vehicle 15 can download and launch the specified vehicle plugin through the vehicle application of version B.

[0325] In one example, after receiving plugin information for a specified vehicle plugin, vehicle 15 can determine whether it has the specified vehicle plugin cached locally. If vehicle 15 has the specified vehicle plugin cached locally, it can directly launch and run the specified vehicle plugin through the vehicle application of version B.

[0326] If the specified vehicle plugin is not cached locally on vehicle 15, and vehicle 15 has the ability to download plugins via the Internet, then vehicle 15 can download the specified robot plugin from plugin server 22 and start running the specified vehicle plugin through the specified application of version B.

[0327] If the specified vehicle plugin is not cached locally in vehicle 15, and vehicle 15 does not have the ability to download plugins online, vehicle 15 can send a download assistance request to electronic device 11. This download assistance request can be used to request electronic device 11 to download the specified vehicle plugin from plugin server 22 and forward it to vehicle 15. After receiving the specified vehicle plugin sent by electronic device 11, vehicle 15 can start and run the specified vehicle plugin through vehicle application version B during driving.

[0328] Once vehicle 15 starts running the specified vehicle plugin through the specified application of version B, vehicle 15 can execute the vehicle functions corresponding to the specified vehicle plugin (e.g., autonomous driving function, pedestrian detection function, automatic parking function, etc.).

[0329] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

Claims

1. A plug-in control method, applied to a first electronic device running a first application, characterized in that, include: The system receives a first operation from a user who selects the first electronic device and the second electronic device to perform a first cross-device function; wherein the first plug-in combination of the first cross-device function includes a first plug-in that is supported by the first application and a second plug-in that is supported by the second application installed on the second electronic device. The first plugin is a program written using a specified application programming interface (API) and runs on the first application through the specified API. The second plugin is a program written using a specified API and runs on the second application through the specified API. In response to the first operation, a first download request is sent to the plugin server, and plugin information of the second plugin is sent to the second electronic device. The first download request is used to request the download of the first plugin, and the plugin information of the second plugin is used by the second electronic device to download the second plugin from the plugin server. Receive the first plugin sent by the plugin server; Upon receiving the first plugin, the first plugin is launched and run through the first application; The first cross-device function is executed through the first plugin and the second plugin launched and running on the second electronic device via the second application.

2. The method according to claim 1, characterized in that, Prior to the first operation of receiving a user's selection of the first electronic device and the second electronic device to perform the first cross-device function, the method further includes: Obtain device information of the devices to be networked, wherein the devices to be networked include the first electronic device and the second electronic device; Send the device information of the device to be networked to the plug-in server; Receive plugin combination information for one or more specified cross-device functions sent by the plugin server, wherein the one or more specified cross-device functions include the first cross-device function; Displays information about the combination of one or more specified cross-device functions.

3. The method according to claim 1 or 2, characterized in that, After sending the plugin information of the second plugin to the second electronic device, the method further includes: The system receives a download assistance request sent by the second electronic device, the download assistance request being used to request the first electronic device to download the second plugin and forward it to the second electronic device; Send a third download request to the plugin server, the third download request being used to request the download of the second plugin; Receive the second plugin sent by the plugin server; Send the second plugin to the second electronic device.

4. The method according to claim 1 or 2, characterized in that, Before executing the first cross-device function via the first plug-in and the second plug-in of the second electronic device, the method includes: The device receives feedback information from the second electronic device, which indicates that the second electronic device has acquired the second plugin.

5. The method according to claim 4, characterized in that, After receiving the feedback information sent by the second electronic device, the method further includes: A first startup notification is sent to the second electronic device, which is used to notify the second electronic device to start and run the second plugin.

6. The method according to claim 1 or 2, characterized in that, Before the second plugin, which runs via a second application on the second electronic device and is launched through the first plugin, performs the first cross-device function, the method further includes: Network authentication is completed through the first plugin and the second plugin; A network connection is established between the first plugin and the second plugin.

7. The method according to claim 1 or 2, characterized in that, The execution of the first cross-device function through the first plugin and the second plugin running on the second electronic device via the second application specifically includes: The first plugin receives environmental information sent by the second plugin, which is collected in real time by the second electronic device through a camera and / or microphone. The environmental information includes any one of the following: audio stream, image stream, and video stream. The first plug-in controls the first electronic device to output the environmental information.

8. The method according to claim 1 or 2, characterized in that, In response to the first operation, sending a first download request to the plugin server and sending plugin information of the second plugin to the second electronic device specifically includes: In response to the first operation, if it is determined that the first plugin is not cached on the first electronic device, the first download request is sent to the plugin server, and the plugin information of the second plugin is sent to the second electronic device.

9. The method according to claim 8, characterized in that, The method further includes: In response to the first operation, if it is determined that the first electronic device has already cached the first plugin, the plugin information of the second plugin is sent to the second electronic device.

10. The method according to claim 1 or 2, characterized in that, After the second plugin, which is launched and running via a second application on the second electronic device, executes the first cross-device function, the method further includes: Remove the first plugin from your local machine.

11. The method according to claim 1 or 2, characterized in that, After the second plugin, which is launched and running via a second application on the second electronic device, executes the first cross-device function, the method further includes: A deletion notification is sent to the second electronic device, the deletion notification being used to instruct the second electronic device to delete the second plugin.

12. A plug-in control system, characterized in that, It includes a plug-in server, a first electronic device, and a second electronic device. The first electronic device runs a first application, and the second electronic device runs a second application. The plugin server is used to store multiple plugin combinations for cross-device functions. The plugin combination includes one or more versions of the plugin. The multiple cross-device functions include a first cross-device function. The first plugin combination of the first cross-device function includes a first plugin supported by the first application and a second plugin supported by the second application. The first plugin is a program written using a specified application programming interface (API) and runs on the first application through the specified API. The second plugin is a program written using a specified API and runs on the second application through the specified API. The first electronic device is configured to receive a first operation from a user selecting the first electronic device and a second electronic device to perform the first cross-device function; The first electronic device is further configured to, in response to the first operation, send a first download request to the plugin server and send plugin information of the second plugin to the second electronic device, wherein the first download request is used to request the download of the first plugin; The plugin server is also configured to send the first plugin to the first electronic device after receiving the first download request; The second electronic device is configured to send a second download request to the plugin server after receiving the plugin information of the second plugin, the second download request being used to request the download of the second plugin; The plugin server is also configured to send the second plugin to the second electronic device after receiving the second download request; The first electronic device is further configured to launch and run the first plugin through the first application after receiving the first plugin; The second electronic device is also configured to launch and run the second plugin via the second application after receiving the second plugin; The first electronic device is also configured to perform the first cross-device function via the first plug-in and the second plug-in.

13. The system according to claim 12, characterized in that, The first electronic device is further configured to obtain device information of the device to be networked before receiving a first operation from the user selecting the first electronic device and the second electronic device to perform the first cross-device function, wherein the device to be networked includes the first electronic device and the second electronic device; The first electronic device is further configured to send the device information of the device to be networked to the plug-in server; The plugin server is further configured to determine, based on the device information of the device to be networked, one or more plugin combinations of specified cross-device functions supported by the device to be networked from multiple plugin combinations of cross-device functions, wherein the one or more plugin combinations of specified cross-device functions include the first plugin combination of the first cross-device function. The plugin server is also configured to send the plugin combination information specifying one or more cross-device functions to the first electronic device; The first electronic device is also configured to display plug-in combination information specifying one or more cross-device functions.

14. The system according to claim 12 or 13, characterized in that, The second electronic device is specifically configured to, upon receiving the plugin information of the second plugin, if it determines that the second electronic device does not have the second plugin cached on it and the second electronic device has the ability to download plugins via the internet, send the second download request to the plugin server.

15. The system according to claim 14, characterized in that, The second electronic device is further configured to, upon receiving the plugin information of the second plugin, if it is determined that the second electronic device does not cache the second plugin and the second electronic device does not have the ability to download the plugin via the Internet, send a download assistance request to the first electronic device. The download assistance request is used to request the first electronic device to download the second plugin and forward it to the second electronic device. The first electronic device is further configured to send a third download request to the plugin server after receiving the download assistance request, the third download request being used to request the download of the second plugin; The plugin server is also configured to send the second plugin to the first electronic device after receiving the third download request; The first electronic device is further configured to send the second plugin to the second electronic device after receiving the second plugin.

16. The system according to claim 14, characterized in that, The second electronic device is further configured to, upon receiving the plugin information of the second plugin, if it determines that the second electronic device has already cached the second plugin, send feedback information to the first electronic device, wherein the feedback information is used to indicate that the second electronic device has acquired the second plugin.

17. The system according to claim 12 or 13, characterized in that, The second electronic device is further configured to send feedback information to the first electronic device after receiving the second plugin, the feedback information indicating that the second electronic device has acquired the second plugin.

18. The system according to claim 16, characterized in that, The first electronic device is further configured to send a first startup notification to the second electronic device after receiving the feedback information, the first startup notification being used to notify the second electronic device to start and run the second plugin; The second electronic device is specifically used to launch and run the second plugin through the second application after receiving the first startup notification.

19. The system according to claim 12 or 13, characterized in that, The first electronic device is further configured to complete network authentication through the first plugin and the second plugin before performing the first cross-device function through the first plugin running and the second plugin running on the second electronic device; The first electronic device is further configured to establish a network connection with the second plugin after completing network authentication through the first plugin and the second plugin.

20. The system according to claim 12 or 13, characterized in that, The execution of the first cross-device function through the first plugin and the second plugin specifically includes: The second plug-in controls the second electronic device to collect environmental information in real time through a camera and / or microphone, wherein the environmental information includes any of the following: audio stream, image stream, or video stream; The second plugin sends the environmental information collected in real time by the second electronic device through a camera and / or microphone to the first plugin; The first plug-in controls the first electronic device to output the environmental information.

21. The system according to claim 12 or 13, characterized in that, The first electronic device is specifically configured to respond to the first operation by sending the first download request to the plugin server and sending the plugin information of the second plugin to the second electronic device if it is determined that the first electronic device does not have the first plugin cached.

22. The system according to claim 21, characterized in that, The first electronic device is further configured to, in response to the first operation, send the plugin information of the second plugin to the second electronic device if it is determined that the first electronic device has cached the first plugin.

23. The system according to claim 12 or 13, characterized in that, The first electronic device is further configured to delete the first plugin from the local device after performing the first cross-device function through the first plugin and the second plugin.

24. The system according to claim 12 or 13, characterized in that, The first electronic device is further configured to send a deletion notification to the second electronic device after performing the first cross-device function through the first plugin and the second plugin, the deletion notification being used to notify the second electronic device to delete the second plugin; The second electronic device is also configured to delete the second plugin upon receiving the deletion notification.

25. An electronic device, specifically a first electronic device, characterized in that: include: A transceiver, one or more processors, and one or more memories, wherein the transceiver, the one or more memories, and the one or more memories are coupled to the one or more processors, the one or more memories being used to store computer program code, the computer program code including computer instructions, and the one or more processors executing the computer instructions to implement the method as described in any one of claims 1-11.

26. A computer storage medium, characterized in that, The computer storage medium stores computer instructions, which, when executed by a processor, implement the method as described in any one of claims 1-11.

Citation Information

Patent Citations

  • Application interaction method among multiple devices and related devices

    CN113311975A