User personal information acquisition method, device, electronic equipment, server and system

Through the call information list and privacy policy managed by cloud server, the scope of user personal information obtained by the application is restricted, and the problem of application illegally obtaining information is solved, and information security and transparency are improved.

CN120429888APending Publication Date: 2025-08-05HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410166228.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-02-05
Publication Date
2025-08-05

AI Technical Summary

Technical Problem

In the prior art, applications illegally obtain user personal information during operation, resulting in information leakage, and the privacy policy review is incomplete and poor understanding.

Method used

Through the call information list and privacy policy provided by the cloud server, the scope of user personal information that can be obtained by the application during operation is restricted, ensuring that the information is within the scope of authorization and review, and preventing hot updates and tampering.

Benefits of technology

Effectively avoid applications from obtaining user personal information illegally, improve information security and transparency, and ensure that users understand the purpose of their information acquisition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120429888A_ABST
    Figure CN120429888A_ABST
Patent Text Reader

Abstract

The invention provides a user personal information obtaining method and device, electronic equipment, a server and a system, and relates to the technical field of terminals.The method is applied to first electronic equipment and comprises the steps that in response to a first obtaining request of a first application on the first electronic equipment, a calling information list of the first application is obtained, the calling information list is provided by the cloud server, the calling information list comprises at least one piece of user personal information allowed by the cloud server to be acquired by the first application, and the first acquisition request is used for requesting to acquire the first user personal information; if the first user personal information is the user personal information in the calling information list, the first user personal information is obtained, the user personal information applied to be obtained by the first application in the running process can be limited within the range of the user personal information audited by the application market server, and leakage of the user personal information is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminal technology, and in particular to methods, devices, electronic devices, servers, and systems for obtaining user personal information. Background Art

[0002] App stores can review the privacy policies and operating procedures of listed apps to provide users with compliant apps. A privacy policy is an agreement between the app developer and the user regarding the processing and protection of user personal information. It describes the user personal information collected, shared, and / or transferred during the app's operation and the purpose of using that personal information.

[0003] When an application is first launched after installation or resetting, the user is prompted to read the privacy policy and confirm whether to authorize the application to access the user's personal information as specified in the privacy policy during operation. After the user authorizes the privacy policy, during subsequent use of the application, the developer can tamper with the application's running code on the electronic device through hot updates or other methods that circumvent app market review, causing the application to obtain user personal information beyond the scope of the user's authorized privacy policy, resulting in the leakage of user personal information. Summary of the Invention

[0004] This application provides a method, device, electronic device, server and system for obtaining user personal information, which can protect user personal information during the operation of application software.

[0005] To achieve the above objectives, this application adopts the following technical solutions:

[0006] In a first aspect, the present application provides a method for obtaining user personal information, which is applied to a first electronic device. The method includes: responding to a first acquisition request of a first application on the first electronic device, obtaining a call information list of the first application, the call information list being provided by a cloud server, the call information list including at least one user personal information that the cloud server allows the first application to obtain, the first acquisition request being used to request obtaining the first user personal information; if the first user personal information is the user personal information in the call information list, then obtaining the first user personal information.

[0007] The first application is an application downloaded and installed from the application market software installed on the first electronic device, and the cloud server can be the application market server corresponding to the application market software in the first electronic device. The cloud server can provide the first electronic device with a call information list of the first application. All user personal information recorded in the call information list that is allowed to be called by the first application has been reviewed by the cloud server. When the first application applies to obtain the first user's personal information, the first electronic device can determine whether the first user's personal information is within the user personal information range restricted by the call information list of the first application, ensuring that the first application can only obtain the user personal information recorded in the call information list during operation. This can effectively prevent the first application from illegally obtaining user personal information outside the permitted scope through hot updates and other means, thereby improving the security of user personal information.

[0008] Exemplarily, the user personal information recorded in the call information list can be written in a code that is easily recognized by the electronic device. The user personal information can be information stored in the first electronic device or user data obtained by calling the application programming interface (API), such as location information, sensor information, user information registered on the first electronic device (such as user mobile phone number, ID number, name, etc.), device information of the first electronic device (such as device unique identifier, etc.); the user personal information can also be permissions that the application needs to apply for when implementing the corresponding function, such as camera permissions, microphone permissions, network permissions, address book permissions, calendar write permissions, read and write permissions, etc.

[0009] In a possible implementation of the first aspect, before responding to the first acquisition request of the first application on the first electronic device, the method also includes: generating a list acquisition request in response to the operation of starting the first application, the list acquisition request including the first application identifier of the first application; sending the list acquisition request to a cloud server, the cloud server being used to obtain a pre-stored call information list of the first application corresponding to the first application identifier according to the list acquisition request; and receiving and storing the call information list sent by the cloud server.

[0010] Based on this possible implementation method, the content of the call information list of the first application stored in the cloud server will be updated as the executable code and / or configuration file of the first application uploaded to the cloud server is updated. Therefore, when the first electronic device is connected to the Internet, each time it detects the user starting the first application, it can obtain the latest call information list of the first application from the cloud server, and then limit the scope of user personal information that the first application can obtain during this operation according to the latest call information list.

[0011] In a possible implementation of the first aspect, the method for obtaining a call information list of the first application may specifically include: determining the authorization result of the privacy policy of the first application, the privacy policy is used to indicate at least one user personal information and the purpose of use of each user personal information, and the authorization result is used to indicate whether the first application is authorized to obtain at least one user personal information; if the authorization result indicates that the first application is authorized to call at least one user personal information, then obtaining the call information list.

[0012] In an embodiment of the present application, the privacy policy may record each user's personal information used by the first application during operation, and all user personal information recorded in the call information list and the purpose of use of each user's personal information may be clearly stated in the privacy policy, so that the user of the first electronic device can clearly and completely understand the user's personal information obtained by the first application. When the first application requests to obtain the first user's personal information, the first electronic device may compare the first user's personal information with the user's personal information in the call information list of the first application, provided that the user authorizes the first application to obtain the user's personal information in the privacy policy. The user's personal information obtained by the first application may be limited to the scope of the user's personal information recorded in the privacy policy that the user has authorized, and to the user's personal information recorded in the call information list provided by the cloud server.

[0013] In a possible implementation of the first aspect, the method further includes: in response to an operation of launching the first application for the first time, displaying a text link of the privacy policy, where the text link is used to indicate the storage address of the privacy policy in the cloud server; in response to a triggering operation on the text link, sending a privacy policy acquisition request to the cloud server, where the privacy policy acquisition request includes the storage address, and the cloud server is used to obtain the privacy policy of the first application located at the storage address according to the privacy policy acquisition request; and receiving and displaying the privacy policy sent by the cloud server.

[0014] Based on this optional method, when the user first launches the first application, the first electronic device can obtain and display the privacy policy of the first application hosted on the cloud server through the text link of the privacy policy. The user personal information displayed in the privacy policy and the purpose of use of each user's personal information have been reviewed by the cloud server. This can prevent the developer from arbitrarily modifying the content of the privacy policy without the review of the cloud server, so that all user personal information obtained by the first application can be clearly and completely understood.

[0015] In a possible implementation of the first aspect, the method also includes: sending an application installation request for the first application to a cloud server, the application installation request including a first application identifier of the first application, the cloud server being configured to obtain a pre-stored first installation package of the first application corresponding to the first application identifier according to the application installation request, the first installation package including a text link to a privacy policy; receiving the first installation package sent by the cloud server; and installing the first application according to the first installation package.

[0016] Optionally, the first installation package may also include a call information list of the first application. The first electronic device may store the call information list in the first installation package locally when downloading and installing the first application, so that when the first application is started for the first time and the first electronic device is not connected to the Internet, the first electronic device may also limit the user personal information that the first application applies to call during operation according to the call information list in the first installation package if it cannot obtain the call information list of the first application from the cloud server.

[0017] In a possible implementation of the first aspect, after installing the first application according to the first installation package, the method further includes: obtaining hot update data of the first application in response to an operation of starting the first application; and hot updating the first application according to the hot update data.

[0018] Based on this optional method, even if the developer modifies the running code of the first application in the electronic device through hot update, the first application cannot obtain user personal information other than the call information list provided by the cloud server, thereby improving the security of user personal information.

[0019] In second aspect, the present application provides another method for obtaining user personal information, which is applied to a cloud server, and the method includes: receiving a list acquisition request sent by a first electronic device, the list acquisition request including a first application identifier of a first application; according to the list acquisition request, obtaining a pre-stored call information list corresponding to the first application identifier, the call information list including at least one user personal information allowed to be obtained by the first application; sending the call information list to the first electronic device, and the first electronic device is used to obtain the first user personal information when the first user personal information requested to be obtained by the first acquisition request of the first application is the user personal information in the call information list.

[0020] In a possible implementation of the second aspect, the method further includes: receiving a privacy policy acquisition request sent by the first electronic device, the privacy policy acquisition request including the storage address of the privacy policy of the first application in the cloud server, the privacy policy being used to indicate at least one user personal information in the list acquisition request and the purpose of use of each user personal information; acquiring the privacy policy located at the storage address according to the privacy policy acquisition request; and sending the privacy policy to the first electronic device.

[0021] In a possible implementation of the second aspect, the method also includes: receiving an application installation request sent by the first electronic device, the application installation request including a first application identifier; according to the application installation request, obtaining a pre-stored first installation package of the first application corresponding to the first application identifier, the first installation package including a text link to the privacy policy of the first application, the privacy policy being used to indicate at least one user personal information in the call information list and the purpose of obtaining each user personal information, and the text link being used to indicate the storage address of the privacy policy in the cloud server; and sending the first installation package to the first electronic device.

[0022] The first installation package also includes the executable code and configuration file of the first application. Optionally, the first installation package may also include a call information list of the first application.

[0023] In a possible implementation of the second aspect, before sending the first installation package to the first electronic device, the cloud server may also receive an initial installation package of the first application sent by the second electronic device, where the initial installation package includes the executable code and configuration file of the first application; based on the initial installation package, obtain and store the call information list and privacy policy of the first application; generate a text link to the privacy policy based on the storage address of the privacy policy; and generate the first installation package based on the executable code, configuration file, and text link.

[0024] In a possible implementation of the second aspect, the initial installation package further includes a call information list and a privacy policy of the first application.

