Method for pre-installing application, and electronic device
By pre-installing only a portion of the application packages on electronic devices and dynamically downloading other packages from cloud servers, the problem of insufficient storage space on electronic devices is solved, achieving efficient utilization of storage space and rapid response to user needs.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-12-30
- Publication Date
- 2026-07-23
AI Technical Summary
In the prior art, the applications pre-installed on electronic devices occupy a large amount of storage space, resulting in a reduction of the storage space available to users.
Electronic devices come pre-installed with only a portion of the application packages, including the main function service packages, and dynamically download additional packages from cloud servers as needed to support full functionality.
It reduces the storage space usage of pre-installed applications, improves the installation speed of new machines, and allows for on-demand downloads based on user needs, reducing unnecessary storage space consumption.
Smart Images

Figure CN2025147128_23072026_PF_FP_ABST
Abstract
Description
Pre-installed application methods and electronic devices
[0001] This application claims priority to Chinese Patent Application No. 202510088072.4, filed on January 17, 2025, entitled “Method and Electronic Device with Pre-installed Application”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of electronic technology, and more specifically, to a method and electronic device for pre-installing applications. Background Technology
[0003] Electronic devices typically come pre-installed with some applications (Apps). Currently, applications offer diverse functionalities, resulting in them occupying a significant amount of storage space. Consequently, these pre-installed applications consume a large portion of the electronic device's storage, reducing the available storage space for the user.
[0004] Therefore, how to reduce the storage space occupied by pre-installed applications has become a technical problem that needs to be solved. Summary of the Invention
[0005] This application provides a method for pre-installing an application and an electronic device. In this solution, the application may include multiple installation packages. When pre-installing an application on an electronic device, it is not necessary to pre-install all installation packages of the application; instead, only a portion of the application's installation packages are pre-installed, thereby reducing the storage space occupied by the pre-installed application on the electronic device.
[0006] In a first aspect, a method for pre-installing an application is provided, applied to a first electronic device. Before the first electronic device leaves the factory, a first installation package of a first application is pre-installed in the first electronic device. The method includes: installing the first installation package when the device is first powered on, wherein the first installation package is a partial installation package among multiple installation packages of the first application, and the first installation package is used to support the first electronic device to at least display a first display interface of the first application; and displaying an icon of the first application.
[0007] Optionally, the first installation package may also be used to support the first electronic device in implementing (or using) the main functions of the first application. For example, if the first application is a music app, the first installation package may support the first electronic device in playing music using the music app. Similarly, if the first application is a video app, the first installation package may support the first electronic device in playing videos using the video app.
[0008] It should be understood that the first display interface can be the homepage display interface of the first electronic device, or it can be other display interfaces.
[0009] These multiple installation packages are the complete installation packages for the first application.
[0010] The first installation package may be a main function service installation package, or it may include a main function service installation package and at least one enhancement feature service installation package.
[0011] For example, the first installation package is pre-installed in the read-only memory of the first electronic device.
[0012] The first electronic device can be a smartphone, tablet, etc., and the second electronic device can be a cloud server, such as an application market cloud server, or a server used to store the installation package of the first application.
[0013] Based on the embodiments of this application, when pre-installing an application in a first electronic device, it is not necessary to pre-install all the installation packages of the application in the first electronic device, but only a portion of the installation package of the application is pre-installed, thereby reducing the storage space occupied by the pre-installed application.
[0014] In addition, when a new electronic device is powered on for the first time, the pre-installed application installation packages are small, which can increase the installation speed of the applications and make the new device usable quickly.
[0015] In some implementations, the method further includes: responding to a first user operation by displaying a first display interface of a first application; detecting a second user operation using a first function on the first display interface, sending a first request message to a second electronic device, the first request message being used to obtain a second installation package corresponding to the first function, wherein multiple installation packages include a second installation package, and the first request message includes first identification information of the first application and second identification information of the first function; receiving the second installation package from the second electronic device; installing the second installation package; and displaying the second display interface corresponding to the first function.
[0016] It should be understood that the first identification information is used to uniquely identify the first application. The second identification information is used to uniquely identify the first function.
[0017] For example, the first operation may be an operation in which a user clicks the icon of the first application, or the first operation may be an operation in which the first application is invoked in another application, or the first operation may be an operation in which the user jumps to the first application from another application.
[0018] It should be understood that the first function may be a function not supported by the first installation package. For example, the first installation package only supports the electronic device to display the first display interface of the first application, and the first function may be other functions in the first display interface.
[0019] The process of the first electronic device sending a first request message to the second electronic device and receiving a second installation package from the second electronic device can be understood as the process of the first electronic device downloading the second installation package from the second electronic device.
[0020] Based on the embodiments of this application, when a user needs to use the first function, the first electronic device can dynamically obtain and install the installation package corresponding to the first function from the second electronic device, thereby displaying the second display interface corresponding to the first function and providing the user with corresponding functional services.
[0021] In this way, the functional services provided by the first application can be downloaded on demand according to the user's needs. When the user does not need to use it, there is no need to download the corresponding installation package, thereby reducing the storage space occupied by the first application.
[0022] Optionally, the second operation may not be detected in the first display interface. For example, if the first installation package can support displaying other display interfaces besides the first display interface that supports displaying the homepage, the second operation may be detected by the first electronic device in other display interfaces.
[0023] Optionally, the first electronic device installs the first installation package in the system space of the first electronic device and installs the second installation package in the user space of the first electronic device.
[0024] In some implementations, the method further includes: uninstalling the second installation package in response to a third operation by the user uninstalling the first application.
[0025] For example, the third operation could be a user long-pressing the icon of the first application and clicking "Uninstall" in the pop-up tab. Alternatively, the third operation could also be a user selecting to delete the first application in the phone's management app.
[0026] It should be understood that the first electronic device may retain the first installation package.
[0027] Based on the embodiments of this application, when a user uninstalls the first application, the first electronic device can delete the downloaded second installation package and retain the first installation package that was pre-installed at the factory, thereby restoring the first application in the electronic device to its state before leaving the factory.
[0028] In some implementations, the method further includes: responding to a first user operation by displaying a first display interface of a first application; detecting a second user operation using a first function on the first display interface, sending a first request message to a second electronic device, the first request message being used to obtain a third installation package from multiple installation packages of the first application, excluding the first installation package, wherein the third installation package includes the installation package corresponding to the first function, and the first request message includes first identification information of the first application; receiving the third installation package from the second electronic device; installing the third installation package; and displaying a second display interface corresponding to the first function.
[0029] For example, the third installation package is all installation packages of the first application in addition to the first installation package pre-installed in the first electronic device.
[0030] It should be understood that this first identification information is used to uniquely identify the first application.
[0031] Based on the embodiments of this application, when a user uses a first function that is not supported by the first installation package, the first electronic device can send a first request message to the second electronic device to obtain a third installation package for the first application that is not installed on the first electronic device. This third installation package includes the installation package corresponding to the first function. After installing the third installation package, the second display interface corresponding to the first function can be displayed. In this way, after the user has the corresponding function to use the first application, the first electronic device can download the remaining uninstalled third installation packages, thereby enabling the user to use all the functions of the first application without having to download installation packages for other functions of the first application multiple times.
[0032] In some implementations, when the first electronic device is powered on for the first time, the method further includes: displaying a first prompt message, the first prompt message being used to prompt the user whether to download a third installation package other than the first installation package among multiple installation packages of the first application; in response to the user's operation of confirming the download of the third installation package, sending a first request message to the second electronic device, the first request message being used to obtain the third installation package, wherein the first request message includes first identification information of the first application; receiving the third installation package from the second electronic device; and installing the third installation package.
[0033] For example, the first prompt message can be displayed as a card or a pop-up.
[0034] Based on the embodiments of this application, when the first electronic device is powered on for the first time, a first prompt message can be displayed to ask the user whether they need to download an uninstalled third installation package. Upon detecting the user's definitive input, the third installation package is downloaded. This technical solution downloads the third installation package only when the user has a need for the functions related to the first application, which can enhance user engagement and the controllability of the electronic device.
[0035] In other examples, when the first electronic device detects negative input from the user, it may not be necessary to download the aforementioned third installation package.
[0036] Optionally, the third installation package is installed in the user space of the first electronic device.
[0037] In some implementations, the method further includes: uninstalling a third installation package in response to a third operation performed by the user to uninstall the first application.
[0038] It should be understood that when uninstalling the first application, the first electronic device deletes the third installation package but retains the first installation package.
[0039] Based on the embodiments of this application, when a user uninstalls the first application, the first electronic device can delete the downloaded third installation package and retain the first installation package that was pre-installed at the factory, thereby restoring the first application in the electronic device to its state before leaving the factory.
[0040] In some implementations, the method further includes: reinstalling the first installation package in response to a fourth operation that detects a user's factory reset.
[0041] Based on the embodiments of this application, when the first electronic device detects a factory reset operation, the first installation package of the first application can be reinstalled, thereby restoring the first electronic device to its initial state upon first power-on.
[0042] In some implementations, before the first electronic device leaves the factory, a configuration file for the first application is pre-installed in the first electronic device, and the configuration file includes first identification information.
[0043] It should be understood that this first identification information can be used to uniquely identify the first application.
[0044] Based on the embodiments of this application, a configuration file including first identification information is pre-installed before the first electronic device leaves the factory, which facilitates the first electronic device to download other installation packages of the first application from the second electronic device.
[0045] In some implementations, the first installation package is also used to support a second function of the first application.
[0046] For example, the second function is one that users frequently need, and the first installation package can support this second function. In this way, after the first application is pre-installed, users can quickly use the second function of the first application without downloading the corresponding installation package, thus improving the user experience.
[0047] Secondly, a method for pre-installing an application is provided, applied to a second electronic device. The method includes: obtaining a set of installation packages for a first application, the set of installation packages including all installation packages of the first application; and generating third identification information of the first application based on first information of the set of installation packages.
[0048] For example, the second electronic device may obtain a set of installation packages for the first application from the pre-installed management system.
[0049] For example, the set of installation packages may include the main function service installation package of the first application and all the enhancement feature service function installation packages.
[0050] The first piece of information may include the names of the installation packages in the installation package set, the time when the installation package set was obtained, and other information.
[0051] This third identification information is used to uniquely identify the first application.
[0052] Based on the embodiments of this application, the second electronic device can generate third identification information of the first application based on the first information of the installation package set of the first application, thereby uniquely identifying the first application based on the third identification information, which is beneficial for matching the corresponding application and installation package according to the request message of the first electronic device.
[0053] In some implementations, the method further includes: receiving a first request message sent by a first electronic device, the first request message including first identification information of a first application and second identification information of a first function; when third identification information matches the first identification information, matching a second installation package corresponding to the first function according to the second identification information; and sending the second installation package to the first electronic device.
[0054] It is understandable that each installation package in the installation package set has corresponding identification information.
[0055] Based on the embodiments of this application, when the second electronic device receives the first request message from the first electronic device, it can match the first identification information carried in the first request message with the third identification information. When a match is successful, it means that the first electronic device needs the installation package of the first application. Then, it matches the second installation package according to the second identification information and sends the second installation package to the first electronic device. This allows the first electronic device to download the corresponding installation package as needed.
[0056] In some implementations, the primary function is determined based on the user's usage habits; or, the primary function is determined based on the user's actions.
[0057] For example, the first function could be determined based on the user's frequently used habits. Alternatively, the first function could be determined based on the user's click actions.
[0058] Based on the embodiments of this application, the first function is determined according to the user's usage habits, so that the functions supported by the downloaded installation package are what the user wants, thereby improving the user experience.
[0059] In some implementations, obtaining the set of installation packages for the first application includes: receiving a second request message; and obtaining the set of installation packages based on the second request message.
[0060] For example, the second request message may be sent by the pre-installed management system.
[0061] Based on the embodiments of this application, upon receiving the second request message, the second electronic device can be triggered to obtain the installation package set.
[0062] In some implementations, the method further includes sending the third identification information.
[0063] For example, the second electronic device may send the third identification information to the pre-installation management system so that the pre-installation management system generates a configuration file for the first application.
[0064] In some implementations, the second electronic device can also generate the aforementioned configuration file for pre-installation.
[0065] In some implementations, the method further includes: dividing the installation package set into a first installation package and a second installation package, wherein the first installation package is used to support the first electronic device to at least display a first display interface of the first application, the first installation package is used to be pre-installed in the first electronic device, and the second installation package is used to support the first electronic device to use a first function of the first application.
[0066] Based on the embodiments of this application, the second electronic device can divide the installation package set into a first installation package and a second installation package for pre-installation, thereby determining the installation package that needs to be pre-installed in the electronic device.
[0067] In some implementations, the installation package set includes at least a first installation package and a second installation package, wherein the first installation package is used to support the first electronic device to at least display a first display interface of the first application, the first installation package is used to be pre-installed in the first electronic device, and the second installation package is used to support the first electronic device to use a first function of the first application.
[0068] Based on the embodiments of this application, the installation package set may include a first installation package and a second installation package, thereby determining the installation package that needs to be pre-installed in the electronic device.
[0069] In some implementations, the first information includes at least the package name and version number of all installed packages.
[0070] In other examples, the first information may also include the organization to which the first application belongs, the application submission date, etc.
[0071] In some implementations, the third identification information is also used to indicate that the first application is a pre-installed application.
[0072] In this way, the second electronic device can determine which applications are pre-installed.
[0073] In other examples, the first installation package may also be used to support the first electronic device in using the first function of the first application, which is not limited in this application embodiment.
[0074] In some implementations, the method further includes: receiving a first request message sent by a first electronic device, the first request message including first identification information of a first application; and when third identification information matches the first identification information, sending a third installation package to the first electronic device, the third installation package being an installation package in the installation package set other than the installation package pre-installed in the first electronic device.
[0075] Based on the embodiments of this application, when the second electronic device receives the first request message from the first electronic device, it can match the first identification information carried in the first request message with the third identification information. When a successful match is found, it means that the first electronic device needs the installation package of the first application, and the second electronic device sends the third installation package of the first application to the first electronic device. This allows the first electronic device to download the corresponding installation package as needed.
[0076] Thirdly, an electronic device is provided, comprising: one or more processors; one or more memories; the one or more memories storing one or more programs that, when executed by one or more processors, cause a method for pre-installing an application as described in the first aspect and any possible implementation thereof to be executed.
[0077] Fourthly, an electronic device is provided, comprising: one or more processors; one or more memories; the one or more memories storing one or more programs, which, when executed by the one or more processors, cause a method for pre-installing an application as described in the second aspect and any possible implementation thereof to be executed.
[0078] Fifthly, a system is provided, the system comprising the electronic device described in the third aspect and the electronic device described in the fourth aspect.
[0079] In a sixth aspect, a chip is provided, the chip including a processor and a communication interface, the communication interface being used to receive signals and transmit signals to the processor, the processor processing the signals such that a method of a pre-installed application as described in the first aspect, or the second aspect and any possible implementation thereof, is executed.
[0080] In a seventh aspect, a readable storage medium is provided, wherein instructions are stored therein, which, when executed on an electronic device, cause a method of a pre-installed application as described in the first aspect, or the second aspect, or any possible implementation thereof, to be performed.
[0081] Eighthly, a program product is provided, the program product including program code, which, when run on an electronic device, causes a method of pre-installed application as described in the first aspect, or the second aspect and any possible implementation thereof, to be executed. Attached Figure Description
[0082] Figure 1 is a schematic diagram of the structure of the electronic device provided in an embodiment of this application.
[0083] Figure 2 is a schematic diagram of the software structure of the electronic device provided in an embodiment of this application.
[0084] Figure 3 illustrates a process for pre-installing an application in an electronic device according to an embodiment of this application.
[0085] Figure 4 is a schematic diagram of a set of graphical user interfaces provided in an embodiment of this application.
[0086] Figure 5 illustrates a process by which an application developer submits an application to a developer alliance, as provided in an embodiment of this application.
[0087] Figure 6 is a schematic flowchart of a method for pre-installing an application in an electronic device according to an embodiment of this application.
[0088] Figure 7 is a flowchart of archiving a pre-installed package according to an embodiment of this application.
[0089] Figure 8 is a schematic flowchart of another method for pre-installing an application provided in an embodiment of this application.
[0090] Figure 9 is a schematic flowchart of a method for pre-installing an application provided in an embodiment of this application.
[0091] Figure 10 is a schematic flowchart of a method for pre-installing an application provided in an embodiment of this application.
[0092] Figure 11 is a schematic block diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0093] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0094] The methods described in this application embodiment can be applied to smartphones, tablets, laptops, personal computers (PCs), ultra-mobile personal computers (UMPCs), netbooks, in-vehicle devices, smart TVs, wearable devices, foldable devices, Internet of Things (IoT) devices, etc.
[0095] Figure 1 shows a schematic diagram of the structure of electronic device 100. 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.
[0096] 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.
[0097] 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.
[0098] 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.
[0099] The processor 110 may also include a memory for storing instructions and data.
[0100] In some embodiments, processor 110 may include one or more interfaces.
[0101] The charging management module 140 is used to receive charging input from the charger. The charger can be a wireless charger or a wired charger.
[0102] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110.
[0103] 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.
[0104] The mobile communication module 150 can provide wireless communication solutions, including 2G / 3G / 4G / 5G, for use on electronic devices 100.
[0105] 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.
[0106] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), Bluetooth low energy (BLE), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies.
[0107] 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, so that electronic device 100 can communicate with networks and other devices through wireless communication technology.
[0108] 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.
[0109] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. In some embodiments, the electronic device 100 may include one or N display screens 194, where N is a positive integer greater than 1.
[0110] Electronic device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.
[0111] The ISP is used to process the data fed back by camera 193. Camera 193 is used to capture still images or videos.
[0112] A digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals.
[0113] Video codecs are used to compress or decompress digital video.
[0114] The external storage interface 120 can be used to connect an external storage card, such as a Micro SD card, to expand the storage capacity of the electronic device 100.
[0115] 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.
[0116] Electronic device 100 can implement audio functions through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.
[0117] The audio module 170 is used to convert digital audio information into analog audio signal output, and also to convert analog audio input into digital audio signal.
[0118] The loudspeaker 170A, also known as a "loudspeaker", is used to convert audio electrical signals into sound signals.
[0119] The receiver 170B, also known as the "earpiece", is used to convert audio electrical signals into sound signals.
[0120] The microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals.
[0121] The 170D headphone jack is used to connect wired headphones.
[0122] The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, an accelerometer sensor 180E, a distance sensor 180F, a fingerprint sensor 180H, a touch sensor 180K, a bone conduction sensor 180M, etc.
[0123] Button 190 includes the power button, volume buttons, etc.
[0124] Motor 191 can generate vibration alerts.
[0125] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.
[0126] The SIM card interface 195 is used to connect the SIM card.
[0127] Figure 2 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 operating system is divided into four layers, from top to bottom: the application layer, the application framework layer, the system library, and the kernel layer. The application layer may include a series of application packages.
[0128] As shown in Figure 2, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, SMS, and wallet.
[0129] 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.
[0130] As shown in Figure 2, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, bundle manager service (BMS), etc.
[0131] 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.
[0132] 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.
[0133] 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.
[0134] The phone manager is used to provide communication functions for electronic device 100. For example, it manages call status (including connection and disconnection).
[0135] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, and more.
[0136] 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.
[0137] The BMS can be used to install pre-installed or downloaded installation packages in the electronic device 100. For example, when the electronic device 100 is powered on, the BMS can install the pre-installed main function service installation package of application 1.
[0138] The core library consists of two parts: one part contains the functionalities that the Java language needs to call, and the other part is the core library itself.
[0139] 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.
[0140] 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.
[0141] The Surface Manager is used to manage the display subsystem and provides the blending of 2D and 3D layers for multiple applications.
[0142] 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.
[0143] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0144] A 2D graphics engine is a graphics engine for 2D drawing.
[0145] 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.
[0146] Before introducing the technical solution of this application, the following is a brief introduction to some of the technical terms that may be involved in this application.
[0147] Pre-installed (or pre-packaged) applications: Application installation packages are pre-installed on electronic devices before they leave the factory.
[0148] Main Function Service Installation Package and Enhanced Feature Service Installation Package: In this embodiment, the application may have multiple installation packages. For example, the application's installation packages may include a main function service installation package and at least one enhanced feature service installation package. The main function service installation package can be understood as an installation package used to support the application's operation and at least display the homepage display interface. Alternatively, the main function service installation package can also be used to support the implementation of at least one function (or main function) of the application. The enhanced feature service installation package can be understood as an installation package used to support the implementation of one function of the application. For example, if an electronic device has the main function service installation package of application 1 installed, the electronic device can run application 1 and display the homepage display interface of application 1 according to the user's operation. The homepage display interface has a ride-hailing function, and the installation package providing this ride-hailing function is enhanced feature service installation package 1. As another example, for a pre-installed music application, the main function service installation package can support the electronic device to display the music homepage display interface and support the implementation of music playback functions. The enhanced feature service installation package can support users to comment, create playlists, browse music communities, etc. For example, for weather applications, the main function service package can support electronic devices to display weather information, while the enhanced feature service package can support users to manage cities, view air quality, and view more weather indices.
[0149] Pre-installed package: A pre-installed package of an application, including the main function service installation package pre-installed on the electronic device and the application's identification information. Alternatively, the pre-installed package may also include at least one enhancement feature service installation package.
[0150] An integrated development environment (IDE) is a unified software system that integrates a set of tools related to application development.
[0151] Random access memory (RAM): also known as main memory or running memory, is an internal memory that directly exchanges data with the CPU. It features the ability to read and write data at any time, high speed, and data loss when power is off.
[0152] Read-only memory (ROM): Also known as fixed memory. Data stored in ROM is stable and will not be lost after power failure. It is commonly used to store various fixed programs and data.
[0153] System partition: A partition in ROM used to store data related to the operating system of an electronic device, as well as data pre-installed before the electronic device leaves the factory; also known as the system partition. For example, in this embodiment of the application, the main function service installation package of the pre-installed application can be installed in the system partition.
[0154] User partition: A partition in ROM used to store user data, also known as a data partition. For example, in this embodiment, the enhanced feature service installation package downloaded from the cloud server can be installed in the user partition.
[0155] Electronic devices typically come pre-installed with some applications. Currently, applications offer diverse functionalities, resulting in them occupying a significant amount of storage space. Consequently, these pre-installed applications consume a large amount of storage space, reducing the available storage space for the user.
[0156] In view of this, embodiments of this application provide a method and an electronic device for pre-installing an application. In this technical solution, the application may include multiple installation packages. When pre-installing an application in an electronic device, it is not necessary to pre-install all installation packages of the application; instead, only a portion of the application's installation packages are pre-installed, thereby reducing the storage space occupied by the pre-installed application on the electronic device.
[0157] The following section will describe, with reference to Figures 3 to 10, the technical solution of pre-installing an application in an electronic device according to the embodiments of this application.
[0158] For example, FIG3 illustrates a process for pre-installing an application in an electronic device according to an embodiment of this application. In this embodiment, the pre-installation of App1 in electronic device 200 is used as an example for illustration.
[0159] As shown in Figure 3, when developing application App1, the developer can adopt a modular approach to obtain multiple installation packages for App1. For example, the multiple installation packages of App1 may include a main function service installation package and at least one enhanced feature service installation package 1.
[0160] In some examples, the at least one enhancement service installation package may include enhancement service installation package 1, enhancement service installation package 2, ..., enhancement service installation package n.
[0161] After App1 is developed, developers can submit multiple installation packages of App1 to the pre-installation management system. The pre-installation management system can manage App1 in sub-packages. On one hand, through the pre-installation management system, all installation packages (or full installation packages) of App1 can be listed on the cloud server of the app gallery (AG). On the other hand, the pre-installation management system can assemble the pre-installation package of App1 that needs to be pre-installed on electronic devices. This pre-installation package can include the main function service installation package of App1 and the configuration file of App1, which can include the identification information of App1.
[0162] It should be understood that the identification information of App1 can be generated by the app store's cloud server. For example, after obtaining all installation packages of App1, the app store's cloud server can generate identification information 1 to uniquely identify the current version of App1 based on App1's information (such as the package name, version, and release date of the installation package). Subsequently, the pre-installation management system can obtain this identification information 1 from the application's cloud server and generate a configuration file for App1 based on this identification information 1. This configuration file can include identification information 1.
[0163] When App1 is pre-installed in electronic device 200, its pre-installation package is pre-installed in the electronic device's storage space (such as ROM). That is, before electronic device 200 leaves the factory, it already includes the pre-installation package of App1. Subsequently, upon the first power-on of electronic device 200, it can install the main function service installation package from this pre-installation package. After installation, the icon and name of App1 will be displayed on the desktop of electronic device 200.
[0164] For example, Figure 4 is a schematic diagram of a set of graphical user interfaces (GUIs) provided in an embodiment of this application.
[0165] Referring to Figure 4(a), the GUI can be the desktop 210 of the electronic device 200. The desktop 210 can include icons of multiple apps installed on the electronic device 200 and the names of the corresponding apps, including the icon 211 of App1 and the name of App1.
[0166] After installing the main function service installation package of App1, the electronic device 200 can run App1 and at least display the homepage display interface of App1. For example, when the electronic device 200 detects that the user clicks on the icon 211 of App1, it can display the GUI shown in Figure 4(b).
[0167] Referring to Figure 4(b), the GUI can be the homepage display interface 220 of App1. The display interface 220 may include at least a search function control 221, a scan function control 222, a down payment function control 223, a ride function control 224, a door opening function control 225, and cards 1, 2, 3, and 4.
[0168] In some examples, the main function service installation package of App1 can be used to support the electronic device 200 to display the display interface 220, and the operation of each functional module included in the display interface 220 requires the electronic device 200 to install the corresponding enhancement feature service installation package.
[0169] In some examples, the main function service installation package of App1 can be used to support the display interface 220 on the electronic device 200, and to support some functional modules in the display interface 220, while the operation of other functional modules requires the electronic device to install the corresponding enhanced feature service installation package. For example, the main function service installation package is also used to support common functions of the electronic device such as scanning and payment, so that the common functions of App1 can be quickly made available.
[0170] For other functional modules that are not supported by the main function service installation package, when a user needs to use the functions corresponding to these modules, the electronic device 200 needs to download the corresponding enhanced feature service installation package from the cloud server. After the electronic device 200 installs the corresponding enhanced feature service installation package, it can use the corresponding functions.
[0171] For example, for ride-hailing functions that cannot be supported by the main function service installation package, when the electronic device 200 detects that the user clicks the ride-hailing function control 224, the electronic device 200 can download the enhanced feature service installation package 1 corresponding to the ride-hailing function from the cloud server of the application market. After installing the enhanced feature service installation package 1, the electronic device 200 can further display the display interface corresponding to the ride-hailing function to provide ride-hailing services to the user.
[0172] In some implementations, after detecting a user's click on the ride-hailing function control 224, the electronic device 200 can send a request message to the cloud server of the application market. This request message carries the identification information 1 of App 1 and the identification information 2 corresponding to the "ride-hailing function," and is used to request the download of the enhanced feature service installation package 1 corresponding to the ride-hailing function. Upon receiving this request message, the cloud server of the application market can match the full installation package of App 1 based on the identification information 1, and determine the installation package it needs to download as the enhanced feature service installation package 1 of App 1 based on the identification information 2.
[0173] In some cases, users may not use pre-installed applications on electronic devices, or they may frequently use a specific function of that application. Therefore, if the main function service installation package of the application includes that function, the user may not need other functions. In this way, the electronic device only needs to have the main function service installation package of the application pre-installed, and the electronic device does not need to download the application's enhanced feature service installation package from a cloud server, reducing the storage space occupied by the application on the electronic device.
[0174] In other implementations, for other functional modules for which the electronic device 200 does not have the corresponding installation package installed, when the electronic device 200 detects that a user is using these functional modules, it can send a request message to the application market's cloud server. This request message carries the identification information 1 of App1 and is used to request the download of all enhanced feature service installation packages of App1. After receiving the request message, the application market's cloud server can match the full installation package of App1 based on the identification information 1 of App1 and determine that the installation package to be downloaded is all the enhanced feature service installation packages included in the full installation package of App1. In this way, after the electronic device 200 downloads all the enhanced feature service installation packages of App1, it can install all the enhanced feature service installation packages, so that the user can use all the functions provided by App1 normally.
[0175] Based on the embodiments of this application, the application may include multiple installation packages. When the application is pre-installed in an electronic device, it is not necessary to pre-install all the installation packages of the application in the electronic device. Instead, the main function service installation package of the application is pre-installed, thereby reducing the storage space occupied by the pre-installed application in the electronic device.
[0176] In some cases, the pre-installed package of App1, which is pre-installed in electronic device 200, can be pre-installed in the storage space of electronic device 200, such as ROM. When installing the main function service installation package in the pre-installed package, electronic device 200 can install the main function service installation package in the system partition of the ROM of electronic device 200. It should be understood that the configuration file of App1 is also stored in the same installation directory as the main function service installation package. For the subsequently downloaded enhancement feature service installation package, it can be installed in the user partition of the ROM of electronic device 200. In this way, when the user uninstalls App1 later, the enhancement feature service installation package installed in the user partition can be deleted, while the main function service installation package and configuration file located in the system partition are retained.
[0177] Referring to Figure 3, after the electronic device 200 detects the user's operation to uninstall App1, it can uninstall App1, that is, delete the enhanced feature service installation package and user data of App1 located in the user partition. However, the main function service installation package and configuration file of App1 located in the system partition are retained and will not be deleted when App1 is uninstalled.
[0178] In this way, when the electronic device detects the user's factory reset operation, the main function service installation package of App1 can be reinstalled to restore the state after the first boot.
[0179] The following section will use Figures 5 and 6 to illustrate the process of an app's development, pre-installation on electronic devices, and installation.
[0180] For example, Figure 5 illustrates a process by which an application developer submits an application to a developer alliance, according to an embodiment of this application. As shown in Figure 5, the process may include steps 310 to 330.
[0181] 310. Developers use an IDE to develop multiple installation packages for their applications.
[0182] For example, developers can use an IDE to develop apps in modules according to their functional characteristics. For instance, for App1, developers can create multiple modules and develop them independently within each module, with each module corresponding to an independent installation package file.
[0183] It should be understood that in the HarmonyOS system, the installation package can be a HarmonyOS ability package (HAP) file, while in the Android system, the installation package can be an Android application package (APK) file.
[0184] For multiple installation packages belonging to the same app, the following rules apply during development, taking the installation package as an example:
[0185] (1) The application package name (bundleName) label is consistent across all HAP files.
[0186] (2) All HAP files have the same version number (versionCode) label.
[0187] (3) All HAP files contain one HAP file of the main function service installation package type, while there may be one or more HAP files of the enhancement feature service installation package type, or none at all.
[0188] (4) The module name (moduleName) of each HAP in the same App is unique, and the signing certificate is consistent. For example, the module name of HAP1 is moduleName1, and the module name of HAP2 is moduleName2.
[0189] 320. Developers use an IDE to compile and package multiple installation packages to obtain a collection of App installation packages.
[0190] It should be understood that developers can use an IDE to compile and package multiple installation packages of an app into a single app installation package collection.
[0191] 330. Developers use IDEs to submit collections of app installation packages and app metadata to the developer alliance.
[0192] It should be understood that the app's metadata may include information related to the app, such as the developer, an introduction to the application, etc.
[0193] Based on the embodiments of this application, application developers can complete the development of multiple application installation packages for the same application and submit them to the developer alliance.
[0194] For example, FIG6 is a schematic flowchart of a method for pre-installing an application in an electronic device according to an embodiment of the present application. As shown in FIG6, the method 400 may include steps 401 to 413.
[0195] In this embodiment, the developer alliance can submit the collection of App installation packages shown in Figure 5 to the pre-installation management system. The example will be App1.
[0196] 401, The pre-installed management system manages the installation package collection of App1 in sub-packages.
[0197] For example, the pre-installation management system can split the installation package set of App1 into subpackages to obtain a full installation package including all installation packages of App1, and a main function service installation package of App1 separated from the full installation package. The full installation package of App1 is used to upload to the cloud server, and the main function service installation package is used to create a pre-installed package of App1 on electronic devices.
[0198] It should be understood that the full installation package may include the main function service installation package of App1, as well as the installation packages of all enhanced feature services.
[0199] 402, the pre-installed management system can send request message A1 to the cloud server. Request message A1 is used to request App1 to be listed on the application market.
[0200] The cloud server can be the cloud server of the application marketplace. After receiving the request message A1, the cloud server can obtain the full installation package of App1.
[0201] In other examples, the app store can replace the pre-installed management system. In this case, the developer alliance can submit the installation package collection of App1 to the app store, which will then manage the package collection and request its listing.
[0202] 403, The cloud server generates the identification information of App1 based on the information of the full installation package of App1.
[0203] For example, the cloud server can generate a unique identifier for the submitted version of App1 based on information such as the application package name, version number, and application time in the full installation package of App1.
[0204] In some implementations, the cloud server may also assign a pre-installation type identifier to the full installation package of App1 to mark App1 as being for pre-installation.
[0205] In some implementations, the cloud server can also perform security testing on the full installation package of App1. After the test is passed, the full installation package can be stored in the application database so that the App1 stored in the database meets the security requirements.
[0206] In some embodiments, the pre-installation management system can further divide the installation package set of App1 into main function service installation packages and all enhanced feature service installation packages. In this case, the request message A1 is used to request all enhanced feature service installation packages of App1 to be uploaded to the cloud server. The cloud server can generate identification information for App1 based on all enhanced feature service installation packages of App1.
[0207] It should be understood that steps 401 to 403 may be optional. In some examples, steps 401 to 403 may not be performed. This application embodiment does not limit this.
[0208] 404, the pre-installed management system obtained the identification information of App1 from the cloud server.
[0209] For example, the pre-installed management system can retrieve the identification information of App1 from the cloud server. Alternatively, the cloud server can send the identification information of App1 to the pre-installed management system.
[0210] 405. The pre-installed management system generates the configuration file for App1 based on the identification information of App1.
[0211] For example, the configuration file includes the identification information of App1.
[0212] In some implementations, the configuration file may include other information besides the identification information of App1. For example, the configuration file may also include application rating information, such as age information that restricts the use of App1.
[0213] It should be understood that the embodiments of this application do not limit the specific content of other information included in the configuration file.
[0214] 406, The pre-installed management system sends the configuration file and main function service installation package of App1 to server 1.
[0215] For example, referring to FIG7, FIG7 is a flowchart of archiving a pre-installed package according to an embodiment of the present application. Step 406 may include steps 4061 to 4063.
[0216] 4061, The pre-installed management system submits the configuration file and main function service installation package of App1 to the custom configuration management system (CCM).
[0217] 4062, CCM builds the configuration file and main function service installation package of App1 into the system version of the electronic device, resulting in the pre-installed package of App1.
[0218] For example, the configuration file of App1 can be configured in the installation directory of the main function service installation package and built into the system version of the electronic device according to a specific format.
[0219] It should be understood that the configuration files and main function service installation packages of App1, which are part of the system version, can be referred to as the pre-installed package of App1.
[0220] Therefore, when App1 is pre-installed on an electronic device, the configuration file of App1 needs to be placed in the same installation directory as the main function service installation package.
[0221] Custom configuration management systems can also provide some visual configuration tools. For example, users can configure or adjust the layout of elements included in the main function service installation package through CCM.
[0222] 4063, CCM sends the pre-installation package of App1 to server 1. In this way, the pre-installation package of App1 can be pre-installed in the electronic device before it leaves the factory.
[0223] 407, Main function service installation package in the BMS pre-installation package.
[0224] For example, a production line manufacturing electronic devices can obtain the system version of the electronic devices from server 1 and burn it into the electronic devices. For instance, the pre-installed package of App 1 can be pre-installed in the ROM of the electronic device. Alternatively, the pre-installed package of App 1 can also be stored in the electronic device's synchronous dynamic random access memory, flash memory, or other storage space.
[0225] Thus, because App1 is pre-installed as a package containing the main function service installation package and configuration files, rather than the full installation package of App1, the pre-installed App1 occupies less storage space on the electronic device. Since electronic devices may have multiple applications pre-installed before leaving the factory, the technical solution of this application pre-installs its corresponding package for each application, thereby reducing the overall storage space occupied by multiple pre-installed applications and increasing the available storage space for the user.
[0226] It should be understood that steps 401 to 406 are optional. In some examples, steps 401 to 406 may not be performed, in which case the electronic device has already been pre-installed with the App1 pre-installed package or the App1 main function service installation package before leaving the factory.
[0227] For example, when the electronic device detects the first power-on, the BMS can scan the pre-installed package of App1 in the memory, and after scanning the pre-installed package, install the main function service installation package in the pre-installed package.
[0228] In some examples, the BMS may install the main function service installation package in the system partition of the electronic device. Alternatively, the BMS may also install the main function service installation package in the user partition of the electronic device; this embodiment of the application is not limited thereto.
[0229] Similarly, the configuration files in this pre-installed package are placed in the installation directory of the main function service installation package.
[0230] It should be understood that there may be pre-installed packages of other apps in the storage. In this case, the BMS can also install the main function service installation package of the pre-installed packages of other apps.
[0231] 408. After BMS has finished installing the main function service installation package of App1, BMS sends a message B1 to the application market indicating that the installation of App1 is complete.
[0232] For example, message B1 can carry the package name of App1, so that the app store can determine that App1 has been installed through message B1.
[0233] 409. The app store determines the identification information of App1 based on App1's configuration file.
[0234] Understandably, after receiving message B1 indicating that App1 has been installed, the app store can retrieve App1's configuration file from App1's installation directory and parse the configuration file to obtain App1's identification information.
[0235] In some examples, the app store can also store the identification information of App1.
[0236] 410. App1 detects that the user has used function 1 and sends a request message C1 to the app store. The request message C1 includes the identification information 3 of function 1.
[0237] For example, referring to Figure 4, App1 can be App1 in display interface 210, and function 1 can be the ride function in display interface 220. When App1 detects that the user clicks the ride function control 224, App1 can send the request message C1 to the application market. The request message C1 can include the identification information 3 of the ride function.
[0238] For example, this identification information 3 could be the module name (moduleName) of the enhanced feature service installation package corresponding to the ride-hailing function.
[0239] 411. The application market obtains the enhanced feature service installation package 1 corresponding to function 1 from the cloud server according to the request message C1.
[0240] For example, the app store can send a request message D to the cloud server based on the request message C1. Request message D may include the aforementioned identification information 3 and the identification information of App1. The cloud server can match the full installation package of App1 based on the identification information of App1 in the request message D, and obtain the enhanced feature service installation package 1 from the enhanced feature service installation package based on the identification information 3 of function 1. The cloud server can then send the enhanced feature service installation package 1 to the app store. This allows for on-demand loading of corresponding functional modules. For functional modules not used by other users, the electronic device does not need to install the corresponding enhanced feature service installation package, thereby reducing the storage space occupied by App1.
[0241] For example, if the cloud server only stores all the enhanced feature service installation packages of App1, the cloud server can match all the enhanced feature service installation packages of App1 according to the identification information of App1 in the request message D, and obtain the enhanced feature service installation package 1 from the enhanced feature service installation packages according to the identification information 3 of function 1. Then the cloud server can send the enhanced feature service installation package 1 to the application market.
[0242] Understandably, each enhancement feature service installation package can have an identifier field to identify the corresponding functional module. For example, this identifier field could be the module name (moduleName) of the functional module.
[0243] In other examples, the request message D may also carry only the identification information of App1. In this case, the app store can send request message D to the cloud server and obtain the installation package of all the enhanced features of App1 from the cloud server.
[0244] For example, the app store can send request message D to the cloud server. The cloud server can then match the full installation package of App1 based on the identifier information of App1 in request message D. Afterward, the cloud server can send all the enhancement service installation packages within that full installation package to the app store. In this way, the electronic device can install all the enhancement service installation packages of App1, allowing the user to directly use the corresponding functional modules when needed, thereby improving the responsiveness of App1 to user operations.
[0245] 412, BMS installation enhancement feature service installation package 1.
[0246] For example, the BMS can install the Enhanced Features Service Installation Package 1 in the user partition of the electronic device.
[0247] It should be understood that after the enhanced feature service installation package is installed, users can use the corresponding functions normally.
[0248] For example, referring to Figure 4, after the BMS installs the enhanced feature service package corresponding to the ride function, the electronic device 200 can normally display the display interface corresponding to the ride function control, providing ride services to the user.
[0249] 413, BMS detected the operation of uninstalling App1 and uninstalled the enhanced feature service installation package 1 of App1.
[0250] In some cases, users may need to uninstall App1. For example, users can long-press the App1 icon on the desktop and select the uninstall option from the pop-up card. In this case, BMS can uninstall the enhanced feature service installation package 1 downloaded by App1 located in the user partition, while the pre-installed package of App1 located in the system partition will not be deleted.
[0251] In this way, when the electronic device detects that the user has performed a factory reset, the main function service installation package of App1 will be reinstalled, enabling the electronic device to return to its state before the factory reset.
[0252] It should be understood that step 413 may be an optional step. In other embodiments, step 413 may also be omitted.
[0253] Based on the embodiments of this application, the application has multiple installation packages. Before the electronic device leaves the factory, only the main function service installation package and configuration file of the application need to be pre-installed in the electronic device, instead of pre-installing all the installation packages of the application in the electronic device, thereby reducing the storage space occupied by the pre-installed application in the electronic device.
[0254] In addition, when users use the on-demand loading function modules of the pre-installed application, the electronic device can dynamically download and install the corresponding enhanced feature service installation package from the cloud server to provide this service to the user.
[0255] In some cases, users may frequently use a particular function of App1. Therefore, when pre-installing App1 on an electronic device, the installation package for the enhanced features corresponding to that frequently used function can be pre-installed along with the main function service installation package. This allows users to quickly access the frequently used function upon startup, improving the user experience. The following section will describe this technical solution in conjunction with Figure 8.
[0256] For example, FIG8 is a schematic flowchart of another method for pre-installing an application provided in an embodiment of this application. As shown in FIG8, the method 500 may include steps 501 to 513.
[0257] 501, The pre-installed management system manages the installation package collection of App1 in sub-packages.
[0258] For example, the pre-installation management system can split the installation package set of App1 into subpackages to obtain a full installation package including all installation packages of App1, and a main function service installation package and at least one enhanced feature service installation package of App1 separated from the full installation package. The full installation package of App1 is used to upload to a cloud server, and the main function service installation package and at least one enhanced feature service installation package are used to create a pre-installed package of App1 on electronic devices.
[0259] 502, the pre-installed management system can send request message A2 to the cloud server. Request message A2 is used to request App1 to be listed on the application market.
[0260] 503, The cloud server generates the identification information of App1 based on the information of the full installation package of App1.
[0261] 504, the pre-installed management system obtains the identification information of App1 from the cloud server.
[0262] 505, The pre-installed management system generates the configuration file for App1 based on the identification information of App1.
[0263] It should be understood that steps 502 to 505 can be referred to in the relevant descriptions of steps 402 to 405 above, and will not be repeated here for the sake of brevity.
[0264] 506, The pre-installed management system sends the configuration file of App1, the main function service installation package, and at least one enhanced feature service installation package to server 1.
[0265] It should be understood that the method for determining at least one enhanced feature service installation package in the pre-installed package may be related to the user's usage habits of App1. For example, if the user of App1 frequently uses feature A, then it can be determined that an enhanced feature service installation package for feature A needs to be pre-installed.
[0266] It should be understood that the frequency with which users of App1 use function A can be used to determine whether a user frequently uses function A. For example, if the frequency is greater than a preset frequency, it can be determined that the user frequently uses function A.
[0267] Alternatively, the method for determining the at least one enhancement service package can be related to the developer's payment method. For example, different enhancement service packages can have different fees, or different numbers of enhancement service packages can have different fees.
[0268] For example, the base fee may cover the inclusion of one enhanced feature service package in the pre-installed package. For each additional enhanced feature service package, the developer will need to pay extra. Therefore, the pre-installed management system or cloud server can determine the included enhanced feature service packages based on the developer's payment method.
[0269] In other examples, the pre-installation management system can also determine which apps to pre-install based on user habits, as well as the enhancement service packages for those pre-installed apps.
[0270] For example, through data statistics, it can be determined that most users are accustomed to using Music App 2 for music apps, so it can be determined that Music App 2 needs to be pre-installed. The method for determining the installation package of this enhanced feature service can be found in the description above.
[0271] 507. The BMS installation package includes the main function service installation package and at least one enhancement feature service installation package.
[0272] It should be understood that before the electronic device leaves the factory, the pre-installed package of App1 is pre-installed in the memory of the electronic device. The pre-installed package may include a main function service installation package and at least one enhanced feature service installation package.
[0273] For example, the pre-installed package of App1 includes a configuration file, a main function service installation package, and at least one enhanced feature service installation package. After the electronic device is powered on for the first time, the BMS can scan and obtain the pre-installed package, and install the main function service installation package and at least one enhanced feature service installation package.
[0274] Similarly, the configuration file is placed in the installation directory of the main feature service installation package and at least one enhancement feature service installation package.
[0275] In some examples, the BMS installs the main function service package and at least one enhancement feature service package on the system partition.
[0276] In this way, after the electronic device is powered on for the first time, the user can quickly access the commonly used functions of App1, which helps to improve the user experience.
[0277] 508. After BMS has finished installing the main function service installation package of App1, BMS sends a message B2 to the application market that the installation of App1 is complete.
[0278] 509. The app store determines the identification information of App1 based on App1's configuration file.
[0279] 510. App1 detects that the user is using function 2 and sends a request message C2 to the app store. The request message C2 includes the identification information 4 of App1's function 2.
[0280] 511, The application market obtains the enhanced feature service installation package 2 corresponding to function 2 from the cloud server according to request message C2.
[0281] 512, BMS installation enhancement feature service installation package 2.
[0282] It should be understood that this enhanced feature service installation package 2 can be installed in the user partition of the electronic device.
[0283] It should be understood that steps 508-512 can be referred to in the relevant description of steps 408-412 above, and will not be repeated here for the sake of brevity.
[0284] 513, BMS detected the operation of uninstalling App1 and uninstalled the enhanced feature service installation package 2 of App1.
[0285] When a user needs to uninstall App1, BMS can uninstall the enhanced feature service installation package 2 downloaded from the cloud server, but the pre-installed main function service installation package, configuration file, and at least one enhanced feature service installation package will not be deleted.
[0286] In this way, when the electronic device detects that the user has performed a factory reset, the main function service installation package of App1 and the enhanced feature service installation package of commonly used functions will be reinstalled, enabling the electronic device to return to its state before the factory reset.
[0287] It should be understood that step 513 may be an optional step. In other embodiments, step 513 may also be omitted.
[0288] Based on the embodiments of this application, the application has multiple installation packages. Before the electronic device leaves the factory, only the main function service installation package, configuration file and the enhanced feature service installation package of commonly used functions of the application need to be pre-installed in the electronic device, instead of pre-installing all the installation packages of the application in the electronic device, thereby reducing the storage space occupied by the pre-installed application in the electronic device.
[0289] In addition, when users use the on-demand loading function modules of the pre-installed application, the electronic device can dynamically download and install the corresponding enhanced feature service installation package from the cloud server to provide this service to the user.
[0290] In some cases, for enhanced feature service installation packages of App1 that are not pre-installed on electronic devices, App1 can display a prompt message when the user uses App1 for the first time, asking the user whether to download the corresponding installation package. This technical solution will be described below with reference to Figure 9.
[0291] For example, FIG9 is a schematic flowchart of a method for pre-installing an application provided in an embodiment of this application. As shown in FIG9, the method 600 may include steps 601 to 614.
[0292] 601, The pre-installed management system performs sub-package management on the installation package collection of App1.
[0293] 602, The pre-installed management system can send request message A3 to the cloud server. Request message A3 is used to request App1 to be listed on the application market.
[0294] 603, The cloud server generates the identification information of App1 based on the information of the full installation package of App1.
[0295] 604, the pre-installed management system obtains the identification information of App1 from the cloud server.
[0296] 605, The pre-installed management system generates the configuration file for App1 based on the identification information of App1.
[0297] 606, The pre-installed management system sends the configuration file and main function service installation package of App1 to server 1.
[0298] 607, the main function service installation package in the BMS installation pre-installation package.
[0299] It should be understood that before the electronic device leaves the factory, the pre-installed package of App1 is pre-installed in the memory of the electronic device. The pre-installed package may include the main function service installation package and configuration file of App1.
[0300] 608. After BMS has finished installing the main function service installation package of App1, BMS sends a message B1 to the application market that the installation of App1 is complete.
[0301] 609. The app store determines the identification information of App1 based on App1's configuration file.
[0302] It should be understood that steps 601-609 can be referred to in the relevant descriptions of steps 401-409 above, and will not be repeated here for the sake of brevity.
[0303] 610, The user's action of opening App1 was detected. App1 displays a prompt message, which prompts the user whether to download the target enhancement feature service installation package.
[0304] For example, when a user clicks the App1 icon, this prompt message can be displayed on the App1 homepage. This prompt message can be displayed as a card, which may include the text "Download the remaining functional modules?", and may also include confirmation and cancellation controls.
[0305] It should be understood that the specific text content in the display card is not limited in this application embodiment. The text content can be customized by the developer of App1.
[0306] It should be understood that the target enhanced feature service installation package can be all the enhanced feature service installation packages of App1. Alternatively, the target enhanced feature service installation package can also be an enhanced feature service installation package for some commonly used functions, which is not limited in the embodiments of this application.
[0307] In some cases, the installation package for this target enhancement feature service can be determined based on the user's usage habits.
[0308] For example, after logging into an account on an electronic device, the system can determine which target enhancement service packages need to be downloaded based on the user's usage habits of App1 under that account in the cloud. Alternatively, after logging into user account A in App1, the system can determine which target enhancement service packages need to be downloaded based on the user's usage habits of App1 under account A.
[0309] For example, if the data shows that the user frequently uses features A and B of App1, then the target enhancement feature service installation package can be determined to be the feature service installation package corresponding to feature A and the feature service installation package corresponding to feature B.
[0310] In some cases, after logging into an account on an electronic device, it is possible to determine which application enhancement service packages need to be pre-downloaded based on the user's usage habits.
[0311] For example, for music apps, if a user frequently uses music app 2, the target enhancement service installation package for music app 2 can be pre-downloaded. For shopping apps, if a user frequently uses app 3, the target enhancement service installation package for app 3 can be pre-downloaded. In other examples, this prompt message can also be displayed as a system pop-up after the electronic device is first powered on.
[0312] In other examples, the electronic device may not display the above prompt message, but instead directly download the target enhancement feature service installation package.
[0313] When App1 detects that the user clicks the OK control, it can proceed to step 611. When App1 detects that the user clicks the Cancel control, it can cancel the display of this prompt message.
[0314] 611. Based on the user's confirmation, App1 sends a request message C3 to the app store. Request message C3 is used to request the download of the target enhanced feature service installation package. Request message C3 must include at least the identification information of App1.
[0315] 612, The application market obtains the target enhanced feature service installation package from the cloud server according to request message C3.
[0316] In some examples, if the target enhancement service installation package is all enhancement service installation packages for App1, then the request message C3 can carry the identification information of App1, and the app store can send the request message C3 to the cloud server. The cloud server can match the full installation package of App1 based on the identification information of App1 in the request message C3, and then the cloud server can send all enhancement service installation packages to the app store.
[0317] In some examples, if the target enhanced feature service installation package is a partial enhanced feature service installation package for App1, the app store can send a request message D3 to the cloud server based on request message C3. Request message D3 needs to carry not only the identification information of App1 but also the identification information of the target enhanced feature service installation package. The cloud server can match the full installation package of App1 based on the identification information of App1 in request message D3, and then match the target enhanced feature service installation package from the enhanced feature service installation packages based on the identification information of the target enhanced feature service installation package. Afterward, the cloud server can send the target enhanced feature service installation package to the app store.
[0318] 613, BMS installation target enhancement feature service installation package.
[0319] For example, the BMS can install the target enhancement feature service package in the user partition of the electronic device.
[0320] It should be understood that after the installation package for this target enhancement feature service is installed, users can use the corresponding functions normally.
[0321] It should also be understood that, in the case where the target enhancement service installation package is a partial enhancement service installation package of App1, when a user needs to use the function corresponding to the uninstalled enhancement service installation package, the electronic device can dynamically download and install the corresponding enhancement service installation package from the cloud server so that the user can use the corresponding function.
[0322] 614, BMS detected the operation to uninstall App1, uninstalling the target enhanced feature service installation package of App1.
[0323] When a user needs to uninstall App1, BMS can uninstall the target enhanced feature service installation package downloaded from the cloud server, but the main function service installation package and configuration file pre-installed before leaving the factory will not be deleted.
[0324] In this way, when the electronic device detects that the user has performed a factory reset, the main function service installation package of App1 will be reinstalled, enabling the electronic device to return to its state before the factory reset.
[0325] Based on the embodiments of this application, the application has multiple installation packages. Before the electronic device leaves the factory, only the main function service installation package, configuration file and the enhanced feature service installation package of commonly used functions of the application need to be pre-installed in the electronic device, instead of pre-installing all the installation packages of the application in the electronic device, thereby reducing the storage space occupied by the pre-installed application in the electronic device.
[0326] In addition, when a user uses the pre-installed application for the first time, the application can display a prompt asking the user whether to download the target enhancement service installation package. Upon detecting the user's confirmation, the application can download and install the corresponding enhancement service installation package from the cloud server so that the user can use the corresponding functions normally.
[0327] It should be understood that, among the various embodiments described above, their technical solutions can be combined with each other to form new technical solutions, provided that there is no logical conflict. Such solutions should not be considered to be outside the scope of protection of this application.
[0328] Figure 10 is a schematic flowchart of a method for pre-installing an application according to an embodiment of this application. As shown in Figure 10, the method 700 can be applied to a first electronic device, and the method 700 may include steps 710 to 720.
[0329] 710, upon detecting the first power-on, the first electronic device installs a first installation package, wherein the first installation package is a partial installation package among multiple installation packages of the first application, and the first installation package is used to support the first electronic device to at least display the first display interface of the first application.
[0330] It should be understood that before the first electronic device leaves the factory, the first electronic device has a first installation package of the first application pre-installed in it.
[0331] The first display interface may be the homepage display interface of the first application. After the first electronic device installs the first installation package of the first application, it may be able to run the first application and at least display the homepage display interface.
[0332] Alternatively, the first display interface may be another display interface of the first application besides the homepage display interface, which is not limited in this application.
[0333] The multiple installation packages of the first application can be complete installation packages of the first application, or the first installation package can be a partial installation package of the first application, and the number of the first installation packages is less than the number of the multiple installation packages.
[0334] For example, the first installation package may be a main function service installation package, or it may include a main function service installation package and at least one enhancement feature service installation package.
[0335] For example, the first installation package is pre-installed in the read-only memory of the first electronic device. In other examples, the first installation package may also be pre-installed in other memory.
[0336] Optionally, the first installation package may also be used to support the first electronic device in implementing (or using) the main functions of the first application. For example, if the first application is a music app, the first installation package may support the first electronic device in playing music using the music app. Similarly, if the first application is a video app, the first installation package may support the first electronic device in playing videos using the video app.
[0337] 720, The first electronic device displays the icon of the first application.
[0338] In one example, during the installation of a first installation package on a first electronic device, the first electronic device may display an icon for the first application on its desktop. In this case, the icon may be grayed out, and may also display prompts indicating the installation progress.
[0339] Alternatively, after the first electronic device has completed installing the first installation package, the first electronic device may display an icon of the first application on its desktop.
[0340] Based on the embodiments of this application, when pre-installing an application in a first electronic device, it is not necessary to pre-install all the installation packages of the application in the first electronic device, but only a portion of the installation package of the application is pre-installed, thereby reducing the storage space occupied by the pre-installed application.
[0341] In addition, when a new electronic device is powered on for the first time, the pre-installed application installation packages are small, which can increase the installation speed of the applications and make the new device usable quickly.
[0342] In some embodiments, the method 700 further includes:
[0343] In response to the user's first operation, the first electronic device displays the first display interface of the first application;
[0344] Upon detecting a second operation by the user using the first function on the first display interface, the first electronic device sends a first request message to the second electronic device. The first request message is used to obtain the second installation package corresponding to the first function. The multiple installation packages include the second installation package. The first request message includes the first identification information of the first application and the second identification information of the first function.
[0345] The first electronic device receives a second installation package from the second electronic device;
[0346] The first electronic device installs the second installation package;
[0347] The first electronic device displays the second display interface corresponding to the first function.
[0348] It should be understood that the first identification information is used to uniquely identify the first application. The second identification information is used to uniquely identify the first function. For example, the first request message may be request message D mentioned above, the first identification information may be the identification information of App1, the second identification information may be the identification information 3 of function 1, and the second installation package may be the enhanced feature service installation package 1.
[0349] For example, the first operation may be an operation in which a user clicks the icon of a first application; or, the first operation may be an operation in which the first application is invoked from another application; or, the first operation may be an operation in which the user jumps from another application to the first application.
[0350] It should be understood that the first function may be a function not supported by the first installation package. For example, the first installation package only supports the electronic device to display the first display interface of the first application, and the first function may be other functions in the first display interface.
[0351] For example, referring to Figure 4, the first display interface can be display interface 210, the first function can be the ride function, the second operation can be the user clicking the ride function control 224, and the second display interface can be the display interface corresponding to the ride function.
[0352] The process of the first electronic device sending a first request message to the second electronic device and receiving a second installation package from the second electronic device can be understood as the process of the first electronic device downloading the second installation package from the second electronic device.
[0353] Based on the embodiments of this application, when a user needs to use the first function, the first electronic device can dynamically obtain and install the installation package corresponding to the first function from the second electronic device, thereby displaying the second display interface corresponding to the first function and providing the user with corresponding functional services.
[0354] In this way, the functional services provided by the first application can be downloaded on demand according to the user's needs. When the user does not need to use it, there is no need to download the corresponding installation package, thereby reducing the storage space occupied by the first application.
[0355] Optionally, the second operation may not be detected in the first display interface. For example, if the first installation package can support displaying other display interfaces besides the first display interface that supports displaying the homepage, the second operation may be detected by the first electronic device in other display interfaces.
[0356] Optionally, the first electronic device installs the first installation package in the system space of the first electronic device and installs the second installation package in the user space of the first electronic device.
[0357] In some embodiments, the method 700 further includes:
[0358] In response to a third action by the user to uninstall the first application, the first electronic device uninstalls the second installation package.
[0359] For example, the third operation could be a user long-pressing the icon of the first application and clicking "Uninstall" in the pop-up tab. Alternatively, the third operation could also be a user selecting to delete the first application in the phone's management app.
[0360] It should be understood that the first electronic device may retain the first installation package.
[0361] Based on the embodiments of this application, when a user uninstalls the first application, the first electronic device can delete the downloaded second installation package and retain the first installation package that was pre-installed at the factory, thereby restoring the first application in the electronic device to its state before leaving the factory.
[0362] In some embodiments, the method 700 further includes:
[0363] In response to the user's first operation, the first electronic device displays the first display interface of the first application;
[0364] When the user's second operation of using the first function is detected on the first display interface, the first electronic device sends a first request message to the second electronic device. The first request message is used to obtain a third installation package other than the first installation package among the multiple installation packages of the first application. The third installation package includes the installation package corresponding to the first function. The first request message includes the first identification information of the first application.
[0365] The first electronic device receives a third installation package from the second electronic device;
[0366] The first electronic device installs the third installation package;
[0367] The first electronic device displays the second display interface corresponding to the first function.
[0368] For example, the third installation package is all installation packages of the first application in addition to the first installation package pre-installed in the first electronic device.
[0369] It should be understood that this first identification information is used to uniquely identify the first application.
[0370] For example, the first request message may be request message D mentioned above, which carries the identification information of App1. The third installation package may be an installation package containing all the enhanced feature services of App1.
[0371] Based on the embodiments of this application, when a user uses a first function that is not supported by the first installation package, the first electronic device can send a first request message to the second electronic device to obtain a third installation package for the first application that is not installed on the first electronic device. This third installation package includes the installation package corresponding to the first function. After installing the third installation package, the second display interface corresponding to the first function can be displayed. In this way, after the user has the corresponding function to use the first application, the first electronic device can download the remaining uninstalled third installation packages, thereby enabling the user to use all the functions of the first application without having to download installation packages for other functions of the first application multiple times.
[0372] In some embodiments, when the first electronic device is powered on for the first time, the method 700 further includes:
[0373] The first electronic device displays a first prompt message, which prompts the user whether to download a third installation package other than the first installation package among multiple installation packages of the first application.
[0374] In response to the user's confirmation to download the third installation package, the first electronic device sends a first request message to the second electronic device. The first request message is used to obtain the third installation package, and includes first identification information of the first application.
[0375] The first electronic device receives a third installation package from the second electronic device;
[0376] The first electronic device installs the third installation package.
[0377] For example, the first prompt message can be displayed as a card or a pop-up window. The first prompt message may include a confirm function control and a cancel function control, and the operation of confirming the download of the third installation package can be an operation performed by the user clicking the confirm function control.
[0378] Based on the embodiments of this application, when the first electronic device is powered on for the first time, a first prompt message can be displayed to ask the user whether they need to download an uninstalled third installation package. Upon detecting the user's definitive input, the third installation package is downloaded. This technical solution downloads the third installation package only when the user has a need for the functions related to the first application, which can enhance user engagement and the controllability of the electronic device.
[0379] In other examples, when the first electronic device detects negative input from the user, it may not be necessary to download the aforementioned third installation package.
[0380] Optionally, the first prompt message can also be used to prompt the user whether to download the target installation package. The target installation package can be an installation package corresponding to commonly used functions of the first application, and there can be one or more target installation packages. The number of target installation packages can be less than the number of installation packages in the third installation package. In this way, the first electronic device can prompt the user whether to download installation packages for commonly used functions, without having to download installation packages corresponding to all functions. Since some functions are unnecessary for the user, this technical solution can avoid downloading installation packages for redundant functions, saving storage space on the first electronic device.
[0381] Optionally, the third installation package is installed in the user space of the first electronic device.
[0382] In some embodiments, the method 700 further includes:
[0383] In response to a third action by the user to uninstall the first application, the first electronic device uninstalls the third installation package.
[0384] It should be understood that when uninstalling the first application, the first electronic device can delete the third installation package while retaining the first installation package.
[0385] Based on the embodiments of this application, when a user uninstalls the first application, the first electronic device can delete the downloaded third installation package and retain the first installation package that was pre-installed at the factory, thereby restoring the first application in the electronic device to its state before leaving the factory.
[0386] In some embodiments, the method 700 further includes:
[0387] In response to the detection of a fourth operation involving a user's factory reset, the first electronic device reinstalls the first installation package.
[0388] Based on the embodiments of this application, when the first electronic device detects a factory reset operation, the first installation package of the first application can be reinstalled, thereby restoring the first electronic device to its initial state upon first power-on.
[0389] In some embodiments, before the first electronic device leaves the factory, a configuration file for a first application is pre-installed in the first electronic device, and the configuration file includes first identification information.
[0390] It should be understood that this first identification information can be used to uniquely identify the first application.
[0391] Based on the embodiments of this application, a configuration file including first identification information is pre-installed before the first electronic device leaves the factory, which facilitates the first electronic device to download other installation packages of the first application from the second electronic device.
[0392] Optionally, the first electronic device may be pre-installed with the first identification information before it leaves the factory. Alternatively, the first installation package may also include the first identification information, which is not limited in this embodiment.
[0393] In some embodiments, the first installation package is also used to support a second function of the first application.
[0394] For example, the second function is one that users frequently need, and the first installation package can support this second function. In this way, after the first application is pre-installed, users can quickly use the second function of the first application without downloading the corresponding installation package, thus improving the user experience.
[0395] This application also provides a method for pre-installing an application, applied to a second electronic device. The method includes: the second electronic device acquiring a set of installation packages for a first application, the set including all installation packages of the first application; and the second electronic device generating third identification information for the first application based on first information from the set of installation packages.
[0396] For example, the second electronic device may obtain a set of installation packages for the first application from the pre-installed management system.
[0397] For example, the set of installation packages may include the main function service installation package of the first application and all the enhancement feature service function installation packages.
[0398] The first piece of information may include the names of the installation packages in the installation package set, the time when the installation package set was obtained, and other information.
[0399] This third identification information is used to uniquely identify the first application.
[0400] Based on the embodiments of this application, the second electronic device can generate third identification information of the first application based on the first information of the installation package set of the first application, thereby uniquely identifying the first application based on the third identification information, which is beneficial for matching the corresponding application and installation package according to the request message of the first electronic device.
[0401] In some embodiments, the first function is determined based on the user's usage habits; or, the first function is determined based on the user's operation.
[0402] For example, the first function can be determined based on the user's usage habits, specifically as described in steps 506 or 610 above. Alternatively, the first function can also be determined based on the user's click actions.
[0403] Based on the embodiments of this application, the first function is determined according to the user's usage habits, so that the functions supported by the downloaded installation package are what the user wants, thereby improving the user experience.
[0404] In some embodiments, obtaining the set of installation packages for the first application includes: receiving a second request message; and obtaining the set of installation packages based on the second request message.
[0405] For example, the second request message may be sent by the pre-installed management system.
[0406] Based on the embodiments of this application, upon receiving the second request message, the second electronic device can be triggered to obtain the installation package set.
[0407] In some embodiments, the method further includes: sending the third identification information.
[0408] For example, the second electronic device may send the third identification information to the pre-installation management system so that the pre-installation management system generates a configuration file for the first application.
[0409] In some embodiments, the second electronic device may also generate the aforementioned configuration file for pre-installation.
[0410] In some embodiments, the method further includes: dividing the installation package set into a first installation package and a second installation package, wherein the first installation package is used to support the first electronic device to at least display a first display interface of the first application, the first installation package is used to be pre-installed in the first electronic device, and the second installation package is used to support the first electronic device to use a first function of the first application.
[0411] Based on the embodiments of this application, the second electronic device can divide the installation package set into a first installation package and a second installation package for pre-installation, thereby determining the installation package that needs to be pre-installed in the electronic device.
[0412] In some embodiments, the installation package set includes at least a first installation package and a second installation package, wherein the first installation package is used to support the first electronic device to at least display a first display interface of the first application, the first installation package is used to be pre-installed in the first electronic device, and the second installation package is used to support the first electronic device to use a first function of the first application.
[0413] Based on the embodiments of this application, the installation package set may include a first installation package and a second installation package, thereby determining the installation package that needs to be pre-installed in the electronic device.
[0414] In some embodiments, the first information includes at least the package name and version number of all installed packages.
[0415] In other examples, the first information may also include the organization to which the first application belongs, the application submission date, etc.
[0416] It should be understood that all installation packages should have the same package name and the same version number.
[0417] In some embodiments, the third identification information is also used to indicate that the first application is a pre-installed application.
[0418] In this way, the second electronic device can determine which applications are pre-installed.
[0419] In other examples, the first installation package may also be used to support the first electronic device in using the first function of the first application, which is not limited in this application embodiment.
[0420] In some embodiments, the method further includes: a second electronic device receiving a first request message sent by a first electronic device, the first request message including first identification information of a first application and second identification information of a first function; when third identification information matches the first identification information, the second electronic device matches a second installation package corresponding to the first function according to the second identification information; and the second electronic device sending the second installation package to the first electronic device.
[0421] It is understandable that each installation package in the installation package set has corresponding identification information.
[0422] Based on the embodiments of this application, when the second electronic device receives the first request message from the first electronic device, it can match the first identification information carried in the first request message with the third identification information. When a match is successful, it means that the first electronic device needs the installation package of the first application. Then, it matches the second installation package according to the second identification information and sends the second installation package to the first electronic device. This allows the first electronic device to download the corresponding installation package as needed.
[0423] In some implementations, the method further includes: a second electronic device receiving a first request message sent by a first electronic device, the first request message including first identification information of a first application; and when third identification information matches the first identification information, the second electronic device sending a third installation package to the first electronic device, the third installation package being an installation package in the installation package set other than the installation package pre-installed in the first electronic device.
[0424] Based on the embodiments of this application, when the second electronic device receives the first request message from the first electronic device, it can match the first identification information carried in the first request message with the third identification information. When a successful match is found, it means that the first electronic device needs the installation package of the first application, and the second electronic device sends the third installation package of the first application to the first electronic device. This allows the first electronic device to download the corresponding installation package as needed.
[0425] Figure 11 is a schematic block diagram of an electronic device provided in an embodiment of this application. As shown in Figure 11, the electronic device 800 includes one or more processors 810; one or more memories 820; the one or more memories 820 store one or more instructions, which, when executed by one or more processors 810, cause the method of a pre-installed application as described in any of the possible implementations above to be executed.
[0426] For example, the electronic device 800 can be the electronic device 100, electronic device 200, first electronic device, second electronic device, etc. mentioned above. The electronic device 800 can be used to execute the methods 400, 500, 600, 700, etc. mentioned above.
[0427] This application also provides an apparatus including a processor and a communication interface. The communication interface is used to receive signals and transmit the signals to the processor. The processor processes the signals so that the method of the pre-installed application described in any of the possible implementations above is executed.
[0428] The device can be a chip. For example, the chip can be a chip system or a standalone chip.
[0429] This application also provides a readable storage medium (also known as a computer-readable storage medium) storing a program that, when run on an electronic device, causes the electronic device to execute the aforementioned method steps to implement the method for displaying a preset application in the above embodiments.
[0430] This application also provides a program product (also known as a computer program product) that, when run on an electronic device, causes the electronic device to perform the aforementioned related steps to implement the method of the preset application in the above embodiments.
[0431] This application also provides an apparatus including a module for implementing a pre-installed application as described in any of the preceding embodiments.
[0432] In addition, embodiments of this application also provide an apparatus, which may specifically be a chip, component or module. The apparatus may include a connected processor and a memory; wherein the memory is used to store instructions, and when the apparatus is running, the processor may execute the instructions stored in the memory to cause the apparatus to execute the methods of the preset application programs in the above-described method embodiments.
[0433] In this embodiment, the electronic device, readable storage medium, program product or device are all used to execute the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods provided above, and will not be repeated here.
[0434] 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 this application.
[0435] 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.
[0436] 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.
[0437] 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.
[0438] 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.
[0439] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
A method for pre-installing applications, characterized in that, The method is applied to a first electronic device, wherein a first installation package of a first application is pre-installed in the first electronic device before it leaves the factory, and the method includes: Upon detecting the first power-on, the first installation package of the first application is installed, wherein the first installation package is a partial installation package among a plurality of installation packages of the first application, and the first installation package is used to support the first electronic device to at least display the first display interface of the first application; Display the icon of the first application. The method according to claim 1, characterized in that, The method further includes: In response to the user's first operation, the first display interface of the first application is displayed; Upon detecting a second operation by the user using the first function on the first display interface, a first request message is sent to the second electronic device. The first request message is used to obtain the second installation package corresponding to the first function. The plurality of installation packages include the second installation package. The first request message includes the first identification information of the first application and the second identification information of the first function. Receive the second installation package from the second electronic device; Install the second installation package; Display the second display interface corresponding to the first function. The method according to claim 2, characterized in that, The method further includes: In response to a third operation by the user to uninstall the first application, the second installation package is uninstalled. The method according to claim 1, characterized in that, The method further includes: In response to the user's first operation, the first display interface of the first application is displayed; Upon detecting a second operation by the user using the first function on the first display interface, a first request message is sent to the second electronic device. The first request message is used to obtain a third installation package other than the first installation package among the plurality of installation packages of the first application. The third installation package includes the installation package corresponding to the first function. The first request message includes the first identification information of the first application. Receive the third installation package from the second electronic device; Install the third installation package; Display the second display interface corresponding to the first function. The method according to claim 1, characterized in that, When the first electronic device is powered on for the first time, the method further includes: Display a first prompt message, which prompts the user whether to download a third installation package other than the first installation package among the plurality of installation packages of the first application; In response to the user's confirmation to download the third installation package, a first request message is sent to the second electronic device. The first request message is used to obtain the third installation package, wherein the first request message includes first identification information of the first application. Receive the third installation package from the second electronic device; Install the third installation package. The method according to claim 4 or 5, characterized in that, The method further includes: In response to a third operation by the user to uninstall the first application, the third installation package is uninstalled. The method according to claim 3 or 6, characterized in that, The method further includes: In response to the detection of a fourth operation involving a user's factory reset, the first installation package is reinstalled. The method according to any one of claims 2-7, characterized in that, Before the first electronic device leaves the factory, the first electronic device is also pre-installed with a configuration file of the first application, and the configuration file includes the first identification information. The method according to any one of claims 1-8, characterized in that, The first installation package is also used to support a second function of the first application. A method for pre-installing applications, characterized in that, The method is applied to a second electronic device, and the method includes: Obtain the installation package set of the first application, the installation package set including all installation packages of the first application; The third identification information of the first application is generated based on the first information of the installation package set. The method according to claim 10, characterized in that, The method further includes: Receive a first request message sent by a first electronic device, the first request message including first identification information of the first application and second identification information of the first function; When the third identification information matches the first identification information, the second installation package corresponding to the first function is matched according to the second identification information; The second installation package is sent to the first electronic device. The method according to claim 11, characterized in that, The first function is determined based on the user's usage habits; or, the first function is determined based on the user's operation. The method according to claim 10, characterized in that, The method further includes: Receive a first request message sent by a first electronic device, the first request message including first identification information of the first application; When the first identification information matches the first identification information, a third installation package is sent to the first electronic device. The third installation package is an installation package in the installation package set other than the installation package pre-installed in the first electronic device. The method according to any one of claims 10-13 is characterized in that, The process of obtaining the set of installation packages for the first application includes: Receive the second request message; The installation package set is obtained according to the second request message. The method according to any one of claims 10-14 is characterized in that, The method further includes: Send the third identification information. The method according to any one of claims 10-15 is characterized in that, The method further includes: The installation package set is divided into a first installation package and a second installation package. The first installation package is used to support the first electronic device to at least display a first display interface of the first application. The first installation package is used to be pre-installed in the first electronic device. The second installation package is used to support the first electronic device to use a first function of the first application. The method according to claim 10, characterized in that, The installation package set includes at least a first installation package and a second installation package, wherein the first installation package is used to support the first electronic device to display at least a first display interface of the first application, the first installation package is used to be pre-installed in the first electronic device, and the second installation package is used to support the first electronic device to use a first function of the first application. The method according to any one of claims 10-17 is characterized in that, The first information includes at least the package name and version number of all the installation packages. The method according to any one of claims 10-18 is characterized in that, The third identification information is also used to indicate that the first application is a pre-installed application. An electronic device, characterized in that, include: One or more processors; One or more memory units; The one or more memories store one or more programs that, when executed by one or more processors, cause the method as described in any one of claims 1-19 to be performed. 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-19 is executed. A readable storage medium, characterized in that, The readable storage medium stores instructions that, when executed on an electronic device, cause the method as described in any one of claims 1-19 to be performed. A program product, characterized in that, The program product includes program code that, when run on an electronic device, causes the method as described in any one of claims 1-19 to be performed.