A method of installing a driver of an external device and an electronic device

By automatically identifying and installing drivers for external devices through electronic devices, the problem of cumbersome installation methods in existing technologies is solved, achieving efficient driver installation and plug-and-play functionality, thus improving the user experience.

CN122240189APending Publication Date: 2026-06-19HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2024-12-18
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

The current method of installing drivers for external devices is cumbersome, time-consuming, and affects the user experience.

Method used

Electronic devices automatically identify external devices, match and install drivers based on device identification information, including software installation packages that run in the foreground or background, or provide drivers through a server to achieve plug-and-play functionality.

Benefits of technology

It improves driver installation efficiency, enhances user experience, and ensures device security and plug-and-play functionality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122240189A_ABST
    Figure CN122240189A_ABST
Patent Text Reader

Abstract

This application provides a method for installing drivers for external devices and an electronic device. The method includes: in response to a first external device being connected to the electronic device, obtaining first identification information of the first external device; when it is determined that a first driver is not installed and the first external device meets preset conditions, running a first software installation package based on the first identification information; when it is determined that the first driver is not installed, the first external device does not meet preset conditions, and an application market includes the first software installation package, outputting a first prompt message, the first prompt message being used to prompt whether to install the first driver; and in response to a user confirming the installation of the first driver, obtaining and running the first software installation package from the application market. The method provided by this application can automatically install drivers for external devices without requiring manual searching by the user, improving the efficiency of driver installation and enhancing the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of electronic devices, and more specifically, to a method for installing drivers for external devices and electronic devices. Background Technology

[0002] Currently, to expand their functionality, electronic devices often connect to external devices. For example, a computer can connect to an external printer to print. However, when connecting external devices, it's often necessary to install the corresponding driver before the device can function properly. This driver installation process is cumbersome and time-consuming, negatively impacting the user experience. Therefore, improving the efficiency of installing external device drivers has become a pressing technical problem. Summary of the Invention

[0003] This application provides a method for installing drivers for external devices and an electronic device that can automatically install drivers for external devices without requiring users to manually search for them, thus improving the efficiency of driver installation and enhancing the user experience.

[0004] In a first aspect, a method for installing a driver for an external device is provided. The method includes: in response to a first external device being connected to an electronic device, obtaining first identification information of the first external device; when it is determined that a first driver is not installed and the first external device meets preset conditions, running a first software installation package according to the first identification information, wherein the first driver is a driver for the first external device, the first software installation package is a software installation package of the first driver, and the preset conditions include one or more of the following: the external device is manufactured by the same manufacturer as the electronic device, and the external device is a whitelisted external device; when it is determined that the first driver is not installed, the first external device does not meet the preset conditions, and an application market includes the first software installation package, outputting a first prompt message, the first prompt message being used to prompt whether to install the first driver; and in response to a user confirming the installation of the first driver, obtaining and running the first software installation package from the application market.

[0005] In this embodiment, when an electronic device detects an external device connected, it can determine whether the external device's driver is already installed. If it is determined that the external device's driver is not installed and the external device meets preset conditions, the electronic device can automatically install the external device's driver, eliminating the need for the user to manually search for the driver's software installation package. This improves the efficiency of driver installation and enhances the user experience. Furthermore, the external device meets the preset conditions, ensuring the security of the electronic device. Conversely, if it is determined that the external device's driver is not installed, the external device does not meet the preset conditions, and the application market includes the external device's driver software installation package, the electronic device can display a prompt message. After detecting the user's confirmation to install the external device's driver, it can automatically install the driver, eliminating the need for the user to manually search for the driver's software installation package. This improves the efficiency of driver installation, enhances the user experience, and ensures the security of the electronic device.

[0006] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: in response to a second external device being connected to the electronic device, obtaining second identification information of the second external device, wherein the second external device is a printer; when it is determined that a second driver is not installed, the second external device does not meet the preset conditions, and the application market does not include a second software installation package, displaying a cloud printing control, wherein the second driver is a driver for the second external device, and the second software installation package is a software installation package for the second driver; in response to a user issuing a first print job through the cloud printing control, calling the second external device to execute the first print job through the second driver preset on the server.

[0007] In this embodiment, the server has pre-installed drivers for multiple external devices. When an electronic device detects the connection of an external device, it can determine whether the driver for the external device has been installed. If it is determined that the driver for the external device is not installed, the external device does not meet the preset conditions, and the application market does not include the software installation package of the driver for the external device, the electronic device can call the external device to perform related tasks through the server's driver. This eliminates the need for the user to manually search for the software installation package of the driver and allows the external device to be used even without the driver being installed locally, thereby improving the user experience.

[0008] In conjunction with the first aspect, in some implementations of the first aspect, running the first software installation package according to the first identification information includes: running the first software installation package in the foreground according to the first identification information.

[0009] In conjunction with the first aspect, in some implementations of the first aspect, running the first software installation package according to the first identification information includes: running the first software installation package in the background according to the first identification information.

[0010] In this embodiment, the electronic device can run the first software installation package in the background without the user noticing the driver installation, giving the user a "plug and play" feeling and helping to improve the user experience.

[0011] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: after successfully installing the first driver, outputting a second prompt message, the second prompt message being used to indicate that the first driver has been successfully installed.