[0025] Based on this possible implementation method, the developer can pre-generate the call information list and the privacy policy that complies with the regulations for the first application through the IDE plug-in installed on the electronic device, and then upload the call information list and the privacy policy of the first application to the cloud server. When the cloud server subsequently conducts a consistency review of the call information list and the privacy policy that comply with the regulations uploaded by the developer, the workload of the cloud server review can be reduced and the review cost can be reduced.

[0026] In a possible implementation of the second aspect, based on the initial installation package, the call information list and privacy policy of the first application are obtained and stored, including: generating a call information list by parsing the executable code and the configuration file; generating an initial privacy policy based on the call information list and the pre-stored privacy policy template, the initial privacy policy including at least one user personal information in the call information list; sending the initial privacy policy to the second electronic device, the second electronic device being used to generate a privacy policy based on the purpose of obtaining the user personal information entered by the user in the initial privacy policy; receiving the privacy policy sent by the second electronic device; and storing the call information list and the privacy policy.

[0027] Based on this possible implementation, by parsing the content of the first application's executable code, it is possible to determine the various APIs called in the first application's running code and the user data obtained by calling the APIs. By parsing the first application's configuration file, it is possible to determine the various permissions that the first application needs to apply for during operation. Based on the parsed user data and various permissions, a complete call information list can be generated. By adding the user personal information in the call information list to the privacy policy template and having the developer fill in the purpose of use of each user's personal information in the generated initial privacy policy template, a standardized and highly readable privacy policy can be generated.

[0028] In a possible implementation of the second aspect, a first installation package is generated based on the executable code, the configuration file, and the text link, including: detecting whether the user personal information in the privacy policy is consistent with the user personal information in the call information list; if the user personal information in the privacy policy is consistent with the user personal information in the call information list, then generating the first installation package based on the executable code, the configuration file, and the text link.

[0029] Based on this possible implementation method, consistency testing is performed on the privacy policy and the call information list to ensure that all user personal information in the call confidence list and the purpose of use of each user's personal information can be clearly stated in the privacy policy. Through the privacy policy, all user personal information obtained by the first application during operation can be fully displayed to the user.

[0030] In a third aspect, the present application provides a device for obtaining user personal information, comprising at least one unit for executing the method in any possible implementation of the first aspect, or comprising at least one unit for executing the method in any possible implementation of the second aspect.

[0031] In a fourth aspect, the present application provides an electronic device, comprising: a processor, the processor being configured to run a computer program stored in a memory to implement the method in any possible implementation manner of the first aspect.

[0032] In a fifth aspect, the present application provides a cloud server, comprising: a processor, the processor being used to run a computer program stored in a memory to implement the method in any possible implementation manner of the second aspect.

[0033] In a sixth aspect, the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a computer, it can implement the method in any possible implementation of the first aspect, or implement the method in any possible implementation of the second aspect.

[0034] In a seventh aspect, the present application provides a computer program product, which, when running on a computer, enables the computer to execute the method in any possible implementation of the first aspect, or implement the method in any possible implementation of the second aspect.

[0035] The technical effects of the second to seventh aspects provided in this application can refer to the technical effects of the various possible implementation methods of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Figure 1 A schematic diagram of the structure of a user personal information acquisition system provided in an embodiment of the present application.

[0037] Figure 2 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application.

[0038] Figure 3 A schematic diagram of the software structure of an electronic device provided in an embodiment of the present application.

[0039] Figure 4 A schematic diagram of the structure of a computing device provided in an embodiment of the present application.

[0040] Figure 5 A flowchart of a method for generating an initial installation package for a first application provided in an embodiment of the present application.

[0041] Figure 6 A schematic diagram of the contents of a call information list provided in an embodiment of the present application.

[0042] Figure 7 A schematic diagram of the contents of a privacy policy template provided in an embodiment of the present application.

[0043] Figure 8 A schematic diagram of the contents of an initial privacy policy provided in an embodiment of the present application.

[0044] Figure 9 A schematic diagram of the contents of a privacy policy provided in an embodiment of the present application.

[0045] Figure 10 A flowchart of a method for generating a first installation package for a first application provided in an embodiment of the present application.

[0046] Figure 11 A flowchart of another method for generating a first installation package for a first application provided in an embodiment of the present application.

[0047] Figure 12 A flowchart of a method for generating a privacy policy for a first application provided in an embodiment of the present application.

[0048] Figure 13 A flowchart of a method for obtaining user personal information provided in an embodiment of the present application.

[0049] Figure 14 A flowchart of a method for obtaining a call information list of a first application provided in an embodiment of the present application.

[0050] Figure 15 A schematic diagram of an application scenario for displaying a privacy policy provided in an embodiment of the present application.

[0051] Figure 16 A schematic block diagram of a device for obtaining user personal information provided in an embodiment of the present application.

[0052] Figure 17 A schematic block diagram of another device for obtaining user personal information provided in an embodiment of the present application. DETAILED DESCRIPTION

[0053] The technical solutions in the embodiments of the present application are described below in conjunction with the drawings and related embodiments in the embodiments of the present application. Among them, in the description of the embodiments of the present application, the terms used in the following embodiments are only for the purpose of describing specific embodiments, and are not intended to be used as limitations on the present application. As used in the specification and claims of the present application, the singular expressions "a", "said", "above", "the" and "this" are intended to also include expressions such as "one or more", unless there is a clear contrary indication in the context. It should also be understood that in the following embodiments of the present application, "at least one", "one or more" refer to one or more (including two). The term "and / or" is used to describe the association relationship of associated objects, indicating that three relationships can exist; for example, A and / or B can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in a kind of "or" relationship.

[0054] References to "one embodiment" or "some embodiments" etc. described in this specification mean that the specific features, structures or characteristics described in conjunction with the embodiment are included in one or more embodiments of the present application. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. appearing in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in another way. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in another way. The term "connected" includes direct and indirect connections, unless otherwise stated. "First" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated.

[0055] In the embodiments of this application, words such as "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplarily" or "for example" in the embodiments of this application should not be interpreted as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplarily" or "for example" is intended to present the relevant concepts in a concrete manner.

[0056] The steps involved in the method for obtaining user personal information provided in the embodiments of this application are merely examples. Not all steps are mandatory, nor are all information or messages required. These steps may be added or removed as needed during use. In the embodiments of this application, the same step or steps or messages with the same function may be referenced and learned from each other in different embodiments.

[0057] In order to protect user personal information, in addition to installation files such as executable programs and configuration files, the installation packages of applications listed in the application market software must also include a privacy policy that declares how the application collects, uses, stores, shares and / or transfers user personal information during operation. When uploading the application installation package to the cloud server corresponding to the application market software, the cloud server can use automated tools to simulate the various functions triggered when the user uses the application, monitor the user personal information obtained by the application during operation, and then review whether the application has reasonably obtained user personal information related to the service scenario and whether the privacy policy explicitly states the monitored user personal information in combination with the privacy policy uploaded by the application developer. However, the automated detection method may not be able to trigger all functions of the application, resulting in incomplete monitored user personal information. In addition, the wording in the privacy policy is complex and obscure, and it is difficult for the cloud server to determine whether the privacy policy clearly describes the obtained user personal information during the review process.

[0058] After an electronic device downloads and installs an application from the application market software, when the user starts the application for the first time, a privacy policy link will be displayed on the display interface of the electronic device. After the user triggers the privacy policy link, the user can view the privacy policy stored on the cloud server corresponding to the application on the electronic device. The developer of the application can arbitrarily modify the content of the privacy policy displayed to the user, so that the user personal information actually obtained by the application is inconsistent with the user personal information in the privacy policy displayed to the user.

[0059] In addition, after the user confirms that he or she authorizes the application to obtain the user personal information displayed in the privacy policy during operation, during the subsequent use of the application, the developer can modify the application's running code in the electronic device through hot updates or other methods that can avoid detection by the electronic device's operating system, so that the user personal information obtained by the application during operation exceeds the scope of user personal information reviewed by the cloud server corresponding to the application market software, or exceeds the scope of user personal information in the privacy policy authorized by the user, thereby leaking user personal information.

[0060] In order to solve the technical problem that applications in electronic devices illegally obtain user personal information during operation, resulting in the leakage of user personal information, the embodiments of the present application provide a method, device, electronic device, server and system for obtaining user personal information. The first electronic device can compare the first user personal information requested by the first application with the user personal information in the call information list of the first application provided by the cloud server, so that the user personal information that can be called by the first application during operation is limited to the range of user personal information that has been reviewed and allowed to be called by the cloud server corresponding to the application market software, thereby protecting the user's personal information.

[0061] Next, the user personal information acquisition system involved in the user personal information acquisition method provided in the embodiment of the present application is introduced.

[0062] Figure 1 This is a structural diagram of a user personal information acquisition system provided by an embodiment of the present application. Figure 1 The user personal information acquisition system includes a cloud server and a first electronic device on the user side.

[0063] The first electronic device may be installed with application market software and one or more applications downloaded from the application market software. The cloud server may be an application market server corresponding to the application market software installed on the first electronic device, and the first electronic device may communicate with the cloud server. For example, the application market software may be an application distribution platform provided by the manufacturer of the first electronic device (e.g., Huawei App Market), or an application distribution platform provided by a third-party manufacturer (e.g., App Store, 360 Mobile Assistant, etc.).

[0064] In this system, a cloud server is used to store the call information list, privacy policy, and first installation package of applications listed in the application market software. The call information list of the application includes the application's executable code and all user personal information called in the configuration file. The application's privacy policy includes all user personal information in the call information list and the purpose of using each user's personal information. The user personal information in the call information list and the user personal information recorded in the privacy policy are consistent and have been reviewed by the cloud server. The first installation package includes the application's executable code, configuration file, and a text link indicating the storage address of the application's privacy policy on the cloud server.

[0065] The first electronic device is configured to obtain a first installation package of a first application from a cloud server and install the first application based on the first installation package. The first electronic device is further configured to display a text link to the privacy policy in the first installation package on a display interface in response to a user-triggered operation to launch the first application for the first time, and to obtain and display the privacy policy of the first application from the cloud server in response to the user's triggering operation on the text link.

[0066] The first electronic device is further configured to, in response to a user-triggered operation to launch the first application, obtain a call information list for the first application from a cloud server, so as to compare the user personal information requested by the first application during operation with the user personal information in the call information list. This ensures that the first application can only obtain user personal information within the scope of the user personal information restricted by the call information list. Even if the developer arbitrarily modifies the application's running code on the electronic device through methods such as hot updates, the application will not be able to obtain user personal information outside the call information list, thereby improving the security of user personal information.