[0012] In conjunction with the first aspect, in some implementations of the first aspect, running the first software installation package based on the first identification information includes: obtaining the first software installation package from a server based on the first identification information, wherein the server has a pre-configured association information table and the first software installation package, the association information table being used to indicate the correspondence between the driver and the external device; and running the first software installation package.

[0013] In conjunction with the first aspect, in some implementations of the first aspect, the electronic device is pre-installed with the first software installation package and an association information table. Running the first software installation package according to the first identification information includes: determining the first software installation package according to the first identification information and the association information table; and running the first software installation package.

[0014] In conjunction with the first aspect, in some implementations of the first aspect, the first identification information includes the manufacturer identification information of the first external device and the device identification information of the first external device.

[0015] In a second aspect, an electronic device is provided, comprising one or more processors; one or more memories; the one or more memories storing one or more computer programs, the one or more computer programs including instructions that, when executed by the one or more processors, cause the foregoing aspects or any possible implementation thereof to be performed.

[0016] Thirdly, a computer-readable storage medium is provided, comprising a computer program or instructions that, when executed on a computer, cause the first aspect and any possible implementation of the method of the first aspect to be performed.

[0017] Fourthly, a computer program product is provided, comprising a computer program or instructions that, when executed on a computer, cause the first aspect and any possible implementation of the method of the first aspect to be performed.

[0018] Fifthly, a computer program is provided that, when run on a computer, causes the methods described in the first aspect and any possible implementation thereof to be executed.

[0019] Sixthly, an electronic device according to an embodiment of this application includes modules / units for performing the above aspects or any possible design of the above aspects; these modules / units can be implemented in hardware or implemented by hardware executing corresponding software.

[0020] For the beneficial effects of aspects two through six, please refer to the beneficial effects of aspect one, which will not be repeated here. Attached Figure Description

[0021] Figure 1 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application.

[0022] Figure 2 This is a software structure block diagram of the electronic device provided in the embodiments of this application.

[0023] Figure 3 This is a system framework diagram provided in the embodiments of this application.

[0024] Figure 4 This is a set of GUIs provided in the embodiments of this application.

[0025] Figure 5 This is another set of GUIs provided in the embodiments of this application.

[0026] Figure 6 This is another set of GUIs provided in the embodiments of this application.

[0027] Figure 7 This is another set of GUIs provided in the embodiments of this application.

[0028] Figure 8 This is another set of GUIs provided in the embodiments of this application.

[0029] Figure 9 This is a schematic flowchart illustrating a method for installing drivers for external devices provided in an embodiment of this application.

[0030] Figure 10 This is a schematic flowchart illustrating a method for installing drivers for external devices provided in an embodiment of this application.

[0031] Figure 11This is a schematic diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0032] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.

[0033] The terminology used in the following embodiments is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. As used in the specification and appended claims of this application, the singular expressions “a,” “an,” “the,” “the,” “the,” and “this” are intended to also include expressions such as “one or more,” unless the context clearly indicates otherwise. It should also be understood that in the following embodiments of this application, “at least one” and “one or more” refer to one, two, or more than two. The term “and / or” is used to describe the relationship between related objects, indicating that three relationships may exist; for example, A and / or B can indicate: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character “ / ” generally indicates that the preceding and following related objects are in an “or” relationship.

[0034] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0035] The following describes an electronic device, a user interface for such an electronic device, and embodiments for using such an electronic device. In some embodiments, the electronic device may be a portable electronic device that also includes other functions such as a personal digital assistant and / or music player, such as a mobile phone, tablet computer, wearable electronic device with wireless communication capabilities (such as a smartwatch), etc. Exemplary embodiments of the portable electronic device include, but are not limited to, carrying... Alternatively, it could be a portable electronic device with another operating system. The aforementioned portable electronic device could also be other portable electronic devices, such as laptops. It should also be understood that in some other embodiments, the aforementioned electronic device may not be a portable electronic device, but rather a desktop computer.

[0036] For example, Figure 1A schematic diagram of the structure of electronic device 100 is shown. Electronic device 100 may include processor 110, internal memory 120, external memory interface 130, universal serial bus (USB) interface 140, communication module 150, audio module 160, display screen 170, etc.

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

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

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

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

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

[0042] Internal memory 120 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 120. Internal memory 120 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 120 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.

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

[0044] The communication module 150 is used to realize wired and / or wireless communication functions between the electronic device 100 and other devices. The communication module 150 can provide solutions for wireless communication applications including 2G / 3G / 4G / 5G on the electronic device 100. The communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The communication module 150 can receive electromagnetic waves via an antenna, filter and amplify the received electromagnetic waves, and transmit them to a modem processor for demodulation. The communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via the antenna.

[0045] In some embodiments, at least some functional modules of the communication module 150 may be located in the processor 110.

[0046] In some embodiments, at least some functional modules of the communication module 150 may be housed in the same device as at least some modules of the processor 110.

[0047] A 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.

[0048] 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 communication module 150 or other functional modules.

[0049] The communication module 150 can also 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 communication module 150 can be one or more devices integrating at least one communication processing module. The communication module 150 receives electromagnetic waves via an antenna, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to the processor 110. The communication module 150 can also receive signals to be transmitted from the processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via the antenna 2.

[0050] Electronic device 100 can implement audio functions through audio module 160 and application processor, such as music playback and recording.

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