[0067] Optionally, the user personal information acquisition system may also include a second electronic device on the application developer's side, which can communicate with the cloud server. Specifically, the second electronic device is configured to send the application's initial installation package to the cloud server in response to the developer's triggering of an upload operation in the application market software. The cloud server is configured to obtain and store the application's call information list, privacy policy, and first installation package based on the files in the initial installation package.

[0068] In one embodiment, the initial installation package may include the executable code and configuration file of the application. The cloud server is specifically used to generate a call information list of the application and a privacy policy that complies with the specifications based on the executable code and configuration file of the application, and store the call information list and privacy policy of the application in the cloud server. Then, the first installation package of the application is generated based on the call information list of the application, the storage address of the privacy policy in the cloud server, the executable code and the configuration file.

[0069] In another embodiment, the initial installation package may include a call information list, a privacy policy, an executable code, and a configuration file of the application. The call information list and the privacy policy may be files generated by the second electronic device through an IDE plug-in parsing the executable code and configuration file of the application uploaded by the developer.

[0070] The first electronic device and the second electronic device involved in the method for obtaining user personal information provided in the embodiment of the present application can both be mobile phones, tablet computers, wearable devices, laptop computers, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), desktop computers, and other electronic devices that can install application programs. The embodiment of the present application does not impose any restrictions on the specific types of the first electronic device and the second electronic device.

[0071] The following first introduces the electronic device (ie, the first electronic device or the second electronic device) involved in the embodiment of the present application. Figure 2 , Figure 2 A structural diagram of an electronic device 200 is shown.

[0072] The electronic device 200 may include a processor 210, an external memory interface 220, an internal memory 221, a universal serial bus (USB) interface 230, a charging management module 240, a power management module 241, a battery 242, an antenna 1, an antenna 2, a mobile communication module 250, a wireless communication module 260, a sensor module 270, a button 280, and a display screen 290. The sensor module 270 may include a pressure sensor 270A, a gyroscope sensor 270B, an acceleration sensor 270C, a temperature sensor 270D, a touch sensor 270E, and the like.

[0073] The processor 210 may include one or more processing units. For example, the processor 210 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors.

[0074] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.

[0075] Processor 210 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 210 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 210. If processor 210 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 210 latency, and thus improves system efficiency.

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

[0077] The I2C interface is a bidirectional synchronous serial bus that includes a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 210 may include multiple I2C bus lines. The processor 210 may be coupled to the touch sensor 270E, a charger, etc. via different I2C bus interfaces. For example, the processor 210 may be coupled to the touch sensor 270E via the I2C interface, enabling communication between the processor 210 and the touch sensor 270E via the I2C bus interface, thereby implementing the touch function of the electronic device 200.

[0078] The UART interface is a universal serial data bus for asynchronous communication. The bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is generally used to connect the processor 210 and the wireless communication module 260. For example, the processor 210 communicates with the Bluetooth module in the wireless communication module 260 via the UART interface to implement the Bluetooth function. The MIPI interface can be used to connect the processor 210 to peripheral devices such as the display screen 290. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc. In some embodiments, the processor 210 and the display screen 290 communicate via the DSI interface to implement the display function of the electronic device 200.

[0079] The GPIO interface can be configured via software. The GPIO interface can be configured as either a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 210 to the display 290, the wireless communication module 260, the sensor module 270, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.

[0080] USB interface 230 is an interface that complies with USB standards and specifications, and may be a Mini USB interface, a Micro USB interface, a USB Type-C interface, or the like. USB interface 230 can be used to connect a charger to charge electronic device 200, or to transfer data between electronic device 200 and peripheral devices. It can also be used to connect headphones to play audio. This interface can also be used to connect other electronic devices, such as AR devices.

[0081] It is understood that the interface connection relationship between the modules illustrated in the embodiment of the present application is merely an illustrative illustration and does not constitute a structural limitation on the electronic device 200. In other embodiments of the present application, the electronic device 200 may also adopt a different interface connection method from the above embodiment, or a combination of multiple interface connection methods.

[0082] The charging management module 240 is configured to receive charging input from a charger. The charger can be either a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 240 can receive charging input from the wired charger via the USB interface 230. In some wireless charging embodiments, the charging management module 240 can receive wireless charging input via the wireless charging coil of the electronic device 200. While charging the battery 242, the charging management module 240 can also provide power to the electronic device via the power management module 241.

[0083] The power management module 241 is used to connect the battery 242, the charging management module 240, and the processor 210. The power management module 241 receives input from the battery 242 and / or the charging management module 240 and provides power to the processor 210, the internal memory 221, the display 290, and the wireless communication module 260. The power management module 241 can also be used to monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage, impedance). In some other embodiments, the power management module 241 can also be provided in the processor 210. In other embodiments, the power management module 241 and the charging management module 240 can also be provided in the same device.

[0084] The wireless communication function of the electronic device 200 can be implemented through the antenna 1, the antenna 2, the mobile communication module 250, the wireless communication module 260, the modem processor and the baseband processor.

[0085] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 200 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.

[0086] The mobile communication module 250 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the electronic device 200. The mobile communication module 250 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 250 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 250 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 250 can be set in the processor 210. In some embodiments, at least some of the functional modules of the mobile communication module 250 can be set in the same device as at least some of the modules of the processor 210.

[0087] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium- or high-frequency signal. The demodulator is used to demodulate 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 being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. The application processor displays images or videos via the display screen 290. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 210 and be provided in the same device as the mobile communication module 250 or other functional modules.

[0088] The wireless communication module 260 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 200. The wireless communication module 260 can be one or more devices integrating at least one communication processing module. The wireless communication module 260 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 210. The wireless communication module 260 can also receive the signal to be sent from the processor 210, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0089] In some embodiments, antenna 1 of electronic device 200 is coupled to mobile communication module 250, and antenna 2 is coupled to wireless communication module 260, so that electronic device 200 can communicate with a network and other devices via wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).

[0090] Electronic device 200 implements display functionality through a GPU, display screen 290, and an application processor. The GPU is a microprocessor for image processing that connects display screen 290 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 210 may include one or more GPUs that execute program instructions to generate or modify display information.

[0091] Display screen 290 is used to display images, videos, and the like. Display screen 290 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a MiniLED, a MicroLED, a Micro-oLed, or a quantum dot light-emitting diode (QLED). In some embodiments, electronic device 200 may include one or N display screens 290, where N is a positive integer greater than one.

[0092] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the electronic device 200 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.

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

[0094] The NPU is a neural network (NN) computing processor. Drawing on the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it rapidly processes input information and can continuously self-learn. The NPU can enable intelligent cognitive applications in electronic device 200, such as image recognition, face recognition, speech recognition, and text comprehension.

[0095] The external memory interface 220 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 200. The external memory card communicates with the processor 210 via the external memory interface 220 to implement data storage functions. For example, files such as videos can be stored in the external memory card.

[0096] The internal memory 221 can be used to store computer executable program codes, which include instructions. The internal memory 221 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as an image playback function, etc.), etc. The data storage area may store data created during the use of the electronic device 200 (such as a phone book, etc.), etc. In addition, the internal memory 221 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 210 executes various functional applications and data processing of the electronic device 200 by running instructions stored in the internal memory 221 and / or instructions stored in a memory provided in the processor.

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

[0098] The gyroscope sensor 270B can be used to determine the motion posture of the electronic device 200. In some embodiments, the angular velocity of the electronic device 200 around three axes (i.e., the x, y, and z axes) can be determined by the gyroscope sensor 270B. The gyroscope sensor 270B can be used for navigation and somatosensory gaming scenes.

[0099] Accelerometer 270C can detect the magnitude of acceleration of electronic device 200 in all directions (generally three axes). When electronic device 200 is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the electronic device's posture, enabling applications such as switching between landscape and portrait modes and pedometers.

[0100] The temperature sensor 270D is used to detect temperature. In some embodiments, the electronic device 200 uses the temperature detected by the temperature sensor 270D to execute a temperature processing strategy. For example, when the temperature reported by the temperature sensor 270D exceeds a threshold, the electronic device 200 reduces the performance of the processor located near the temperature sensor 270D to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the electronic device 200 heats the battery 242 to prevent the electronic device 200 from shutting down abnormally due to low temperature. In other embodiments, when the temperature is lower than another threshold, the electronic device 200 boosts the output voltage of the battery 242 to prevent abnormal shutdown due to low temperature.

[0101] Touch sensor 270E, also known as a "touch device," can be disposed on display screen 290. Touch sensor 270E and display screen 290 form a touch screen, also known as a "touch screen." Touch sensor 270E is used to detect touch operations applied thereto or in the vicinity thereof. The touch sensor can transmit the detected touch operations to an application processor to determine the type of touch event. Visual output related to the touch operations can be provided via display screen 290. In other embodiments, touch sensor 270E can also be disposed on the surface of electronic device 200, at a location different from that of display screen 290.

[0102] The buttons 280 include a power button, a volume button, etc. The buttons 280 may be mechanical buttons or touch buttons. The electronic device 200 may receive button inputs and generate key signal inputs related to user settings and function control of the electronic device 200.

[0103] It should be understood that the structures illustrated in the embodiments of the present application do not constitute a specific limitation on the electronic device 200. In other embodiments of the present application, the electronic device 200 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0104] See also Figure 3 , is a schematic diagram of the software structure of an electronic device in an embodiment of the present application. The operating system in the electronic device can be Android, Microsoft Windows, Apple Mobile Operating System (iOS), or Harmony OS, etc. Here, the operating system of the electronic device is Harmony OS as an example for description.

[0105] In some embodiments, the HarmonyOS system can be divided into four layers, including the kernel layer, the system service layer, the framework layer, and the application layer, and the layers communicate with each other through software interfaces.

[0106] like Figure 3 As shown in Figure 1, the kernel layer includes the Kernel Abstraction Layer (KAL) and the driver subsystem. The KAL includes multiple kernels, such as the Linux kernel and LiteOS, a lightweight IoT kernel. The driver subsystem includes the Hardware Driver Foundation (HDF). The HDF provides unified peripheral access and a framework for driver development and management. The multi-kernel kernel layer can select the appropriate kernel for processing based on system requirements.