[0052] The display screen 170 is used to display images, videos, etc. The display screen 170 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a Mini LED, a MicroLED, a Micro-OLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device 100 may include one or more display screens 170.

[0053] Figure 2 This is a software structure block diagram of an electronic device 100 according to an embodiment of this application. The layered architecture divides the software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the system can be divided from top to bottom into an application layer, an application framework layer, a service layer, and a driver layer (also known as a kernel layer). The application layer may include a series of application packages.

[0054] like Figure 2 As shown, the application layer can include gallery, calendar, calling, maps, navigation, music, video, SMS, and external device desktop services, etc.

[0055] Among them, the external device desktop service provides users with an interactive interface and displays the driver installation progress.

[0056] The application framework layer provides application programming interfaces (APIs) and programming frameworks for applications in the application layer. The application framework layer may include some predefined functions.

[0057] like Figure 2 As shown, the application framework layer may include a window manager, content provider, view system, resource manager, notification manager, matching module, etc.

[0058] The window manager is used to manage windowed applications. It can obtain the screen size, determine if a status bar is present, lock the screen, and capture screenshots. The content provider stores and retrieves data, making this data accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.

[0059] The view system includes visual controls, such as controls for displaying text, controls for displaying images, and such as the indicator information for displaying the virtual shutter button in the embodiments of this application. The view system can be used to build applications. The display interface can consist of one or more views. For example, a display interface including a text message notification icon can include a view for displaying text and a view for displaying images.

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

[0061] The notification manager allows applications to display notifications in the status bar. These notifications can be used to convey 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 download completion or message alerts. The notification manager can also display notifications as icons or scrolling text in the system's 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. The matching module is used to match the corresponding driver based on the identification information of external devices.

[0062] The service layer 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), external device services, etc.

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

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

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

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

[0067] The external device service is used to detect whether an external device is connected, and can broadcast an indication message when an external device is detected to indicate that an external device is connected.

[0068] The driver layer is the layer between hardware and software. It includes at least the display driver, camera driver, audio driver, sensor driver, and drivers for external devices.

[0069] It should be noted that, Figure 2 This example only illustrates one way of dividing the system framework and should not be construed as a specific limitation on the embodiments of this application. In the embodiments of this application, different frameworks can be used for different operating systems when the electronic device is equipped with different operating systems. It is understood that when different frameworks are adopted, the way the framework is divided into layers, the specific naming, and the specific layer in which each of the above modules is located can be different.

[0070] Currently, electronic devices often connect to external devices to expand their functionality. However, when connecting external devices, it's often necessary to install the corresponding drivers for those devices before they can be used properly.

[0071] For example, when connecting an electronic device to a printer, the user needs to first determine the printer model, and then download and install the corresponding driver from the printer's official website. This process can be time-consuming for unfamiliar users.

[0072] In summary, current methods for installing drivers for external devices are cumbersome and time-consuming, which is detrimental to the user experience. Therefore, this application provides a method for installing drivers for external devices that can automatically identify connected external devices and match the corresponding drivers, eliminating the need for manual searching by the user, thus improving the efficiency of driver installation and enhancing the user experience.

[0073] Figure 3 A system framework diagram provided in an embodiment of this application is shown.

[0074] like Figure 3 As shown, the system architecture of this application includes an uninstalled driver, an installed driver (or a runnable driver), an association information table, and a matching module.

[0075] An installed driver can be understood as a driver that has been installed on an electronic device. An uninstalled driver can be understood as a software installation package of a driver that is stored on a server and / or electronic device.

[0076] The association information table stores the correspondence between the identification information of external devices and their drivers. The matching module can then query this table to retrieve the corresponding driver for each external device. If the matching module finds an uninstalled driver, it can install it, allowing the electronic device to use the external device normally.

[0077] In some embodiments, the association information table may be pre-configured in the server.

[0078] In some embodiments, the association information table may be pre-installed in the electronic device.

[0079] The preceding text introduced electronic devices, software architectures suitable for electronic devices, and system frameworks. The following text will describe the method for installing drivers for external devices provided in the embodiments of this application, in conjunction with a graphical user interface.

[0080] Figure 4A set of GUIs provided in embodiments of this application is shown.

[0081] like Figure 4 As shown in (a) and (b), when the electronic device detects a printer connection, if it determines that the corresponding driver for the printer is not installed and the printer meets preset conditions, it can run the printer driver software installation package in the foreground to display interface 401. Interface 401 is the interface corresponding to the driver software installation package. The electronic device can display the driver installation progress on interface 401 and prompt the user that the driver installation was successful upon successful installation.

[0082] In some embodiments, when an electronic device detects that a printer is connected, it can obtain the printer's identification information and determine, based on the printer's identification information, that the corresponding driver for the printer is not installed and that the printer meets preset conditions.

[0083] In some embodiments, the printer includes identification information, which may be stored in the printer's firmware. When an electronic device detects that the printer is connected, it can read the identification information stored in the printer's firmware.

[0084] In this embodiment of the application, no specific limitations are made on the preset conditions. Several possible implementation methods are described below as examples.

[0085] One possible implementation involves the printer and electronic device being from the same manufacturer.

[0086] One possible implementation is that the electronic device or server has a pre-installed whitelist, with the default condition being that the printer is an external device in the whitelist.