[0107] The system service layer is the core capability set of the HarmonyOS, providing services to applications through the framework layer. This layer includes the system basic capability subsystem set, the basic software service subsystem set, the enhanced software service subsystem set, and the hardware service subsystem set.

[0108] The system basic capability subsystem set provides basic capabilities for the operation, scheduling, migration and other operations of distributed applications on devices of the Hongmeng system. It may include subsystems such as distributed soft bus, distributed data management, distributed task scheduling, Ark multi-language runtime, public basic library, multi-modal input, graphics, security, artificial intelligence (AI), user program framework, etc. Among them, the Ark multi-language runtime provides C or C++ or JavaScript (JS) multi-language runtime and basic system class libraries, and can also provide a runtime for Java programs statically compiled using the Ark compiler (that is, the part developed in Java language in the application or framework layer).

[0109] The basic software service subsystem set provides public and general software services for the Hongmeng system, including event notification, phone, multimedia, Design For X (DFX), MSDP & DV, and other subsystems.

[0110] The enhanced software service subsystem provides HarmonyOS with differentiated, device-specific, and enhanced software services. It includes specialized services for smart screens, wearables, and the Internet of Things (IoT).

[0111] The hardware service subsystem provides hardware services for the Hongmeng system, including location services, biometric recognition, wearable hardware services, IoT hardware services, and other subsystems.

[0112] The framework layer provides user program frameworks and capability frameworks in multiple languages, including Java, C, C++, and JS, for Hongmeng OS application development. It also provides two user interface (UI) frameworks (a Java UI framework for Java and a JS UI framework for JS), as well as a multi-language framework for application programming interfaces (APIs) for various software and hardware services. The APIs supported by Hongmeng OS devices will vary depending on the system's componentization.

[0113] The application layer includes system applications and third-party applications (or extended applications). System applications may include applications installed by default on electronic devices such as the desktop, control bar, settings, and phone. Extended applications can be non-essential applications developed and designed by the manufacturer of the electronic device, such as electronic device managers, device migration, notes, weather and other applications. Third-party non-system applications can be developed by other manufacturers, but can run applications in the HarmonyOS system, such as conference, game, navigation, social or shopping applications.

[0114] Providing the ability to run backend tasks and a unified data access abstraction. PA primarily supports FA, for example, by providing computing power as a backend service or data access capabilities as a data warehouse. Applications developed based on FA or PA can implement specific business functions, support cross-device scheduling and distribution, and provide users with a consistent and efficient application experience.

[0115] Multiple electronic devices running the Harmony system can achieve hardware mutual assistance and resource sharing through distributed soft bus, distributed device virtualization, distributed data management and distributed task scheduling.

[0116] The cloud server involved in the embodiments of the present application can be an application market server corresponding to the application market software installed in the first electronic device and the second electronic device, or can be other servers that can provide upload and download services for various applications and can review the installation packages of uploaded applications. Exemplarily, the cloud server can be a computing device such as an ultra-mobile personal computer (UMPC).

[0117] See also Figure 4 , Figure 4 A schematic diagram of the structure of a computing device is shown. The cloud server involved in the embodiment of the present application can be Figure 4 The computing device 400 shown is implemented.

[0118] like Figure 4As shown, the computing device 400 may include at least one processor 401, a communication bus 402, a memory 403, and at least one communication interface 404. It should be noted that, Figure 4 The device structure shown does not constitute a limitation on the computing device 400. The computing device 400 may include more or fewer components than shown, or combine certain components, or arrange components differently, which is not limited in the present embodiment. Figure 4 The components of the computing device 400 are described in detail:

[0119] The processor 401 is the control center of the computing device 400, which can be a processor or a general term for multiple processing elements. For example, the processor 401 can be a general-purpose central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present application, such as one or more microprocessors (digital signal processors, DSPs), or one or more field programmable gate arrays (field programmable gate arrays, FPGAs). The processor 401 can perform various functions of the computing device 400 by running or executing software programs stored in the memory 403, and calling data stored in the memory 403. For example, Figures 4 to 14 In the embodiment shown, the actions of the cloud server can be executed by calling the data in the memory through the processor of the corresponding device.

[0120] As an embodiment, the processor 401 may include one or more CPUs, such as Figure 4 CPU0 and CPU1 are shown in the figure.

[0121] As an example, the computing device 400 may include multiple processors, such as Figure 4 4 and 5. Each of these processors may be a single-CPU processor or a multi-CPU processor. A processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0122] The communication bus 402 may include a path for transmitting information between the above components. The communication bus 402 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 4 Only one thick line is used in the diagram, but this does not mean that there is only one bus or one type of bus.

[0123] The memory 403 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 403 may be independent and connected to the processor 401 via the communication bus 402. The memory 403 may also be integrated with the processor 401. Among them, the memory 403 is used to store the software program that executes the solution provided in the embodiment of the present application, and is controlled and executed by the processor 401.

[0124] The communication interface 404 is used to communicate with other devices or communication networks, such as Ethernet, RAN, wireless local area networks (WLAN), etc. The communication interface 404 may include a receiving unit to implement a receiving function, and a sending unit to implement a sending function.

[0125] As an embodiment, computing device 400 may further include an output device 406 and an input device 407. Output device 406 communicates with processor 401 and can display information in a variety of ways. For example, output device 406 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. Input device 407 communicates with processor 401 and can receive input in a variety of ways. For example, input device 407 may be a mouse, keyboard, touch screen device, or sensor device.

[0126] The computing device 400 may be a general computing device or a dedicated computing device, for example, a desktop computer, a portable computer, a network server, etc., which is not limited in the present embodiment.

[0127] In an embodiment of the present application, the developer can upload the initial installation package of the application to the cloud server corresponding to the application market software through the application market software installed on the electronic device. The cloud server can review the files in the initial installation package uploaded by the developer and publish the application in the application market after the review is passed.

[0128] For each application released in the application market, the cloud server stores the corresponding first installation package, privacy policy and call information list. Among them, the first installation package of each application is generated by the cloud server based on the storage address of the privacy policy of each application and the initial installation package. When the cloud server receives an installation request sent by an electronic device to install a certain application, it can send the first installation package of the application to the electronic device so that the electronic device can install the application according to the first installation package. The call information list of the application can be a code file that includes one or more user personal information that the cloud server allows the application to obtain during operation, and the privacy policy of the application can be a text file used to declare all user personal information in the call information list of the application and the purpose of use of each user's personal information. The privacy policy and call information list of each application can be files in the initial installation package uploaded by the developer of each application to the cloud server, or they can be files generated by the cloud server based on the executable code and configuration file in the initial installation package.

[0129] In one possible implementation, application developers can use an integrated development environment (IDE) plug-in on an electronic device to parse the application's executable code and configuration files, pre-generate the application's call information list and a compliant privacy policy, and then upload the initial installation package containing the call information list and privacy policy to the cloud server through the application market software.

[0130] For example, see Figure 5 The method flow diagram shown mainly involves the process of generating a call information list and privacy policy for a first application based on an IDE plug-in, and generating an initial installation package for the first application based on the call information list and privacy policy. The execution subject of this method can be a second electronic device in the above system. The method includes the following steps:

[0131] S510: parse the executable code and configuration file of the first application through the IDE plug-in to generate a call information list of the first application.

[0132] The call information list includes one or more pieces of user personal information obtained by the first application during operation. For example, the user personal information may be information stored in the first electronic device, or user data obtained by the first application during operation by calling an application programming interface (API), or various permissions applied for by the first application.

[0133] Specifically, by parsing the executable code of the first application, the IDE plug-in can determine the information stored in the first electronic device that needs to be obtained in the executable code of the first application (for example, device information such as the device unique identifier of the first electronic device, user information such as the mobile phone number, ID number, name, etc. of the user registered in the first electronic device), the various APIs that need to be called, and the user data obtained through the various APIs (for example, location information, sensor information, etc.). Furthermore, by parsing the configuration file of the first application, the IDE plug-in can determine the various permissions that the first application needs to apply for during operation, such as the permission to call the camera, the permission to call the microphone, the permission to read data, the permission to write data, etc. Based on the various APIs called by the first application parsed from the executable code, the user data to be obtained by calling the API, and the various permissions that need to be applied for parsed from the configuration file, a call information list for the first application can be generated.

[0134] In the embodiment of the present application, the content in the call information list can be written in a code format that is easy for electronic devices to read. Figure 6The diagram of a call information list shown in FIG. 1 shows that, by parsing the executable file of the first application, it can be determined that the first application called the API "LocationManagerService.getLastLocation" during operation, and the user data obtained through the API is the location information "LOCATION". By parsing the configuration file of the first application, it can be determined that the permissions that the first application needs to apply for include the write calendar data permission "android,permission.WRITE_CALENDAR" and the read storage permission "android.permission.READ_EXTERNAL_STORAGE". After compiling all the parsed user personal information in code format, a Figure 6 The call information list shown in is easy for electronic devices to recognize and read.

[0135] S520: Generate a privacy policy for the first application based on the call information list and a pre-stored privacy policy template.

[0136] For example, see Figure 7 A content diagram of a privacy policy template is shown. The privacy policy template may include a statement template for indicating application information and application developer information, as well as a statement template for the application developer to collect user personal information. Among them, the statement template for the developer to collect user personal information may include a permission statement template and a data statement template. The permission statement template includes the permissions applied for by the developer to implement the application function and the purpose of the permission. For example, the permission statement template may be "The developer applies to use xxx permission for xxx." The data statement template includes the type of user data collected by the developer to implement the application function and the purpose of the user data. For example, the data statement template may be "The developer will collect xxx information for xxx."

[0137] In one embodiment, the IDE plug-in can first read each user's personal information in the call information list of the first application, and fill in each user's personal information in the statement template in the privacy policy template according to the type of user's personal information, thereby generating the initial privacy policy of the first application, and displaying the generated initial privacy policy to the developer to instruct the developer to fill in the purpose of use of each user's personal information in the initial privacy policy. The IDE plug-in can also generate a privacy policy for the first application based on the purpose of use of various permissions, the purpose of use of various user data, the first application, and the information of the developer of the first application entered in the initial privacy policy. The privacy policy generated based on the template can list all the user's personal information in the call information list of the first application and the purpose of use of the user's personal information one by one, thereby improving the readability and standardization of the privacy policy.