[0087] In some embodiments, the electronic device is pre-installed with a software installation package for a printer driver and an associated information table, so that the electronic device can run the software installation package.

[0088] In some embodiments, the server pre-installs a software installation package for the printer driver and an associated information table, so that electronic devices can obtain and run the software installation package from the server.

[0089] In this embodiment, when an electronic device detects the connection of an external device, it can determine whether the driver for the external device has been installed. If it is determined that the driver for the external device has not been installed and the external device meets the preset conditions, the electronic device can automatically install the driver for the external device in the foreground, without requiring the user to manually search for the driver software installation package, thus improving the efficiency of driver installation and enhancing the user experience.

[0090] Figure 5 Another set of GUIs provided in the embodiments of this application is shown.

[0091] like Figure 5 As shown, when an electronic device detects a printer connection, if it determines that the corresponding driver for the printer is not installed and the printer meets the preset conditions, it can automatically install the printer driver in the background. After successfully installing the driver, a prompt box 501 can be displayed, and a prompt message can be displayed in the prompt box 501 to inform the user that the driver has been successfully installed.

[0092] In this embodiment, when an electronic device detects the connection of an external device, it can determine whether the driver for the external device has been installed. If it is determined that the driver for the external device has not been installed and the external device meets the preset conditions, the electronic device can automatically install the driver for the external device in the background, eliminating the need for the user to manually search for the driver software installation package. This improves the efficiency of driver installation and thus enhances the user experience.

[0093] Figure 6 Another set of GUIs provided in the embodiments of this application is shown.

[0094] like Figure 6 As shown in (a), when the electronic device detects a printer connection, if it determines that the driver for the printer is not installed, the printer does not meet preset conditions, and the application market includes an installation package for the printer driver, it can display a prompt box 601 and display a prompt message in the prompt box 601 to ask the user whether the driver needs to be installed. When the electronic device detects that the user clicks the control 602, in response to the operation, it can display as shown in (a). Figure 6 The GUI shown in (b) is shown in the image.

[0095] In some embodiments, when an electronic device detects that a printer is connected, it can obtain the printer's identification information and determine, based on the printer's identification information, whether the corresponding driver for the printer is not installed, whether the printer does not meet preset conditions, and whether the application market includes a software installation package for the printer's driver.

[0096] like Figure 6 As shown in (b), in response to a user clicking control 602, the electronic device can display interface 603, which is a details screen for a printer driver from an application marketplace. When the electronic device detects a user clicking control 604, in response to that action, it can display... Figure 6 The GUIs shown in (c) and (d) are shown in the image.

[0097] like Figure 6As shown in (c) and (d), in response to the user's click on control 604, the electronic device can run the printer driver software installation package in the foreground to display interface 605, which is the interface corresponding to the driver software installation package. The electronic device can display the driver installation progress on interface 605 and prompt the user that the driver installation was successful upon successful installation.

[0098] In some embodiments, the electronic device may not display interface 603. Instead, in response to the user's click on control 602, it automatically retrieves the printer driver software installation package in the background and runs the printer driver software installation package in the foreground. That is, in response to the user's click on control 602, the electronic device may display, as shown below. Figure 6 The GUIs shown in (c) and (d) are shown in the image.

[0099] Understandably, once the printer driver is successfully installed on an electronic device, the device can use all the printer's functions normally.

[0100] In this embodiment, when an electronic device detects the connection of an external device, it can determine whether the driver for the external device has been installed. If it is determined that the driver for the external device is not installed, the external device does not meet the preset conditions, and the application market includes the software installation package for the driver for the external device, the electronic device can obtain the software installation package for the driver from the application market with the user's permission and automatically install the driver for the external device. This eliminates the need for the user to manually search for the software installation package for the driver, improving the efficiency of driver installation and thus enhancing the user experience.

[0101] exist Figure 6 The example shown illustrates running the driver software installation package in the foreground on an electronic device. However, this should not be construed as a specific limitation on the embodiments of this application. In other embodiments of this application, the electronic device can also run the driver software installation package in the background, and after successful installation, it can output a prompt message to inform the user that the driver installation was successful. The following will combine... Figure 7 Let me introduce it.

[0102] Figure 7 Another set of GUIs provided in the embodiments of this application is shown.

[0103] like Figure 7As shown in (a), when the electronic device detects a printer connection, if it determines that the driver for the printer is not installed, the printer does not meet preset conditions, and the application market includes the printer driver installation package, it can display a prompt box 701 and display a prompt message in prompt box 701 to ask the user whether the driver needs to be installed. When the electronic device detects the user clicking the control 702, in response to the operation, it runs the driver software installation package in the background, and after successfully installing the driver, it can display the following: Figure 7 The GUI shown in (b) is shown in the image.

[0104] like Figure 7 As shown in (b), in response to a user clicking control 702, the electronic device can display interface 703, which is a details screen for the printer driver from the application market. When the electronic device detects a user clicking control 704, in response to this operation, it can retrieve the driver software installation package from the application market in the background and run the software installation package in the background.

[0105] After the electronic device successfully installs the printer driver, it can display a prompt box 705, which displays a message to inform the user that the driver has been successfully installed.

[0106] In some embodiments, the electronic device may not display interface 703. Instead, in response to the user's click on control 702, it automatically retrieves the printer driver software installation package in the background and runs it. That is, in response to the user's click on control 702, the electronic device may display, as shown below. Figure 7 The GUI shown in (c) is shown in the image.

[0107] In this embodiment, when an electronic device detects the connection of an external device, it can determine whether the driver for the external device has been installed. If it is determined that the driver for the external device is not installed, the external device does not meet the preset conditions, and the application market includes the software installation package for the driver for the external device, the electronic device can obtain the software installation package for the driver from the application market with the user's permission and automatically install the driver for the external device. This eliminates the need for the user to manually search for the software installation package for the driver, improving the efficiency of driver installation and thus enhancing the user experience.

[0108] exist Figures 4 to 7 In the GUI shown, the electronic device can obtain the software installation package of the external device's driver and install the driver locally. In other embodiments, the electronic device may not obtain the software installation package of the external device's driver. In this case, the electronic device can use the external device's functionality through the driver pre-installed on the server. The following section will discuss this further. Figure 8 Please provide an explanation.

[0109] Figure 8 Another set of GUIs provided in the embodiments of this application is shown.

[0110] like Figure 8 As shown in (a), when the electronic device detects a printer connection, if it determines that the driver for the printer is not installed, the printer does not meet preset conditions, and the application market does not include a software installation package for the printer driver, it can display the cloud printing control 801. When the electronic device detects a user clicking the cloud printing control 801, in response to this action, it can display as shown in (a). Figure 8 The GUI shown in (b) is shown in the image.

[0111] In some embodiments, when an electronic device detects a printer being connected, it can obtain the printer's identification information and determine, based on the printer's identification information, that the corresponding driver for the printer is not installed, the printer does not meet preset conditions, and the software installation package for the printer's driver is not included in the application market.

[0112] like Figure 8 As shown in (b), in response to the user's click on the cloud printing control 801, the electronic device can display interface 802, which is the cloud printing settings interface.

[0113] Continue to refer to Figure 8 In (b) of the interface, the user can upload the file to be printed and the specific printing parameters on interface 802. The electronic device detects the user's click on control 803 and, in response to this operation, can invoke the printer to perform the printing task through the driver preset on the server.

[0114] In this embodiment, the server has pre-installed drivers for multiple external devices. When an electronic device detects the connection of an external device, it can determine whether the driver for the external device has been installed. If it is determined that the driver for the external device is not installed, the external device does not meet the preset conditions, and the application market does not include the software installation package of the driver for the external device, the electronic device can call the external device to perform related tasks through the server's driver. This eliminates the need for the user to manually search for the software installation package of the driver and allows the external device to be used even without the driver being installed locally, thereby improving the user experience.

[0115] The above describes the method for installing drivers for external devices provided in the embodiments of this application, in conjunction with a GUI. The following will describe the method for installing drivers for external devices provided in the embodiments of this application, in conjunction with a method flowchart.

[0116] Figure 9This illustration shows a schematic flowchart of a method 900 for installing a driver for an external device according to an embodiment of this application. This method can be executed by an electronic device or by a component of the electronic device (e.g., a processor, chip system, etc.). The following description uses an electronic device as the executing entity. Figure 9 As shown, the method 900 includes:

[0117] S901, in response to the access of the first external device, obtains the first identification information of the first external device.

[0118] The electronic device can detect the access of the first external device and thus obtain the identification information of the first external device. The identification information of the first external device includes, but is not limited to, the model of the first external device, the device identifier (ID) of the first external device, and the manufacturer ID.

[0119] S902, when it is determined that the first driver is not installed and the first external device meets the preset conditions, the first software installation package is run according to the first identification information, wherein the first driver is the driver for the first external device, the first software installation package is the software installation package of the first driver, and the preset conditions include one or more of the following: the external device is manufactured by the same manufacturer as the electronic device, and the external device is an external device in the whitelist.

[0120] In some embodiments, an electronic device can determine whether a first external device meets preset conditions and whether a first driver has been installed by using first identification information.

[0121] In some embodiments, the electronic device is pre-installed with an association information table and a driver software installation package. The association information table is used to indicate the correspondence between the information and the driver. When the electronic device determines that the first external device meets the preset conditions, it can determine the driver corresponding to the first identification information through the association information table based on the obtained first identification information, thereby running the pre-installed driver software installation package.

[0122] In some embodiments, the electronic device has a pre-configured whitelist. When the electronic device determines that the first external device is an external device in the whitelist, it can determine that the first external device meets the preset conditions.

[0123] In some embodiments, the server has a pre-configured whitelist. After an electronic device obtains the first identification information of a first external device, it can send the first identification information to the server. When the server determines that the first external device is an external device in the whitelist based on the first identification information, it can send an indication message to the electronic device. After receiving the indication message, the electronic device can determine that the first external device meets preset conditions.

[0124] In some embodiments, the electronic device may run a first software installation package in the foreground.

[0125] For example, such as Figure 4 As shown in (a) and (b), when an electronic device detects a printer connection, if it determines that the driver for the printer is not installed and the printer meets the preset conditions, it can run the printer driver software installation package in the foreground.

[0126] In some embodiments, the electronic device may run a first software installation package in the background.

[0127] In some embodiments, when the electronic device runs the first software installation package in the background and the installation is successful, a second prompt message can be output to indicate that the driver for the first external device has been successfully installed.