[0138] For example, based on Figure 7 In the privacy policy template shown in , if the IDE plug-in reads the call information list of the first application and determines that the user personal information in the call information list includes the write calendar data permission, the read storage permission and the location information, the IDE plug-in can fill in the write calendar data permission and the read storage permission in different permission statement templates respectively, and fill in the location information in the data statement template, thereby generating Figure 8 The initial privacy policy shown in the , and the initial privacy policy is displayed on the display interface of the second electronic device to prompt the developer to enter the purpose of applying for the permission to write calendar data, the purpose of applying for the permission to read storage, and the purpose of collecting location information in the initial privacy policy. The IDE plug-in can generate a Figure 9 As shown in the First Application's Privacy Policy.

[0139] By parsing the executable code and configuration files of the application through the IDE plug-in installed in the electronic device, all user personal information obtained by the application during actual operation can be determined, thereby generating a call information list, filling in all user personal information in the call information list in the preset privacy policy template, and allowing the developer to fill in the purpose of use of each user's personal information in the generated initial privacy policy. This can generate a compliant privacy policy and ensure that all user personal information obtained by the application during operation and the purpose of use of each user's personal information can be clearly stated item by item in the privacy policy.

[0140] S530 : Generate an initial installation package of the first application according to the privacy policy, call information list, executable code, and configurable file of the first application.

[0141] The above embodiment illustrates a method for a second electronic device to generate an initial installation package for a first application based on an IDE plug-in. In another possible implementation, the second electronic device may generate an initial installation package for the first application based on the executable code and configurable file of the first application, where the initial installation package does not include the first application's privacy policy and call information list.

[0142] After generating the initial installation package for the first application, the developer of the first application can upload the initial installation package of the first application to the cloud server through the application market software installed on the second electronic device. The cloud server can obtain and store the call information list and privacy policy of the first application based on the initial installation package sent by the second electronic device. It can also generate a first installation package for the first application based on the storage address of the privacy policy on the cloud server, the executable code of the first application, and the configuration file, and publish the first application on the application market.

[0143] In an embodiment of the present application, the cloud server can obtain and store the call information list and privacy policy of the first application, and generate the first installation package of the first application in different ways. Specifically, when the initial installation package of the first application includes the privacy policy and call information list of the first application generated by the developer based on the IDE plug-in, the cloud server can obtain and store the call information list and privacy policy of the first application, and generate the first installation package of the first application in the following way 1. When the initial installation package of the first application does not include the privacy policy and call information list of the first application, the cloud server can obtain and store the call information list and privacy policy of the first application, and generate the first installation package of the first application in the following way 2.

[0144] The following describes in detail the process of the cloud server obtaining and storing the call information list and privacy policy of the first application and generating the first installation package of the first application through two different implementation methods in conjunction with the corresponding flow chart.

[0145] Method 1

[0146] When the initial installation package of the first application sent by the second terminal device includes the privacy policy and call information list of the first application, the cloud server can perform a consistency check on the privacy policy and call information list of the first application in the initial installation package, and then generate the first installation package of the first application based on the privacy policy that passes the check.

[0147] For details, see Figure 10 As shown in the schematic flow chart, the method includes steps S1010 to S1040. The specific steps are as follows:

[0148] S1010, the second electronic device sends an initial installation package of the first application to the cloud server, where the initial installation package includes a call information list, a privacy policy, an executable code, and a configuration file of the first application.

[0149] Among them, the calling information list and privacy policy of the first application can be files generated by the developer of the first application through the IDE plug-in installed on the electronic device. The specific generation method can be found in the relevant descriptions in the above steps S510 to S530, which will not be repeated here.

[0150] S1020, the cloud server performs consistency check on the privacy policy and the call information list.

[0151] The cloud server can detect whether the user personal information recorded in the privacy policy of the first application is consistent with the user personal information recorded in the call information list of the first application. The specific content includes whether the privacy policy of the first application records all the user personal information in the call information list, and whether the privacy policy records other user personal information that is not recorded in the call information list. Furthermore, the cloud server can also detect whether the purpose of use of each user's personal information is recorded in the privacy policy of the first application. Through consistency detection, it can not only ensure that all user personal information in the call information list of the first application and the purpose of use of user personal information are clearly stated in the privacy policy, but also ensure that the user personal information recorded in the privacy policy does not exceed the scope of user personal information restricted by the call information list.

[0152] In one embodiment, if the cloud server detects that the user personal information recorded in the privacy policy in the initial installation package is consistent with the user personal information recorded in the call information list, and the privacy policy records the purpose of use of each user's personal information, it means that the privacy policy in the initial installation package of the first application and the user personal information list have passed the consistency test.

[0153] In other embodiments, if the cloud server detects that the user personal information recorded in the privacy policy of the first application is inconsistent with the user personal information recorded in the call information list of the first application, and / or the privacy policy does not record the purpose of using a certain user personal information, the cloud server can send the privacy policy in the initial installation package to the second electronic device to instruct the developer to modify the privacy policy. The second electronic device can generate a new privacy policy based on the developer's modification operations in the privacy policy and send the modified privacy policy to the cloud server.

[0154] The cloud server can again perform consistency check on the modified privacy policy sent by the second electronic device and the call information list in the initial installation package. If the user personal information in the modified privacy policy is inconsistent with the user personal information in the call information list, and / or the modified privacy policy still does not record the purpose of use of a certain user's personal information, the cloud server can send the modified privacy policy to the second electronic device to instruct the developer to modify the privacy policy again. This cycle will be repeated until the cloud server detects that the user personal information recorded in the modified privacy policy sent by the second electronic device is consistent with the user personal information recorded in the call information list of the first application, and the modified privacy policy records the purpose of use of each user's personal information.

[0155] The modification operations that developers may perform in the privacy policy include, but are not limited to: adding user personal information that is recorded in the call information list but not in the privacy policy, deleting user personal information that is not recorded in the call information list but in the privacy policy, and / or adding the purpose of use of one or more user personal information.

[0156] S1030, the cloud server stores the privacy policy and the call information list that have passed the consistency test, and generates a text link to the privacy policy according to the storage address of the privacy policy.

[0157] S1040, the cloud server generates a first installation package of the first application according to the executable code, configuration file, and text link of the privacy policy of the first application.

[0158] Optionally, the cloud server can also place the call information list of the first application into the first installation package of the first application, so that when the electronic device with the first application installed is not connected to the network, it can also limit the user personal information requested by the first application during operation to the range of user personal information recorded in the call information list based on the call information list obtained from the first installation package.

[0159] Method 2

[0160] When the initial installation package of the first application sent by the second electronic device does not include the privacy policy and call information list of the first application, the cloud server can first generate the call information list and privacy policy of the first application based on the initial installation package, and then perform a consistency check on the generated privacy policy and call information list, thereby generating the first installation package of the first application based on the privacy policy that passes the check.

[0161] For details, see Figure 11 As shown in the method flow chart, the method in which the cloud server generates the first installation package according to the initial installation package of the first application includes steps S1110 to S1150, and each step is specifically as follows.

[0162] S1110, the second electronic device sends an initial installation package of the first application to the cloud server, where the initial installation package includes the executable code and configuration file of the first application.

[0163] S1120, the cloud server generates a call information list and a privacy policy of the first application according to the executable code and the configuration file.

[0164] For details, see Figure 12 As shown in the method flow chart, the cloud server can generate the call information list and privacy policy of the first application through the method in the following steps S1121 to S1125, and the details of each step are as follows.

[0165] S1121, the cloud server parses the executable code and configuration file of the first application and generates a call information list of the first application.

[0166] Specifically, the cloud server can parse the content of the executable code of the first application to determine the various types of information stored in the electronic device obtained by the application program of the first application during operation, as well as the user data obtained by calling the API, such as location information, sensor information, user information registered on the first electronic device (such as the user's mobile phone number, ID number, name, etc.), device information of the first electronic device (such as the device's unique identifier, etc.). By parsing the configuration file of the first application, it can be determined the various types of permissions that the first application needs to apply for during operation, such as the permission to call the camera, the permission to call the microphone, the permission to read data, the permission to write data, etc.

[0167] The cloud server can determine all the user personal information that the first application needs to obtain during operation based on the various API interfaces called by the first application parsed from the executable code, the user data obtained by calling the API interfaces, and the various permissions that need to be applied for and parsed from the configuration file, and then generate a call information list for the first application based on the user personal information. Among them, the user personal information in the call information list includes various types of information stored in the above-mentioned electronic device, user data obtained by calling the API, and various permissions that need to be applied for. The content in the call information list can be written in a code format that is easy for electronic devices to read. The specific content of the call information list can be found in Figure 6 The related descriptions in the above step S510 are not repeated here.

[0168] S1122, the cloud server generates an initial privacy policy based on the call information list and the pre-stored privacy policy template, where the initial privacy policy includes at least one user personal information in the call information list.

[0169] The privacy policy template includes a statement template for the application developer's collection of user personal information. This statement template includes the collected user personal information and the intended use of that personal information. User personal information can be various types of user data obtained by the application through API calls or various permissions requested by the application. The cloud server can read all user personal information in the call information list and enter each user's personal information into the statement template within the privacy policy template, thereby generating an initial privacy policy.

[0170] It should be noted that the specific content of the privacy policy template and the specific content of the generated initial privacy policy can be found in Figure 7 and Figure 8 , and the related description in the above step S520 will not be repeated here.

[0171] S1123, the cloud server sends the initial privacy policy to the second electronic device.

[0172] In order to clearly indicate the purpose of use of each user's personal information in the privacy policy, the cloud server can send the initial privacy policy to the second electronic device to instruct the developer to fill in the purpose of use of each user's personal information in the initial privacy policy on the second electronic device.

[0173] S1124: The second electronic device generates a privacy policy for the first application based on the purpose of obtaining the user's personal information entered by the user in the initial privacy policy. The user may be the developer of the first application.

[0174] S1125, the second electronic device sends the privacy policy of the first application to the cloud server.

[0175] based on Figure 12 According to the method shown in , the cloud server can parse the executable code and configuration file of the application provided by the developer to determine all user data and permissions used in the actual operation of the application, even if the developer has not provided the application's call information list and privacy policy, thereby generating a call information list. The cloud server fills all user personal information in the call information list into the privacy policy template, and requires the developer to fill in the purpose of using each user's personal information in the generated initial privacy policy, thereby generating a compliant privacy policy.

[0176] S1130, the cloud server performs consistency check on the privacy policy and the call information list.