[0128] For example, such as Figure 5 As shown, when an electronic device detects a printer connected, if it determines that the corresponding driver for the printer is not installed and the printer meets the preset conditions, it can automatically run the printer driver software installation package in the background. After successfully installing the driver, a prompt box 501 can be displayed, and a prompt message can be displayed in the prompt box 501 to inform the user that the driver has been successfully installed.

[0129] In this embodiment, when an electronic device detects the connection of an external device, it can determine whether the driver for the external device has been installed. If it is determined that the driver for the external device has not been installed and the external device meets the preset conditions, the electronic device can automatically install the driver for the external device. This eliminates the need for the user to manually search for the driver software installation package, improving the efficiency of driver installation and enhancing the user experience. Furthermore, the fact that the external device meets the preset conditions ensures the security of the electronic device.

[0130] S903, when it is determined that the first driver is not installed, the first external device does not meet the preset conditions, and the application market includes the first software installation package, a first prompt message is output, the first prompt message is used to prompt whether to install the first driver.

[0131] S904, in response to the user's decision to install the first driver, retrieves and runs the first software installation package from the application market.

[0132] For example, such as Figure 6As shown in (a)-(d), when the electronic device detects a printer connection, if it determines that the corresponding driver for the printer is not installed, the printer does not meet preset conditions, and the application market includes the printer driver installation package, it can display a prompt box 601 to display a prompt message to the user asking whether the driver needs to be installed. When the electronic device responds to the user's click on control 602, it can display the printer driver details interface. When the electronic device responds to the user's click on control 604, it can run the printer driver software installation package in the foreground.

[0133] It should be noted that the embodiments of this application only use the operation of clicking the control to install the driver of the external device as an example. In other embodiments of this application, the operation of the user installing the driver of the external device can also be other operations, such as voice operation, air gesture operation, etc.

[0134] In this embodiment, when an electronic device detects the connection of an external device, it can determine whether the driver for the external device has been installed. If it is determined that the driver for the external device is not installed, the external device does not meet the preset conditions, and the application market includes the software installation package for the driver of the external device, the electronic device can display a prompt message. After detecting the user's operation to install the driver for the external device, it can automatically install the driver for the external device without requiring the user to manually search for the software installation package for the driver, thus improving the efficiency of driver installation, enhancing the user experience, and ensuring the security of the electronic device.

[0135] In some embodiments, the method 900 further includes:

[0136] S905, in response to the access of the second external device, obtains the second identification information of the second external device, which is a printer.

[0137] It should be understood that the description of S905 can be found in the description of S901, and for the sake of brevity, it will not be repeated here.

[0138] S906: When it is determined that the second driver is not installed, the second external device does not meet the preset conditions, and the application market does not include the second software installation package, the cloud printing control is displayed. Here, the second driver is the driver for the second external device, and the second software installation package is the software installation package for the second driver.

[0139] S907, in response to the user's operation of issuing the first print job through the cloud printing control, calls the second external device to execute the first print job through the second driver pre-installed on the server.

[0140] For example, such as Figure 8As shown in (a) and (b), when the electronic device detects a printer connection, if it determines that the driver for that printer is not installed, the printer does not meet preset conditions, and the application market does not include the printer driver installation package, it can display the cloud printing control 801. In response to the user clicking the cloud printing control 801, the electronic device can display the cloud printing settings interface. In response to the user clicking the control 803, the electronic device can use the driver pre-installed on the server to call the printer to print the document uploaded by the user.

[0141] In this embodiment, the server has pre-installed drivers for multiple external devices. When an electronic device detects the connection of an external device, it can determine whether the driver for the external device has been installed. If it is determined that the driver for the external device is not installed, the external device does not meet the preset conditions, and the application market does not include the software installation package of the driver for the external device, the electronic device can call the external device to perform related tasks through the server's driver. This eliminates the need for the user to manually search for the software installation package of the driver and allows the external device to be used even without the driver being installed locally, thereby improving the user experience.

[0142] Figure 1000 shows a schematic flowchart of a method 1000 for installing drivers for external devices according to an embodiment of this application. This method can be executed by a system including electronic devices and servers, such as... Figure 10 As shown, the method 1000 includes:

[0143] S1001, the electronic device responds to the access of the first external device and obtains the first identification information of the first external device.

[0144] It should be understood that the description of S1001 can be found in the description of S901, and for the sake of brevity, it will not be repeated here.

[0145] S1002, when it is determined that the first driver is not installed and the first external device meets the preset conditions, the electronic device obtains the first software installation package from the server according to the first identification information. The first driver is the driver for the first external device, and the first software installation package is the software installation package of the first driver. The preset conditions include one or more of the following: the external device is manufactured by the same manufacturer as the electronic device, and the external device is an external device in the whitelist.

[0146] S1003, Electronic device runs the first software installation package.

[0147] In this application embodiment, the method by which the electronic device obtains the first software installation package from the server is not specifically limited. Several possible implementation methods are described below as examples.

[0148] One possible implementation involves a server pre-installed with an association information table and a driver software installation package. The electronic device can send first identification information to the server. Upon receiving this first identification information, the server can determine the corresponding driver software installation package based on the association information table, and then send the software installation package to the electronic device.