[0177] In order to prevent developers from modifying the user personal information in the initial privacy policy and to prevent developers from not filling in the purpose of use of a certain user's personal information, after the cloud server receives the privacy policy sent by the second electronic device, it can detect whether the user personal information in the call information list generated by itself is consistent with the user personal information recorded in the received privacy policy, and whether the received privacy policy records the purpose of use of each user's personal information, thereby ensuring that all user personal information in the call information list and the purpose of use of the user personal information are clearly stated in the corresponding privacy policy.

[0178] In one embodiment, if the cloud server detects that the user personal information in the call information list of the first application generated by itself is consistent with the user personal information recorded in the privacy policy sent by the second electronic device, and the privacy policy records the purpose of use of each user's personal information, it means that the privacy policy of the first application and the user personal information list have passed the consistency test.

[0179] In other embodiments, if the cloud server detects that the user personal information in the call information list generated by itself is inconsistent with the user personal information recorded in the received privacy policy, and / or the received privacy policy does not record the purpose of use of a certain user's personal information, the cloud server may send the received privacy policy to the second electronic device to instruct the developer to modify the privacy policy based on the method described in the above step S1020, and receive the modified privacy policy generated by the second electronic device based on the developer's modification operation in the privacy policy, until the cloud server detects that the user personal information recorded in the modified privacy policy sent by the second electronic device is consistent with the user personal information recorded in the call information list of the first application generated by itself, and the modified privacy policy records the purpose of use of each user's personal information.

[0180] S1140, the cloud server stores the privacy policy and the call information list that have passed the consistency test, and generates a text link to the privacy policy according to the storage address of the privacy policy.

[0181] S1150: The cloud server generates a first installation package of the first application based on the executable code, configuration file, and text link of the privacy policy of the first application.

[0182] Optionally, the cloud server can also place the call information list of the first application into the first installation package of the first application, so that when the electronic device with the first application installed is not connected to the network, it can also limit the user personal information requested by the first application during operation to the range of user personal information recorded in the call information list based on the call information list obtained from the first installation package.

[0183] Based on the above two different methods, the cloud server can obtain and store the privacy policy and call information list of any application according to the initial installation package of any application uploaded by the developer through the second electronic device. At the same time, it can also generate and store the first installation package of the application based on the storage address of the privacy policy, the call information list and the executable code and configuration file of the application in the initial installation package, and put the application on the shelves in the application market software corresponding to the cloud server.

[0184] In addition, the application's privacy policy records the complete user personal information obtained during the operation of the application, and is consistent with the user personal information in the call information list. The application's privacy policy is hosted on the cloud server, and a text link to the privacy policy is placed in the first installation package. When other electronic devices install and start the first application for the first time based on the first installation package obtained from the cloud server, the electronic devices can obtain and display the privacy policy hosted on the cloud server through the text link in the first installation package. Developers cannot arbitrarily modify the user personal information in the privacy policy displayed to users without the review of the cloud server, ensuring that all user personal information called by the first application during operation can be clearly stated in the privacy policy.

[0185] For the application programs that have been listed in the application market software, the electronic device (which may be the first electronic device or the second electronic device) can download the first installation package of the application program from the cloud server and install the corresponding application program according to the first installation package.

[0186] In one example, taking a first electronic device as an example, when a user triggers an operation to install a first application in the application market software of the first electronic device, the first electronic device may generate an application installation request for requesting installation of the first application, and send the application installation request to a cloud server corresponding to the application market software. The application installation request may include a first application identifier of the first application. The cloud server is configured to obtain a pre-stored first installation package of the first application corresponding to the first application identifier based on the application installation request, and send the first installation package of the first application to the first electronic device. In this way, the first electronic device can install the first application based on the received first installation package.

[0187] The first installation package of the first application may include a text link to the privacy policy of the first application, the executable code and configuration file of the first application. In addition, the first installation package may also include a call information list of the first application.

[0188] In an embodiment of the present application, when a user of a first electronic device launches a first application for the first time, the first electronic device can, based on a text link to the first application's privacy policy in the first installation package, retrieve and display the first application's privacy policy located at the storage address indicated by the text link from a cloud server, thereby instructing the user to read the contents of the privacy policy and confirm whether to authorize the first application to obtain the user's personal information recorded in the privacy policy during operation. Based on this method of obtaining the first application's privacy policy, the developer cannot arbitrarily modify the user's personal information in the privacy policy displayed to the user without review by the cloud server, thereby ensuring that all user personal information accessed by the first application during operation is clearly stated in the privacy policy.

[0189] Optionally, after the first application is installed, the electronic device may obtain hot update data of the first application in response to a user operation of starting the first application, and hot update the first application according to the obtained hot update data.

[0190] Specifically, when a user starts a first application, the electronic device may generate a hot update request for the first application and send the hot update request to a cloud server corresponding to the first application. The cloud server may be a server used by the developer of the first application to manage and store the first installation package and application data of the first application. The hot update request may include the first application identifier of the first application. The cloud server may obtain hot update data corresponding to the first application identifier based on the hot update request and send the hot update data to the electronic device. The electronic device may perform a hot update on the executable code, configuration file, and / or other data of the first application based on the obtained hot update data.

[0191] During the operation of the first application, the first electronic device may, on the premise that the user has authorized the first application to obtain the user personal information recorded in the privacy policy during operation, detect whether the user personal information requested by the first application is the user personal information in the first application's call information list, and then determine whether to obtain the user personal information requested by the first application based on the detection result. In this way, the user personal information obtained by the first application during operation can be limited to the user personal information that has been explicitly disclosed to the user and authorized by the user, thereby protecting the user's personal information.

[0192] In conjunction with the corresponding drawings, the following describes in detail a process in which the first electronic device obtains the user personal information requested by the first application during the running of the first application, taking the first electronic device in the above system as an example.

[0193] Figure 13 This is a flow chart of a method for obtaining user personal information provided in an embodiment of the present application. The execution subject of the method for obtaining user personal information may be the first electronic device in the above system. Figure 13 In a possible implementation, the process of the first electronic device obtaining the user personal information requested by the first application during the running of the first application includes the following steps S1310 to S1320, and each step is described in detail below.

[0194] S1310, in response to a first acquisition request of a first application on a first electronic device, obtain a call information list of the first application, the call information list is provided by a cloud server, and the call information list includes at least one user personal information that the cloud server allows the first application to obtain, and the first acquisition request is used to request to obtain the first user personal information.

[0195] The first electronic device pre-stores a call information list for each application installed from the application market software, as well as a mapping relationship between the application identifier of each application and the call information list. In one possible implementation, when the first electronic device detects a first acquisition request for the first application, the pre-stored call information list for the first application corresponding to the first application identifier of the first application can be obtained based on the pre-stored mapping relationship between the application identifier of the application and the call information list.

[0196] In one embodiment, the call information list of the first application pre-stored in the first electronic device may be a call information list in a first installation package of the first application provided by a cloud server corresponding to the application market software. Specifically, when the first electronic device installs the first application, the call information list of the first application in the first installation package sent by the cloud server may be stored locally. If the first electronic device detects a first acquisition request of the first application while the first application is running, the first electronic device may obtain the call information list of the first application locally.

[0197] In other embodiments, the call information list of the first application pre-stored in the first electronic device may be a call information list of the first application obtained by the first electronic device from a cloud server corresponding to the application market software based on an operation by the user to launch the first application. Specifically, the developer may update the user personal information required to be obtained in the executable code and / or configuration file of the first application uploaded to the cloud server. Accordingly, the user personal information in the call information list of the first application will also be updated accordingly. Therefore, when the first electronic device is connected to the Internet, each time an operation to launch the first application is detected, it can obtain the latest call information list of the first application from the cloud server and store the latest call information list locally on the first electronic device.

[0198] For details, see Figure 14As shown in the flowchart, the method in which the first electronic device obtains the call information list of the first application from the cloud server according to the operation of starting the first application triggered by the user each time may include the following steps S1410 to S1440.

[0199] S1410: In response to an operation of starting a first application, the first electronic device generates a list acquisition request, where the list acquisition request includes a first application identifier of the first application.

[0200] The first application identifier may be an application name or a unique identifier of the first application.

[0201] S1420: The first electronic device sends a list acquisition request to the cloud server.

[0202] S1430: The cloud server obtains a pre-stored call information list of the first application corresponding to the first application identifier according to the list acquisition request.

[0203] For applications listed in the application market software, the cloud server stores a call information list corresponding to each application and a mapping relationship between the application identifier of the application and the call information list. After receiving the list acquisition request sent by the first electronic device, the cloud server can determine the call information list of the first application corresponding to the first application identifier in the list acquisition request based on the pre-stored mapping relationship between the application identifier and the call information list.

[0204] S1440, the cloud server sends a call information list of the first application to the first electronic device.

[0205] In an embodiment of the present application, the calling information list of the first application includes: the executable code of the first application and all user personal information that the first application needs to call during operation, as recorded in the configuration file. The user personal information can be the permission information applied for by the first application or the user data obtained by the first application by calling various APIs in the operating system of the first electronic device.

[0206] The content in the call information list can be written in a code format that is easy for the first electronic device to read. Figure 6 As well as the related descriptions in the above embodiments, they will not be repeated here.

[0207] In other possible implementations, when the first electronic device receives the first acquisition request of the first application, it can first obtain the authorization result of the user using the first electronic device for the privacy policy of the first application, and then determine whether to obtain the call information list of the first application provided by the cloud server from the local computer based on the authorization result.

[0208] Among them, the privacy policy of the first application records all user personal information in the first application's call information list and the purpose of use of each user's personal information. The user's authorization result of the first application's privacy policy is used to indicate whether the user authorizes the first application to call all user personal information in the privacy policy during operation.

[0209] Specifically, when the user launches the first application for the first time, the first electronic device can obtain the privacy policy of the first application from the cloud server according to the text link in the first installation package of the first application, and display the privacy policy on the display interface so that the user can read the specific content of the privacy policy and determine whether to perform the authorization operation.

[0210] By way of example and not limitation, see Figure 15 The diagram shows a display interface. When a user first launches a first application, a first pop-up window 150 may be displayed on the display interface of the first electronic device. The first pop-up window 150 includes a text link 1501 to the first application's privacy policy, an "Agree" button 1502, and a "Disagree" button 1503. Text link 1501 indicates the storage address of the first application's privacy policy on a cloud server. The content of first pop-up window 150 instructs the user to read the first application's privacy policy and confirm whether to authorize the first application to access the user's personal information in the privacy policy during operation.