[0149] One possible implementation is that the electronic device has a pre-installed association information table. The server has a pre-installed driver software installation package. The electronic device can determine the driver corresponding to the first identification information and can send instruction information to the server to instruct on the driver. The server receives the instruction information, can determine the driver required by the electronic device, and can then send the software installation package to the electronic device.

[0150] It should be understood that the description of the preset conditions can be found above, and will not be repeated here for the sake of brevity.

[0151] In some embodiments, the electronic device may run a first software installation package in the foreground.

[0152] In some embodiments, the electronic device may run a first software installation package in the background.

[0153] In some embodiments, when the electronic device runs the first software installation package in the background and the installation is successful, a second prompt message can be output to indicate that the driver for the first external device has been successfully installed.

[0154] In this embodiment, when an electronic device detects the connection of an external device, it can determine whether the driver for the external device has been installed. If it is determined that the driver for the external device is not installed and the external device meets the preset conditions, the electronic device can automatically obtain and install the driver for the external device from the server. This eliminates the need for the user to manually search for the driver software installation package, improving the efficiency of driver installation and enhancing the user experience. Furthermore, the fact that the external device meets the preset conditions ensures the security of the electronic device.

[0155] S1004, when it is determined that the first driver is not installed, the first external device does not meet the preset conditions, and the application market includes the first software installation package, the electronic device outputs a first prompt message, which is used to prompt whether to install the first driver.

[0156] S1005, in response to the user's decision to install the first driver, the electronic device obtains and runs the first software installation package from the application market.

[0157] It should be understood that the descriptions of S1004 and S1005 can be found above, and for the sake of brevity, they will not be repeated here.

[0158] In this embodiment, when an electronic device detects the connection of an external device, it can determine whether the driver for the external device has been installed. If it is determined that the driver for the external device is not installed and the external device does not meet the preset conditions, the electronic device can display a prompt message. After detecting the user's operation to install the driver for the external device, the electronic device can automatically obtain and install the driver for the external device from the server. This eliminates the need for the user to manually search for the driver software installation package, improving the efficiency of driver installation, enhancing the user experience, and ensuring the security of the electronic device.

[0159] In some embodiments, the server corresponding to the application marketplace and Figure 10 The servers shown may be the same or different.

[0160] In some embodiments, the method 1000 further includes:

[0161] S1006, the electronic device responds to the access of the second external device by obtaining the second identification information of the second external device, wherein the second external device is a printer.

[0162] It should be understood that the description of S1003 can be found in the description of S901, and for the sake of brevity, it will not be repeated here.

[0163] S1007, when it is determined that the second driver is not installed, the second external device does not meet the preset conditions, and the application market does not include the second software installation package, the electronic device displays the cloud printing control, wherein the second driver is the driver for the second external device, and the second software installation package is the software installation package for the second driver.

[0164] S1008, the electronic device responds to the user's operation of issuing a first print job through the cloud printing control, and calls the second external device to execute the first print job through the second driver preset on the server.

[0165] It should be understood that the descriptions of S1006-S1008 can be found above, and will not be repeated here for the sake of brevity.

[0166] In this embodiment, the server has pre-installed drivers for multiple external devices. When an electronic device detects the connection of an external device, it can determine whether the driver for the external device has been installed. If it is determined that the driver for the external device is not installed, the external device does not meet the preset conditions, and the application market does not include the software installation package of the driver for the external device, the electronic device can call the external device to perform related tasks through the server's driver. This eliminates the need for the user to manually search for the software installation package of the driver and allows the external device to be used even without the driver being installed locally, thereby improving the user experience.

[0167] The method for installing drivers for external devices provided in the embodiments of this application has been described in detail above. In the various embodiments of this application, unless otherwise specified or logically conflicting, the terminology and / or descriptions between the embodiments are consistent and can be referenced mutually. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.

[0168] The foregoing mainly describes the method for installing drivers for external devices provided in the embodiments of this application from the perspective of electronic devices. It is understood that, in order to achieve the above functions, the electronic device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the algorithm steps of the various examples described in the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0169] When each function is divided into different modules (or units) to correspond to its specific function, Figure 11 This illustration shows a schematic diagram of the composition of an electronic device 1100 provided in an embodiment of this application, as shown below. Figure 11 As shown, the electronic device 1100 includes an acquisition module 1110 and a processing module 1120.

[0170] The acquisition module 1110 is used to acquire the first identification information of the first external device in response to the first external device being connected to the electronic device.

[0171] The processing module 1120 is used to run a first software installation package according to the first identification information when it is determined that the first driver is not installed and the first external device meets the preset conditions. The first driver is the driver for the first external device, and the first software installation package is the software installation package for the first driver.

[0172] The processing module 1120 is further configured to output a first prompt message when it is determined that the first driver is not installed, the first external device does not meet the preset conditions, and the application market includes the first software installation package. The first prompt message is used to prompt whether to install the first driver.

[0173] The acquisition module 1110 is also configured to acquire a first software installation package from the application market in response to the user's decision to install the first driver.

[0174] The processing module 1120 is also used to run the first software installation package.

[0175] In some embodiments, the acquisition module 1110 is further configured to acquire second identification information of the second external device in response to the access of the second external device to the electronic device, wherein the second external device is a printer.