[0211] If the user clicks on the text link 1501 of the privacy policy, the first electronic device may send a privacy policy acquisition request to the cloud server. The privacy policy acquisition request includes the storage address indicated by the text link of the first application. The cloud server may obtain the privacy policy of the first application located at the storage address according to the privacy policy acquisition request and send the privacy policy to the first electronic device. After the first electronic device receives the privacy policy of the first application sent by the cloud server, it may display the following on the display interface: Figure 15 , the privacy policy pop-up window 151 is shown, and the privacy policy pop-up window 151 displays the specific content of the privacy policy of the first application. After the user has read the specific content of the privacy policy, they can click the return button 1511 displayed in the privacy policy pop-up window 151 to indicate returning to the previous display interface, and the first pop-up window 150 can be displayed on the display interface of the first electronic device.

[0212] The first electronic device may determine and store the user's authorization result for the first application's privacy policy based on the user's triggering operation of the "Agree" button 1502 or the "Disagree" button 1503 in the first pop-up window 150. Specifically, if the user triggers the "Agree" button 1502, the first electronic device may determine that the user authorizes the first application to access the user's personal information in the privacy policy during operation; if the user triggers the "Disagree" button 1502, the first electronic device may determine that the user does not authorize the first application to access the user's personal information in the privacy policy during operation.

[0213] In an embodiment of the present application, when a first electronic device receives a first acquisition request from a first application, if the locally obtained user authorization result for the first application's privacy policy indicates that the user authorizes the first application to call the user's personal information in the privacy policy, the first electronic device may obtain the first application's call information list. If the authorization result indicates that the user does not authorize the first application to call the user's personal information in the privacy policy, the first electronic device does not obtain the first application's call information list, nor does it obtain the first user's personal information indicated in the first acquisition request from the first application.

[0214] S1320: If the first user personal information is the user personal information in the call information list, obtain the first user personal information.

[0215] Specifically, after the first electronic device obtains the call information list of the first application, it can compare the first user personal information indicated by an acquisition request with the user personal information in the call information list. If the first user personal information is the user personal information in the call information list, the first electronic device can determine that the first user personal information called by the first application does not exceed the scope of the user personal information recorded in the call information list, nor does it exceed the scope of the user personal information in the privacy policy of the first application permitted by the user. Based on this, the first electronic device can obtain the first user personal information and send the first user personal information to the first application. If the first user personal information is not the user personal information in the call information list, it means that the first user personal information called by the first application has exceeded the scope of the user personal information allowed by the user for the first application to call, and the first application cannot obtain the first user personal information.

[0216] As an example and not a limitation, assume that the first call information list of the first application is as follows: Figure 6 As shown in , if the first user personal information requested by the first application during the first run is the location information obtained by calling the system API "getLastLocation", the first electronic device can read the location information obtained from the cloud server after determining that the user authorizes the first application to call the user personal information in the privacy policy. Figure 6, if it is determined that the first call information list shows location information, the first electronic device can obtain the location information by calling the system API "getLastLocation" and send the location information to the first application. In the case where the first electronic device performs a hot update on the first application in the first electronic device based on the hot update data of the first application obtained from the cloud server corresponding to the first application when the first application is started for the second time, if the first user personal information requested by the first application during the operation after the hot update is sensor information, and the first electronic device determines that the sensor information is not recorded in the first call information list based on the first call information list provided by the cloud server corresponding to the application market software, the first electronic device may not obtain any information.

[0217] Based on the user personal information acquisition method provided in the embodiment of the present application, the first electronic device can compare the user personal information requested to be obtained during the operation of the first application with the user personal information in the call information list provided by the cloud server, so that the first application can only obtain the user personal information recorded in the privacy policy that has been reviewed by the cloud server corresponding to the application market software and authorized by the user. Even if the first application modifies the application program of the first application running in the first electronic device through hot updates or other methods, the first application cannot obtain user personal information that has not been agreed by the user and reviewed by the application market, thereby effectively protecting user privacy.

[0218] In addition, although the user personal information in the call information list is the same as the user personal information recorded in the privacy policy, the privacy policy records not only the user personal information but also the purpose of use of the user personal information and other declaration information. Moreover, the content of the call information list written in code is easier for electronic devices to recognize than the content of the privacy policy written in text. Based on this, if the first user personal information is compared with the content in the privacy policy, the electronic device needs to first identify and extract the user personal information in the privacy policy before it can be compared. If the comparison speed is slow, it will affect the speed of obtaining the user personal information. However, if the method of comparing the first user personal information with the content in the call information list in the aforementioned embodiment is adopted, the electronic device can quickly read the user personal information in the call information list and compare it, thereby improving the speed of obtaining the user personal information.

[0219] The above describes the method embodiments provided by this application, and the following describes the device embodiments provided by this application. It should be understood that the description of the device embodiments corresponds to the description of the method embodiments. Therefore, for matters not described in detail, reference can be made to the method embodiments above. For the sake of brevity, they will not be repeated here.

[0220] Figure 161 is a schematic block diagram of a user personal information acquisition device provided in an embodiment of the present application. The user personal information acquisition device 1600 can be a module or chip applied to a first electronic device. The user personal information acquisition device 1600 can be used to execute the steps or processes performed by the first electronic device in each of the above-mentioned embodiments.

[0221] like Figure 16 As shown, the user personal information acquisition device 1600 may include: an information acquisition unit 1610, a privacy policy management unit 1620, a first communication unit 1630, and an application installation unit 1640. Among them, the first communication unit 1630 can implement corresponding communication functions, and the communication can be internal communication of the user personal information acquisition device 1600 or communication between the user personal information acquisition device 1600 and other devices. The first communication unit 1630 can also be called a communication interface or a transceiver unit. Optionally, the user personal information acquisition device 1600 may also include a storage unit, which can be used to store instructions and / or data. The information acquisition unit 1610, the privacy policy management unit 1620, and the application installation unit 1640 can all read the instructions and / or data in the storage unit, so that the device implements the aforementioned method embodiment.

[0222] Specifically, the information acquisition unit 1610 is used to: respond to a first acquisition request of a first application on a first electronic device, obtain a call information list of the first application, the call information list is provided by a cloud server, and the call information list includes at least one user personal information that the cloud server allows the first application to obtain, and the first acquisition request is used to request the first user personal information; if the first user personal information is the user personal information in the call information list, then the first user personal information is obtained.

[0223] Optionally, information acquisition unit 1610 is further configured to generate a list acquisition request in response to an operation to launch the first application, the list acquisition request including a first application identifier of the first application. First communication unit 1630 is further configured to send the list acquisition request to a cloud server. The cloud server is configured to obtain, based on the list acquisition request, a pre-stored list of call information for the first application corresponding to the first application identifier. First communication unit 1630 is further configured to receive the call information list sent by the cloud server.

[0224] Optionally, privacy policy management unit 1620 is configured to determine a user's authorization result for the first application's privacy policy, where the privacy policy indicates at least one piece of user personal information and the intended use of each piece of user personal information. The authorization result indicates whether the first application is authorized to access the at least one piece of user personal information. Information acquisition unit 1610 is specifically configured to, if the authorization result indicates that the first application is authorized to access the at least one piece of user personal information, obtain a call information list provided by the cloud server.

[0225] Optionally, privacy policy management unit 1620 is further configured to: in response to the first launch of the first application, display a text link to the privacy policy, where the text link indicates the storage address of the privacy policy on the cloud server. First communication unit 1630 is configured to: in response to a triggering operation on the text link, send a privacy policy acquisition request to the cloud server, where the privacy policy acquisition request includes the storage address, and the cloud server is configured to acquire the privacy policy of the first application located at the storage address according to the privacy policy acquisition request. First communication unit 1630 is further configured to receive the privacy policy sent by the cloud server, and privacy policy management unit 1620 is further configured to display the privacy policy sent by the cloud server.

[0226] Optionally, first communication unit 1630 is further configured to send an application installation request for the first application to the cloud server, the application installation request including a first application identifier of the first application. The cloud server is configured to obtain, based on the application installation request, a pre-stored first installation package for the first application corresponding to the first application identifier, the first installation package including a text link to the privacy policy. First communication unit 1630 is further configured to receive the first installation package sent by the cloud server. Application installation unit 1640 is configured to install the first application based on the first installation package.

[0227] Optionally, the first communication unit 1630 is further configured to obtain hot update data of the first application in response to the operation of starting the first application. The application installation unit 1640 is further configured to perform hot update on the first application according to the hot update data.

[0228] Figure 17 1700 is a schematic block diagram of another device for obtaining user personal information provided in an embodiment of the present application. The device 1700 may be a module or chip applied to a cloud server. The device 1700 may be used to execute the steps or processes performed by the cloud server in each of the above-mentioned embodiments.

[0229] like Figure 17As shown, the user personal information acquisition device 1700 may include: a second communication unit 1710, an acquisition unit 1720, a hosting unit 1730, and a consistency detection unit 1740. Among them, the second communication unit 1710 can implement the corresponding communication function, and the communication can be the internal communication of the user personal information acquisition device 1700 or the communication between the user personal information acquisition device 1700 and other devices. The second communication unit 1710 can also be called a communication interface or a transceiver unit. Optionally, the user personal information acquisition device 1700 may also include a storage unit, which can be used to store instructions and / or data. The acquisition unit 1720, the hosting unit 1730, and the consistency detection unit 1740 can all read the instructions and / or data in the storage unit, so that the device implements the aforementioned method embodiment.

[0230] Specifically, the second communication unit 1710 in the user personal information acquisition device 1700 is used to receive a list acquisition request sent by the first electronic device, and the list acquisition request includes the first application identifier of the first application. The acquisition unit 1720 is used to obtain a pre-stored call information list corresponding to the first application identifier according to the list acquisition request, and the call information list includes at least one user personal information that the first application is allowed to obtain. The second communication unit 1710 is also used to send the call information list to the first electronic device, and the first electronic device is used to obtain the first user personal information when the first user personal information requested by the first acquisition request of the first application is the user personal information in the call information list.

[0231] Optionally, the second communication unit 1710 is further configured to receive a privacy policy acquisition request sent by the first electronic device. The privacy policy acquisition request includes the storage address of the first application's privacy policy in the cloud server. The privacy policy indicates at least one piece of user personal information in the list acquisition request and the intended use of each piece of user personal information. The hosting unit 1730 is configured to acquire the privacy policy located at the storage address in accordance with the privacy policy acquisition request. The second communication unit 1710 is further configured to transmit the privacy policy to the first electronic device.

[0232] Optionally, the second communication unit 1710 is also used to receive an application installation request sent by the first electronic device, and the application installation request includes a first application identifier. The acquisition unit 1720 is also used to obtain a pre-stored first installation package of the first application corresponding to the first application identifier according to the application installation request. The first installation package of the first application includes a text link to the privacy policy of the first application, and the privacy policy is used to indicate at least one user personal information in the call information list and the purpose of obtaining each user personal information. The text link is used to indicate the storage address of the privacy policy in the cloud server. The second communication unit 1710 is also used to send the first installation package to the first electronic device.

[0233] Optionally, the second communication unit 1710 is further configured to receive an initial installation package of the first application sent by the second electronic device, the initial installation package including the executable code and configuration file of the first application. The hosting unit 1730 is configured to obtain and store the call information list and privacy policy of the first application based on the initial installation package, and generate a text link to the privacy policy based on the storage address of the privacy policy. The consistency detection unit 1740 is configured to generate the first installation package based on the executable code, configuration file, and text link.

[0234] Optionally, the initial installation package also includes a call information list and a privacy policy of the first application.

[0235] Optionally, the hosting unit 1730 is specifically configured to: generate a call information list by parsing the executable code and configuration file; and generate an initial privacy policy based on the call information list and a pre-stored privacy policy template, where the initial privacy policy includes at least one piece of user personal information in the call information list. The second communication unit 1710 is further configured to send the initial privacy policy to a second electronic device and receive a privacy policy sent by the second electronic device, wherein the second electronic device is configured to generate a privacy policy based on the purpose of obtaining the user personal information entered by the user in the initial privacy policy. The storage unit is configured to store the call information list and the privacy policy.

[0236] Optionally, the consistency detection unit 1740 is specifically used to: detect whether the user personal information in the privacy policy is consistent with the user personal information in the call information list; if the user personal information in the privacy policy is consistent with the user personal information in the call information list, then generate a first installation package based on the executable code, configuration file and text link.

[0237] It should be understood that the description of the device embodiment can refer to the relevant description of the above-mentioned embodiments of the joining method. Its implementation principle and technical effects are similar to those of the above-mentioned method embodiments and will not be repeated here.

[0238] It should be understood that the "units" in the device 1600 and the device 1700 can be implemented by hardware, can be implemented by software, and can also be implemented by hardware executing the corresponding software implementation. For example, the "unit" can refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor (such as a shared processor, a dedicated processor or a group processor, etc.) and a memory for executing one or more software or firmware programs, a combined logic circuit and / or other suitable components that support the described functions. For another example, the first communication unit 1630 and the second communication unit 1710 can both be replaced by a transceiver transceiver circuit (for example, a receiving circuit and a transmitting circuit).

[0239] Based on the methods provided in the above embodiments, the embodiments of the present application also provide the following content:

[0240] An embodiment of the present application provides a computer program product, which includes: computer program code, which, when executed on a computer, enables the computer to execute the various steps or processes executed by the first electronic device, the second electronic device, or the cloud server in any of the above method embodiments.

[0241] An embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a computer, the computer executes the steps or processes executed by the first electronic device, the second electronic device or the cloud server in any of the above method embodiments.

[0242] An embodiment of the present application provides a chip, which includes a memory and a processor. The processor executes a computer program stored in the memory to control the above-mentioned first electronic device, second electronic device or cloud server to execute the methods shown in the above-mentioned embodiments.

[0243] It should be understood that the processor mentioned in the embodiments of the present application may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0244] It should also be understood that the memory mentioned in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0245] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other and are not used to limit the scope of protection of this application. In the above embodiments, the description of each embodiment has its own focus. For the parts that are not described or recorded in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0246] Those skilled in the art will appreciate that the units and algorithm steps of each example 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 performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel 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.

[0247] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the system embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0248] The units described as separate components may or may not be physically separate, and 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 these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0249] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0250] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program, when executed by the processor, can implement the steps of the above-mentioned various method embodiments. Wherein, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include at least: any entity or device capable of carrying the computer program code to a large-screen device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electric carrier signal, a telecommunication signal and a software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.

[0251] Finally, it should be noted that the above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

Claims

1. A method for obtaining user personal information, characterized in that: Applied to a first electronic device, the method includes: Retrieve, in response to a first acquisition request from a first application on the first electronic device, a call information list of the first application, the call information list being provided by a cloud server, the call information list including at least one piece of user personal information that the cloud server allows the first application to obtain, the first acquisition request being used to request the first user's personal information; If the first user personal information is the user personal information in the call information list, the first user personal information is obtained.

2. The method according to claim 1, characterized in that Before responding to the first acquisition request of the first application on the first electronic device, the method further includes: In response to the operation of starting the first application, generating a manifest acquisition request, the manifest acquisition request including a first application identifier of the first application; Sending the list acquisition request to the cloud server, wherein the cloud server is configured to acquire a pre-stored call information list of the first application corresponding to the first application identifier according to the list acquisition request; Receive and store the call information list sent by the cloud server.

3. The method according to claim 1 or 2, characterized in that The obtaining of the call information list of the first application includes: Determining an authorization result of a privacy policy of the first application, where the privacy policy indicates the at least one piece of user personal information and a purpose of use of each piece of user personal information, and the authorization result indicates whether the first application is authorized to obtain the at least one piece of user personal information; If the authorization result indicates that the first application is authorized to obtain the at least one user personal information, the call information list is obtained.

4. The method according to claim 3, characterized in that The method further comprises: In response to an operation of launching the first application for the first time, displaying a text link of the privacy policy, wherein the text link is used to indicate a storage address of the privacy policy in the cloud server; In response to a triggering operation on the text link, sending a privacy policy acquisition request to the cloud server, the privacy policy acquisition request including the storage address, and the cloud server acquiring the privacy policy of the first application located at the storage address according to the privacy policy acquisition request; Receive and display the privacy policy sent by the cloud server.

5. The method according to claim 3 or 4, characterized in that The method further comprises: Sending an application installation request for the first application to the cloud server, the application installation request including a first application identifier of the first application, the cloud server being configured to obtain, according to the application installation request, a pre-stored first installation package of the first application corresponding to the first application identifier, the first installation package including a text link to the privacy policy; Receiving the first installation package sent by the cloud server; Install the first application according to the first installation package.

6. The method according to claim 5, characterized in that After installing the first application according to the first installation package, the method further includes: In response to the operation of starting the first application, obtaining hot update data of the first application; Hot update the first application according to the hot update data.

7. A method for obtaining user personal information, characterized in that: Applied to a cloud server, the method includes: receiving a list acquisition request sent by a first electronic device, wherein the list acquisition request includes a first application identifier of a first application; Obtaining, according to the list acquisition request, a pre-stored call information list corresponding to the first application identifier, the call information list including at least one piece of user personal information that the cloud server allows the first application to obtain; The calling information list is sent to the first electronic device, and the first electronic device is used to obtain the first user personal information when the first user personal information requested by the first acquisition request of the first application is the user personal information in the calling information list.

8. The method according to claim 7, characterized in that The method further comprises: Receiving a privacy policy acquisition request sent by the first electronic device, the privacy policy acquisition request including a storage address of the privacy policy of the first application in the cloud server, the privacy policy being used to indicate at least one piece of user personal information in the list acquisition request and a purpose of use of each piece of user personal information; Obtaining the privacy policy located at the storage address according to the privacy policy acquisition request; The privacy policy is sent to the first electronic device.

9. The method according to claim 7 or 8, characterized in that The method further comprises: receiving an application installation request sent by the first electronic device, where the application installation request includes the first application identifier; Obtaining, according to the application installation request, a pre-stored first installation package of the first application corresponding to the first application identifier, the first installation package including a text link to a privacy policy of the first application, the privacy policy being used to indicate at least one piece of user personal information in the call information list and a purpose for obtaining each piece of user personal information, and the text link being used to indicate a storage address of the privacy policy in the cloud server; Send the first installation package to the first electronic device.

10. The method according to claim 9, characterized in that Before sending the first installation package to the first electronic device, the method further includes: receiving an initial installation package of the first application sent by a second electronic device, where the initial installation package includes an executable code and a configuration file of the first application; Based on the initial installation package, obtaining and storing the call information list and privacy policy of the first application; Generate a text link to the privacy policy based on the storage address of the privacy policy; The first installation package is generated according to the executable code, the configuration file, and the text link.

11. The method according to claim 10, characterized in that The initial installation package also includes a call information list and a privacy policy of the first application.

12. The method according to claim 10, characterized in that The acquiring and storing the calling information list and privacy policy of the first application based on the initial installation package includes: Generate the call information list by parsing the executable code and the configuration file; generating an initial privacy policy according to the call information list and a pre-stored privacy policy template, wherein the initial privacy policy includes at least one user personal information in the call information list; sending the initial privacy policy to the second electronic device, where the second electronic device is configured to generate the privacy policy according to the purpose of obtaining the user personal information entered in the initial privacy policy; receiving the privacy policy sent by the second electronic device; The call information list and the privacy policy are stored.

13. The method according to any one of claims 10 to 12, characterized in that Generating the first installation package according to the executable code, the configuration file, and the text link includes: Check whether the user personal information in the privacy policy is consistent with the user personal information in the call information list; If the user personal information in the privacy policy is consistent with the user personal information in the call information list, the first installation package is generated according to the executable code, the configuration file and the text link.

14. A device for obtaining user personal information, characterized in that: include: At least one unit for performing the method according to any one of claims 1 to 6, or at least one unit for performing the method according to any one of claims 7 to 13.

15. An electronic device, characterized in that: include: A processor, configured to run a computer program stored in a memory to implement the method according to any one of claims 1 to 6.

16. A cloud server, characterized in that: include: A processor, configured to run a computer program stored in a memory to implement the method according to any one of claims 7 to 13.

17. A user personal information acquisition system, characterized in that: include: A first electronic device and a cloud server, wherein the first electronic device is used to execute the method according to any one of claims 1 to 6, and the cloud server is used to execute the method according to any one of claims 7 to 13.

18. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a computer, the method according to any one of claims 1 to 6 or the method according to any one of claims 7 to 13 is implemented.