[0176] The processing module 1120 is also used to display a cloud printing control when it is determined that the second driver is not installed, the second external device does not meet the preset conditions, and the application market does not include the second software installation package, wherein the second driver is the driver for the second external device, and the second software installation package is the software installation package for the second driver.

[0177] The processing module 1120 is also used to respond to the user's operation of issuing the first print task through the cloud printing control, and to call the second external device to execute the first print task through the second driver preset on the server.

[0178] In some embodiments, the processing module 1120 is specifically used to run a first software installation package in the foreground based on the first identification information.

[0179] In some embodiments, the processing module 1120 is specifically used to run a first software installation package in the background based on the first identification information.

[0180] In some embodiments, the processing module 1120 is further configured to output a second prompt message after successfully installing the driver for the first external device.

[0181] In some embodiments, the acquisition module 1110 is further configured to acquire a first software installation package from the server based on the first identification information.

[0182] Processing module 1120 is specifically used to run the first software installation package.

[0183] In some embodiments, the electronic device is pre-loaded with an association information table and a first software installation package. The processing module 1120 is specifically used to determine and run the first software installation package based on the first identification information and the association information table.

[0184] This application provides a computer program product that, when run on an electronic device, causes the electronic device to execute the technical solutions described in the above embodiments. Its implementation principle and technical effects are similar to those of the related embodiments described above, and will not be repeated here.

[0185] This application provides a computer-readable storage medium containing instructions that, when executed by an electronic device, cause the electronic device to perform the technical solution described in the above embodiments. The implementation principle and technical effects are similar and will not be repeated here.

[0186] This application provides a chip for executing instructions. When the chip is running, it executes the technical solutions described in the above embodiments. Its implementation principle and technical effects are similar and will not be repeated here.

[0187] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this application.

[0188] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

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

[0190] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0191] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0192] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, essentially, or the parts that contribute to the prior art, or parts of the technical solutions, can be embodied in the form of software products. These computer software products are stored in a storage medium and include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0193] The above description is merely a specific implementation of the embodiments of this application, but the protection scope of the embodiments of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the embodiments of this application should be included within the protection scope of the embodiments of this application. Therefore, the protection scope of the embodiments of this application should be determined by the protection scope of the claims.

Claims

1. A method for installing a driver for an external device, characterized in that, The method includes: In response to the first external device being connected to the electronic device, the first identification information of the first external device is obtained; When it is determined that the first driver is not installed and the first external device meets the preset conditions, the first software installation package is run according to the first identification information, wherein the first driver is the driver for the first external device, the first software installation package is the software installation package of the first driver, and the preset conditions include one or more of the following: the external device is manufactured by the same manufacturer as the electronic device, or the external device is a whitelisted external device; When it is determined that the first driver is not installed, the first external device does not meet the preset conditions, and the application market includes the first software installation package, a first prompt message is output. The first prompt message is used to prompt whether to install the first driver. In response to the user's decision to install the first driver, the first software installation package is retrieved from the application marketplace and run.

2. The method according to claim 1, characterized in that, The method further includes: In response to a second external device being connected to the electronic device, the second identification information of the second external device is obtained, wherein the second external device is a printer; When it is determined that the second driver is not installed, the second external device does not meet the preset conditions, and the application market does not include the second software installation package, the cloud printing control is displayed, wherein the second driver is the driver for the second external device, and the second software installation package is the software installation package for the second driver; In response to the user's operation of issuing a first print job through the cloud printing control, the second external device is invoked to execute the first print job through the second driver preset on the server.

3. The method according to claim 1 or 2, characterized in that, The step of running the first software installation package according to the first identification information includes: The first software installation package is run in the foreground based on the first identification information.

4. The method according to claim 1 or 2, characterized in that, The step of running the first software installation package according to the first identification information includes: The first software installation package is run in the background based on the first identification information.

5. The method according to claim 4, characterized in that, The method further includes: After successfully installing the first driver, a second prompt message is output, which indicates that the first driver has been successfully installed.

6. The method according to any one of claims 1 to 5, characterized in that, The step of running the first software installation package according to the first identification information includes: The first software installation package is obtained from the server according to the first identification information, wherein the server has a pre-set association information table and the first software installation package, and the association information table is used to indicate the correspondence between the driver and the external device; Run the first software installation package.

7. The method according to any one of claims 1 to 6, characterized in that, The electronic device is pre-installed with the first software installation package and an association information table. The association information table is used to indicate the correspondence between the driver and the external device. Running the first software installation package according to the first identification information includes: The first software installation package is determined based on the first identification information and the associated information table; Run the first software installation package.

8. The method according to any one of claims 1 to 7, characterized in that, The first identification information includes the manufacturer identification information of the first external device and the device identification information of the first external device.

9. An electronic device, characterized in that, It includes one or more processors; one or more memories; said one or more memories storing one or more computer programs, said one or more computer programs including instructions that, when executed by said one or more processors, cause the method of any one of claims 1 to 8 to be performed.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed on a computer, cause the method as described in any one of claims 1 to 8 to be performed.

11. A chip, characterized in that, The chip includes a processor and a communication interface, the communication interface being used to receive signals and transmit the signals to the processor, the processor processing the signals such that the method as described in any one of claims 1 to 8 is executed.

12. A computer program product, characterized in that, When the computer program product is run on a computer, it causes the computer to perform the method as described in any one of claims 1 to 8.