A control method for application startup and user terminal
By receiving and analyzing preset information in operation instructions, combining the operating status of the first application and the permission information of the second application, intelligently controlling the startup of the second application, solving the defects that users need to set manually in the prior art, and effectively intercepting the malicious startup application.
Patent Information
- Application Number
- CN202410518551.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2017-10-13
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2037-10-13
AI Technical Summary
The prior art requires users to manually set whether the application is allowed to be triggered by other applications when maliciously launching applications, which lacks intelligent control.
By receiving the operation command sent by the first application, it is determined whether the instruction carries preset information. If it is carried, it is prohibited to start the second application. If it is not carried, it is started to control the second application according to the operation command, including judging the operating status of the first application and the permission information of the second application.
It realizes intelligent control over application startup, can accurately identify and intercept maliciously launched applications, and improves the security and user experience of the system.
Smart Images

Figure CN118467119B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of terminal technology, and in particular to a control method for application startup and a user terminal. Background Art
[0002] In actual applications, it is common for one application to trigger the launch of another application. For example, Application 1 is an e-commerce application, and Application 2 is a payment application. Application 1 needs to call the payment interface of Application 2 to perform payment operations, so Application 1 will send a display instruction to the system of the user terminal to display the payment interface of Application 2. After receiving the display instruction, the system starts Application 2 and displays the payment interface of Application 2. Application 1 triggering the launch of Application 2 can also be called Application 1 pulling up Application 2. An application being "pulled up" means that an application that has no startup process is started by another application / mobile phone system.
[0003] In actual applications, there may be many applications that are triggered to start, and some of the applications that are started may be malicious applications. Therefore, it is necessary to control the started applications. In actual applications, in order to avoid malicious applications, users need to set whether the application is allowed to be triggered to start by other applications on the settings page. The user terminal saves the setting information of the application in the application configuration list. When an application is triggered to start by other applications, the user terminal determines whether to start the application based on the setting information of the application in the application configuration list.
[0004] It can be seen that this control method of application startup requires the user to manually set in advance whether the application is allowed to be started, which is not smart. Summary of the invention
[0005] The embodiment of the present invention discloses a control method for application startup and a user terminal, which can intelligently control the startup of the application.
[0006] In the first aspect, an embodiment of the present invention provides a control method for application startup, which is applied to a user terminal, and the method includes: receiving an operation instruction sent by a first application, the operation instruction is used to instruct the user terminal to perform a target operation, and the target operation is an operation that requires starting a second application to complete; judging whether the operation instruction carries preset information, the preset information is information included in a software development kit SDK used by the first application; if the operation instruction carries the preset information, prohibiting the startup of the second application; if the operation instruction does not carry the preset information, controlling the startup of the second application according to the operation instruction.
[0007] It can be seen that by implementing the method described in the first aspect, it is possible to intelligently identify whether the second application is maliciously started according to the operation instruction, without the user having to set the applications allowed to be started in the application configuration list in advance. Therefore, by implementing the method described in the first aspect, the intelligence of application startup control is increased.
[0008] Optionally, the specific implementation method of starting and controlling the second application according to the operation instruction may be: according to the operation instruction, obtaining first information, the first information including the running state of the first application, or the first information including the permission information of the second application, or the first information including the state of the widget of the second application; starting and controlling the second application according to the first information. The running state of the first application may be foreground running or background running. The application type of the first application may be a Bluetooth management application or other application type. A widget, also known as a small component, refers to an application that can be directly placed on the desktop to provide functions.
[0009] By implementing this embodiment, it is possible to further determine whether the application is maliciously started, so that the maliciously started application can be intercepted more accurately.
[0010] Optionally, the target operation is to launch the target interface of the second application, and the first information includes the running status of the first application. The specific implementation method of starting and controlling the second application according to the first information can be: if the running status of the first application is background running, then prohibiting the launching of the second application; if the running status of the first application is foreground running, then starting the second application.
[0011] Generally, if the first application is the foreground application, the possibility of the second application being maliciously launched is small. Therefore, when the running state of the first application is the foreground running, the second application can be launched. It can be seen that by implementing this embodiment, it is possible to intelligently identify whether it is a maliciously launched application and intelligently intercept maliciously launched applications.
[0012] Optionally, the target operation is to launch the target interface of the second application, and the first information includes the running status of the first application. The specific implementation method of starting and controlling the second application based on the first information can be: if the running status of the first application is background running, then prohibiting the second application from being started; if the running status of the first application is foreground running, obtaining the interface information of the target interface; if the interface information indicates that the target interface is a non-transparent interface, then starting the second application; if the interface information indicates that the target interface is a transparent interface, then prohibiting the second application from being started.
[0013] If the target interface is a transparent interface, the user cannot see the specific operation of the second application, and the second application may perform malicious operations. Therefore, the second application is only started when the target interface is a non-transparent interface, effectively avoiding malicious startup of the application.
[0014] Optionally, after starting the second application, the size of the target interface can be obtained; if the size of the target interface is smaller than a preset size, the second application is closed. If the target interface is too small, the user cannot see or notice the specific operation of the second application, and the second application may perform malicious operations. Therefore, the second application is only continued to run when the size of the target interface is larger than the preset size, effectively avoiding malicious application startup.
[0015] Optionally, the target operation is to start the target service of the second application, the first information includes permission information of the second application, and the specific implementation method of starting the second application according to the first information may be: if it is determined according to the permission information that the second application has preset permissions, then start the second application.
[0016] Optionally, if it is determined according to the permission information that the second application does not have the preset permission, the second application is prohibited from being started. Alternatively, if it is determined according to the permission information that the second application does not have the preset permission, the user terminal may also determine whether to start the second application based on other information.
[0017] Among them, the permission information of the second application is used to indicate the permissions that the second application has. For example, the preset permission can be a notification usage permission, etc. The notification usage permission refers to the permission to monitor changes in notifications of the current system. Therefore, the application with the notification usage permission is a highly authorized application. A highly authorized application is a trusted application, and after starting a highly authorized application, no malicious operations will be performed. Therefore, the application is not maliciously started and can be started. It can be seen that by implementing this implementation method, the startup of the second application can be intelligently controlled.
[0018] Optionally, the target operation is to start the target service of the second application, and the first information is the running status of the first application. The specific implementation method of starting and controlling the second application according to the first information can be: if the running status of the first application is background running, and the widget of the second application is in an activated state, then start the second application; if the running status of the first application is background running, and the widget of the second application is in an inactivated state, then prohibit starting the second application; if the running status of the first application is foreground running, and the widget of the second application is in an activated state or the application type of the second application is a first preset type, then start the second application; if the application type of the second application is not the first preset type, and the widget of the second application is in an inactivated state, then prohibit starting the second application.
[0019] For example, the first preset type may include any one or more of payment applications, voice engine applications, and sharing applications. Usually, payment applications, voice engine applications, and sharing applications are applications that users frequently use. And the first application is not a malicious application hidden in the background, therefore, the operation instruction is used to start the service of the second application, and when the first application is the foreground application, the payment application, the voice engine application, and the sharing application can be started. And usually starting an activated gadget is not a malicious start, therefore, the second application in which the gadget is in an activated state can be started. It can be seen that by implementing this embodiment, the start of the second application can be intelligently controlled.
[0020] Optionally, according to the operation instruction, the specific implementation method of obtaining the first information can be: if the target operation is to start the target service of the second application, and it is determined according to the permission information that the second application does not have the preset permission, then the running state of the first application is obtained. It can be seen that by implementing this implementation method, maliciously started applications can be intercepted more accurately, and the startup of the second application can be intelligently controlled.
[0021] Optionally, the target operation is to start a target data query function of the second application, and the first information is the running status of the first application. The specific implementation method of starting and controlling the second application according to the first information can be: if the running status of the first application is background running, and the widget of the second application is in an activated state, then start the second application; if the running status of the first application is background running, and the widget of the second application is in an inactivated state, then prohibit starting the second application; if the running status of the first application is foreground running, and the widget of the second application is in an activated state or the application type of the second application is a second preset type, then start the second application; if the application type of the second application is not the second preset type, and the widget of the second application is in an inactivated state, then prohibit starting the second application.
[0022] For example, the second preset type may include sharing applications. Generally, sharing applications are applications that users frequently use. Moreover, the first application is not a malicious application hidden in the background. Therefore, the operation instruction is used to start the data query function of the second application, and when the first application is the foreground application, the sharing application can be started. Moreover, starting an activated gadget is generally not a malicious start. Therefore, the second application in which the gadget is in an activated state can be started. It can be seen that by implementing this embodiment, the start of the second application can be intelligently controlled.
[0023] Optionally, the target operation is to send a target broadcast message to the second application, the first information is the state of the gadget of the second application, and the specific implementation method of starting the second application according to the first information can be: if the gadget of the second application is in an activated state, the second application is started; if the gadget of the second application is not in an activated state, the second application is prohibited from starting. Usually, starting an activated gadget is not malicious, so the second application with an activated gadget can be started. It can be seen that by implementing this implementation method, the startup of the second application can be intelligently controlled.
[0024] Optionally, before receiving the operation instruction sent by the first application, the system of the user terminal can also be started; system broadcast information is generated, and the system broadcast information is used to send to a third application; if the gadget of the third application is in an activated state, or the application type of the third application is a third preset type, the third application is started; if the gadget of the third application is in an inactivated state, and the application type of the third application is not the third preset type, the launch of the third application is prohibited.
[0025] Among them, the third preset type can be a blind type application, etc. Since it is inconvenient for blind people to operate mobile phones, usually blind type applications are started by system broadcast. Therefore, when the system broadcast starts the blind type application, the blind type application needs to be started. And usually the activated gadget is not started maliciously, so the second application in which the gadget is in an activated state can be started. It can be seen that by implementing this embodiment, the startup of the second application can be intelligently controlled.
[0026] Optionally, if it is detected that the Bluetooth connection with the Bluetooth device is successful, a fourth application with a Bluetooth media browsing service is detected; if the fourth application is not started, starting the fourth application is prohibited.
[0027] In actual applications, many malicious applications usually register the Bluetooth media browsing service in the system in order to start. Therefore, by implementing this implementation method, the startup of malicious applications can be intelligently intercepted.
[0028] In a second aspect, an embodiment of the present invention further provides a method for controlling application startup, which is applied to a user terminal, and the method includes: starting the system of the user terminal; generating system broadcast information, the system broadcast information being used to send to a third application; if a widget of the third application is in an activated state, or the application type of the third application is a third preset type, starting the third application; if the widget of the third application is in an inactivated state, and the application type of the third application is not the third preset type, prohibiting the startup of the third application.
[0029] Among them, the third preset type can be a blind type application, etc. Since it is inconvenient for blind people to operate mobile phones, usually blind type applications are started by system broadcast. Therefore, when the system broadcast starts the blind type application, the blind type application needs to be started. And usually the activated gadget is not started maliciously, so the second application in which the gadget is in an activated state can be started. It can be seen that by implementing this embodiment, the startup of the second application can be intelligently controlled.
[0030] In a third aspect, an embodiment of the present invention further provides a method for controlling application startup, which is applied to a user terminal. The method comprises: if a successful Bluetooth connection with a Bluetooth device is detected, detecting a fourth application with a Bluetooth media browsing service; if the fourth application is not started, prohibiting the startup of the fourth application.
[0031] In actual applications, many malicious applications usually register the Bluetooth media browsing service in the system in order to start. Therefore, by implementing this implementation method, the user does not need to set the applications allowed to start in the application configuration list in advance, and the startup of malicious applications can be intelligently intercepted.
[0032] In a fourth aspect, an embodiment of the present invention further provides a method for controlling application startup, which is applied to a user terminal, and the method comprises: receiving an operation instruction sent by a first application, the operation instruction being used to instruct the user terminal to perform a target operation, the target operation being an operation that requires starting a second application to complete; obtaining first information according to the operation instruction, the first information comprising the running status of the first application and characteristic information of the second application; and controlling the startup of the second application according to the first information.
[0033] It can be seen that by implementing the method described in the third aspect, it is possible to intelligently identify whether to start the second application based on the first information, without the user having to set the applications allowed to be started in the application configuration list in advance. Therefore, by implementing the method described in the third aspect, the intelligence of application startup control is increased.
[0034] Optionally, the specific implementation method of starting and controlling the second application based on the first information may be: determining a first weight value based on characteristic information of the second application; if the running status information is foreground running, determining a second weight value based on the type of operation instruction; if the sum of the first weight value and the second weight value is greater than a preset threshold, starting the second application.
[0035] It can be seen that by implementing this implementation, maliciously launched applications can be accurately intercepted.
[0036] Optionally, if the running status information is background running, the application type of the second application is obtained, and the application type of the first application is a hardware service application or a non-hardware service application; the third weight value is determined according to the application type of the first application and the type of the operation instruction; if the sum of the first weight value and the third weight value is greater than a preset threshold, the second application is started.
[0037] It can be seen that by implementing this implementation, maliciously launched applications can be accurately intercepted.
[0038] Optionally, the characteristic information of the second application includes at least one of whether the name of the installation package of the second application includes preset keywords, whether the second application has fingerprint permission, whether the second application is a permission trusted application, whether the second application is a high-frequency use application, whether the second application has photo taking permission, and whether the second application has network connection permission.
[0039] Optionally, after receiving the operation instruction, before obtaining the first information according to the operation instruction, it is also possible to detect whether the second application is a preset application; if the second application is a preset application, the second application is started; if the second application is not a preset application, the step of obtaining the first information according to the operation instruction is performed. The preset application may be an application frequently used by a large number of users set by the system by default, such as a payment application or an instant messaging application. Applications frequently used by a large number of users are generally not malicious applications, and therefore can be started.
[0040] In a fifth aspect, a user terminal is provided, which has a function of implementing the user terminal behavior in the first aspect, the possible implementation of the first aspect, the second aspect, the third aspect, the fourth aspect, or the possible implementation of the fourth aspect. The function can be implemented by hardware, or the corresponding software can be implemented by hardware. The hardware or software includes one or more modules corresponding to the above functions. The module can be software and / or hardware. Based on the same inventive concept, since the principle and beneficial effects of the user terminal to solve the problem can be referred to the first aspect, the possible implementation of the first aspect, the second aspect, the third aspect, the fourth aspect, or the possible implementation of the fourth aspect and the beneficial effects brought about, the implementation of the user terminal can be referred to the first aspect, the possible implementation of the first aspect, the second aspect, the third aspect, the fourth aspect, or the possible implementation of the fourth aspect, and the repetitions will not be repeated.
[0041] In a sixth aspect, a user terminal is provided, comprising: a memory for storing one or more programs; a processor for calling the program stored in the memory to implement the above-mentioned first aspect, the possible implementation method of the first aspect, the second aspect, the third aspect, the fourth aspect or the possible implementation method of the fourth aspect. The implementation method and beneficial effects of the user terminal to solve the problem can be referred to the above-mentioned first aspect, the possible implementation method of the first aspect, the second aspect, the third aspect, the fourth aspect or the possible implementation method and beneficial effects of the fourth aspect, and the repeated parts will not be repeated.
[0042] In the seventh aspect, a computer-readable storage medium is provided, wherein the computer storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a processor, the processor causes the processor to execute the above-mentioned first aspect, possible implementation of the first aspect, second aspect, third aspect, fourth aspect or possible implementation of the fourth aspect and beneficial effects, and repeated parts are not repeated here.
[0043] In an eighth aspect, a computer program product is provided, which, when running on a computer, enables the computer to execute the above-mentioned first aspect, a possible implementation of the first aspect, the second aspect, the third aspect, the fourth aspect or a possible implementation of the fourth aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0045] Figure 1 is a flow chart of a control method for application startup provided by an embodiment of the present invention;
[0046] Figure 2 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0047] Figure 3 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0048] Figure 4 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0049] Figure 5 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0050] Figure 6 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0051] Figure 7 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0052] Figure 8 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0053] Fig. 9 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0054] Fig.10 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0055] Fig.11 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0056] Fig.12 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0057] Fig.13 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0058] Fig.14 is a flow chart of another control method for application startup provided by an embodiment of the present invention;
[0059] Fig.15 is a structural diagram of a user terminal provided by an embodiment of the present invention;
[0060] Fig.16 is a schematic diagram of the structure of another user terminal provided by an embodiment of the present invention;
[0061] Fig.17 is a structural diagram of another user terminal provided by an embodiment of the present invention;
[0062] Fig.18 is a structural diagram of another user terminal provided by an embodiment of the present invention;
[0063] Fig.19 It is a structural diagram of another user terminal provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0064] In order to make the objectives, technical solutions and advantages of the present invention more clear, the technical solutions of the embodiments of the present invention will be described below in conjunction with the accompanying drawings.
[0065] In actual applications, it is very common for the first application to trigger the start of the second application. For example, the first application and the second application are developed using the same software development kit (SDK) and have the same functions in the SDK. The SDK may be preset with at least one of an interface, a service, a data query function, and broadcast information. For example, the first application and the second application have interface 1, which is an interface preset by the SDK. Since the first application and the second application use the same SDK (that is, the first application and the second application use the same SDK when they are developed), both applications have interface 1. The SDK may also preset a function of sending an operation instruction to the system, that is, when an application using the SDK runs in the system, it will send the operation instruction preset by the SDK to the system. For example, when the first application using the SDK runs in the system, it will send an operation instruction preset in the SDK to the user terminal system for starting the interface 1 of the second application that also uses the SDK. After receiving the operation instruction, the user terminal system first starts the second application and then starts the interface 1 of the second application. Since the SDK maker can predict or know which applications will use the SDK, they can carry the identifiers of these applications using the SDK in the preset operation instructions, and the interface identifier of the SDK preset interface 1 is preset by the SDK. Therefore, when an application using the SDK is running in the system, the application will send the SDK preset operation instruction to the system to try to start the application corresponding to the application identifier preset in the operation instruction, as well as the interface 1 of the application, regardless of whether the application corresponding to the application identifier preset in the operation instruction is installed in the system. If the application corresponding to the application identifier preset in the operation instruction happens to be installed in the system, it may be started by the system according to the operation instruction.
[0066] Specifically, when the first application is installed, the user terminal system will record the identifier of the first application and the identifier of interface 1 in the registration information of the first application. Similarly, when the second application is installed, the user terminal system will record the identifier of the second application and the identifier of interface 1 in the registration information of the second application. Among them, the identifier of interface 1 is recorded in the registration information of the first application and the registration information of the second application. According to the identifier of the first application, the system can determine the first application corresponding to it. According to the identifier of the second application, the system can determine the second application corresponding to it. According to the identifier of interface 1, the system can determine interface 1. After the first application is started, the first application sends an operation instruction to the user terminal system, and the operation instruction includes the identifier of the second application and the identifier of interface 1. The operation instruction is used for the user terminal system to start the identifier of interface 1 of the second application. After receiving the operation instruction, the user terminal searches for the identifier of the second application and the identifier of interface 1 in the registration information of the second application. Since the identifier of interface 1 is recorded in both the registration information of the first application and the registration information of the second application. Therefore, the user terminal system can find the identifier of the second application and the identifier of interface 1 in the registration information of the second application. After the user terminal system finds the identifier of the second application and the identifier of interface 1 in the registration information of the second application, if the second application is not started, the user terminal system first starts the second application and then starts interface 1 of the second application.
[0067] Of course, if the first application and the second application do not have the same SDK interface, the first application can also trigger the start of the second application by starting the interface of the second application. For example, the first application can send an operation instruction for starting the target interface of the second application to the user terminal system. After the user terminal system receives the operation instruction, it first starts the second application and then starts the target interface of the second application. Specifically, the second application is registered in the user terminal system when it is installed, and the user terminal system records the identifier of the second application and the interface identifier of the second application in the registration information of the second application. According to the identifier of the second application, the system can determine the corresponding second application, and according to the interface identifier, the system can determine the corresponding interface of the second application corresponding to the interface identifier. The first application can send an operation instruction to the user terminal system, and the operation instruction carries the identifier of the second application and the identifier of the target interface of the second application. The target interface can be any interface, and the operation instruction is used to instruct the user terminal system to start the target interface of the second application. After receiving the operation instruction, the user terminal system searches for the identifier of the second application and the identifier of the target interface in the registration information of the second application. After the user terminal system finds the second application's identifier and the target interface's identifier in the second application's registration information, if the second application is not started, the user terminal system first starts the second application and then starts the second application's target interface. This approach requires the developer of the first application to negotiate with the developer of the second application to obtain the identifier of the second application's target interface.
[0068] For example, the first application is an instant messaging application, and the second application is a news application. The instant messaging application can send an operation instruction to the user terminal system, and the operation instruction carries the identifier of the news application and the identifier of interface 1. After receiving the operation instruction, the user terminal system searches for the identifier of the news application and the identifier of interface 1 in the registration information of the news application. After the user terminal system finds the identifier of the news application and the identifier of interface 1 in the registration information of the news application, if the news application is not started, the user terminal system first starts the news application, and then starts interface 1 of the news application.
[0069] For another example, take the first application and the second application having service 1 as an example. Similarly, the service 1 is preset in the same SDK, and the first application and the second application use the SDK. The first application can send an operation instruction for starting the service 1 of the second application to the user terminal system. After receiving the operation instruction, the user terminal system starts the second application first, and then starts the service 1 of the second application.
[0070] Similarly, since the SDK maker can predict or know which applications will use the SDK, they can carry the identifiers of these applications using the SDK in the preset operation instructions. The service identifier of service 1 preset by the SDK is preset by the SDK. Therefore, when an application using the SDK is running in the system, the application will send the SDK preset operation instruction to the system to try to start the application corresponding to the application identifier preset in the operation instruction and service 1 of the application, regardless of whether the application corresponding to the application identifier preset in the operation instruction is installed in the system. If the application corresponding to the application identifier preset in the operation instruction happens to be installed in the system, it may be started by the system according to the operation instruction.
[0071] Specifically, when the first application is installed in the system, because the SDK presets service 1, the user terminal system will record the identifier of the first application and the identifier of service 1 in the registration information of the first application. Similarly, when the second application is installed, the user terminal system will record the identifier of the second application and the identifier of service 1 in the registration information of the second application. Among them, the registration information of the first application and the registration information of the second application both have the same identifier of service 1. According to the identifier of the first application, the system can determine the corresponding first application. According to the identifier of the second application, the system can determine the corresponding second application. According to the identifier of service 1, the system can determine service 1. After the first application is started, the first application sends an operation instruction to the user terminal system, and the operation instruction includes the identifier of the second application and the identifier of service 1. The operation instruction is used to instruct the user terminal system to start service 1 of the second application. After receiving the operation instruction, the user terminal searches for the identifier of the second application and the identifier of service 1 in the registration information of the second application. Because the same identifier of service 1 is recorded in the registration information of the first application and the registration information of the second application. Therefore, the user terminal system can find the identifier of the second application and the identifier of service 1 in the registration information of the second application. After the user terminal system finds the identifier of the second application and the identifier of service 1 in the registration information of the second application, if the second application is not started, the user terminal system first starts the second application and then starts service 1 of the second application.
[0072] Of course, if the first application and the second application do not have the same SDK service, the first application can also trigger the start of the second application by starting the service of the second application. For example, the first application can send an operation instruction for starting the target service of the second application to the user terminal system. After the user terminal system receives the operation instruction, it first starts the second application and then starts the target service of the second application. Specifically, the second application can be registered in the user terminal system when installed, and the user terminal system will record the identifier of the second application and the service identifier of the second application in the registration information. According to the service identifier, the system can determine the corresponding service provided by the second application. The first application can send an operation instruction to the user terminal system, and the operation instruction carries the identifier of the second application and the identifier of the target service of the second application. The target service can be any service of the second application. The operation instruction is used to instruct the user terminal system to start the target service of the second application. After the user terminal system receives the operation instruction, it searches for the identifier of the second application and the identifier of the target service in the registration information. After the user terminal system finds the identifier of the second application and the identifier of the target service in the registration information, if the second application is not started, the user terminal system first starts the second application and then starts the target service of the second application. This approach requires the developer of the first application to negotiate with the developer of the second application to obtain the identifier of the target service of the second application.
[0073] For example, the first application is an instant messaging application, and the second application is a music player application. The instant messaging application sends an operation instruction to the user terminal system, and the operation instruction carries the identifier of the music player application and the identifier of the download service. After receiving the operation instruction, the user terminal system searches for the identifier of the music player application and the identifier of the download service in the registration information of the music player application. After the user terminal system finds the identifier of the music player application and the identifier of the download service in the registration information of the music player application, if the music player application is not started, the user terminal system first starts the music player application, and then starts the download service of the music player application.
[0074] For another example, taking the first application and the second application having a data query function 1 as an example, similarly, the data query function 1 is preset in the same SDK, and the first application and the second application use the SDK. The first application can send an operation instruction for starting the data query function 1 of the second application to the user terminal system. After receiving the operation instruction, the user terminal system first starts the second application, and then starts the data query function 1 of the second application.
[0075] Similarly, since the SDK maker can predict or know which applications will use the SDK, they can carry the identifiers of these applications using the SDK in the preset operation instructions. The data query function identifier of the data query function 1 preset by the SDK is preset by the SDK. Therefore, when an application using the SDK is running in the system, the application will send the SDK preset operation instruction to the system to try to start the application corresponding to the application identifier preset in the operation instruction and the data query function 1 of the application, regardless of whether the application corresponding to the application identifier preset in the operation instruction is installed in the system. If the application corresponding to the application identifier preset in the operation instruction happens to be installed in the system, it may be started by the system according to the operation instruction.
[0076] Specifically, when the first application is installed in the system, because the SDK presets the data query function 1, the user terminal system will record the identifier of the first application and the identifier of the data query function 1 in the registration information of the first application. Similarly, when the second application is installed, the user terminal system will record the identifier of the second application and the identifier of the data query function 1 in the registration information of the second application. Among them, the registration information of the first application and the registration information of the second application both have the same identifier of the data query function 1. According to the identifier of the first application, the system can determine the corresponding first application. According to the identifier of the second application, the system can determine the corresponding second application. According to the identifier of the data query function 1, the system can determine the data query function 1. After the first application is started, the first application sends an operation instruction to the user terminal system, and the operation instruction includes the identifier of the second application, the identifier of the data query function 1 and the data to be queried. The operation instruction is used to instruct the user terminal system to start the data query function 1 of the second application and feed back the query result to the first application. After receiving the operation instruction, the user terminal searches for the identifier of the second application and the identifier of the data query function 1 in the registration information of the second application. Since the same identifier of the data query function 1 is recorded in the registration information of the first application and the registration information of the second application, the user terminal system can find the identifier of the second application and the identifier of the data query function 1 in the registration information of the second application. After the user terminal system finds the identifier of the second application and the identifier of the data query function 1 in the registration information of the second application, if the second application is not started, the user terminal system first starts the second application and then starts the data query function 1 of the second application.
[0077] Of course, if the first application and the second application do not have the data query function of the same SDK, the first application can also trigger the start of the second application by starting the data query function of the second application. For example, the first application can send an operation instruction for starting the data query function of the second application to the user terminal system. After the user terminal system receives the operation instruction, it first starts the second application and then starts the data query function of the second application. Specifically, the second application can be registered in the user terminal system when installed, and the user terminal system will record the identifier of the second application and the data query function identifier of the second application in the registration information. According to the query function identifier, the user terminal system can determine the query function provided by the second application. The first application can send an operation instruction to the user terminal system, and the operation instruction carries the identifier of the second application and the query function identifier of the second application and the data to be queried (such as querying contacts). The operation instruction is used to instruct the user terminal system to start the query function of the second application and feedback the query result to the first application (such as feedback of the queried contacts to the first application). After receiving the operation instruction, the user terminal system searches for the identifier and query function identifier of the second application in the registration information. After the user terminal system finds the identifier of the second application and the identifier of the query function in the registration information of the second application, if the second application is not started, the user terminal system first starts the second application and then starts the query function of the second application. This method can also be called the first application starting the second application in the way of starting the data query function. This method requires the developer of the first application to negotiate with the developer of the second application to obtain the identifier of the data query function of the second application.
[0078] For example, the first application is an instant messaging application, and the second application is a contact application. The instant messaging application needs to know which contacts in the contact application have registered the account of the instant messaging application. Therefore, the instant messaging application needs to obtain the contact phone number from the contact application, and send the contact number to the server of the instant messaging application to query whether there is an account of the instant messaging application corresponding to the contact number. Therefore, the instant messaging application can send an operation instruction to the user terminal system, and the operation instruction carries the identifier of the contact application and the data query function identifier and the data to be queried (that is, the contact number needs to be queried). After the user terminal system receives the operation instruction, it searches for the identifier of the contact application and the data query function identifier in the registration information of the contact application. After the user terminal system finds the identifier of the contact application and the data query function identifier in the registration information of the contact application, if the contact application is not started, the user terminal system first starts the contact application, and then starts the data query function of the contact application to query the contact number in the contact application, and returns the queried contact number to the instant messaging application.
[0079] For another example, take the first application and the second application having broadcast information 1 as an example. Similarly, the broadcast information 1 is preset in the same SDK, and the first application and the second application use the SDK. Similarly, since the SDK maker can predict or know which applications will use the SDK at present, it can carry the identifiers of these applications using the SDK in the preset operation instructions, and the broadcast information 1 preset by the SDK is preset by the SDK. Therefore, when an application using the SDK is running in the system, the application will send the SDK preset operation instruction to the system to try to start the application corresponding to the application identifier preset in the operation instruction, and send broadcast information 1 to the application, regardless of whether the application corresponding to the application identifier preset in the operation instruction is installed in the system. If the application corresponding to the application identifier preset in the operation instruction happens to be installed in the system, it may be started by the system according to the operation instruction. Specifically, when the first application and the second application are installed, the system will subscribe to broadcast information 1 in the user terminal system. After the first application is started, the first application sends an operation instruction to the user terminal system, and the operation instruction includes broadcast information 1. After the user terminal receives the operation instruction, if the second application is not started, the user terminal system first starts the second application and then sends the broadcast information 1 to the second application.
[0080] Of course, if the first application and the second application do not have the same SDK broadcast information, the first application can also trigger the start of the second application by sending broadcast information to the second application. For example, the first application and the second application subscribe to the broadcast information that needs to be received in the user terminal system. For example, the first application and the second application both subscribe to the user terminal system to receive broadcast information 1. After the first application is started, an operation instruction is sent to the user terminal system, and the operation instruction carries broadcast information 1. After the user terminal system receives the operation instruction, if the second application is not started, the user terminal system first starts the second application and then sends broadcast information 1 to the second application.
[0081] The first application is an instant messaging application, and the second application is a news application. The instant messaging application and the news application subscribe to the broadcast message of "startup completed" in the user terminal system. If the instant messaging application is started, a broadcast message "startup completed" will be sent to the user terminal system. After the user terminal system receives the broadcast message, if it detects that the news application is not started, the user terminal system will first start the news application, and then send a broadcast message "startup completed" to the news application.
[0082] In addition, the system can also start the second application by sending broadcast information. The application can subscribe to the system broadcast information in the system. After the system is started, the system broadcast information is generated and sent to the application that subscribes to the broadcast information. If the application that subscribes to the system broadcast information is not started, the application is started first, and then the system broadcast information is sent to the application.
[0083] However, in actual applications, the second application may be maliciously launched. For example, the first application and the second application may be applications of the same company. Since they are applications of the same company, after the first application is launched, the second application is often launched in one of the above ways, and the second application is caused to perform some malicious operations that the user cannot see. And launching too many applications will also cause the user terminal to run slower. Therefore, it is necessary to control maliciously launched applications. In existing actual applications, users are required to manually set in advance whether the application is allowed to be launched, which is not smart.
[0084] To this end, an embodiment of the present application provides a method for controlling application startup and a user terminal, which does not require the user to manually set in advance whether the application is allowed to be started. It can intelligently control the startup of the application and intercept the startup of malicious applications and unnecessary applications.
[0085] The following is a detailed introduction to the application startup control method and user terminal provided in this application.
[0086] See also Figure 1 , Figure 1 This is a control method for application startup provided by an embodiment of the present application. Figure 1 As shown, the control method for starting the application includes the following parts 101 to 104, wherein:
[0087] 101. A user terminal receives an operation instruction sent by a first application.
[0088] The operation instruction is used to instruct the user terminal to perform a target operation, and the target operation is an operation that needs to start the second application to complete.
[0089] Specifically, the operation instruction sent by the first application is received by the user terminal system. The user terminal system refers to the operating system of the user terminal. For example, the user terminal system can be an Android system or an IOS system.
[0090] Optionally, the target operation may be to start the target interface of the second application, or the target operation may be to start the target service of the second application, or the target operation may be to start the target data query function of the second application, or the target operation may be to send the target broadcast information to the second application, or the target operation may be other operations that require the second application to be started before execution, which is not limited in the embodiments of the present application. Among them, the target interface may be any interface of the second application, the target service may be any service of the second application, the target data query function may be any data query function of the second application, and the target broadcast information may be any broadcast information subscribed by the second application.
[0091] If the target operation is to start the target interface of the second application, the operation instruction may carry the identifier of the second application and the identifier of the target interface. If the target operation is to start the target service of the second application, the operation instruction may carry the identifier of the second application and the identifier of the target service. If the target operation is to start the target data query function of the second application, the operation instruction may carry the identifier of the second application and the identifier of the target data query function. If the target operation is to send target broadcast information to the second application, the operation instruction also carries the target broadcast information that needs to be sent to the second application.
[0092] Among them, the first application can be an application of the user terminal, or the first application can be an application of other terminals, which is not limited in the embodiments of the present application.
[0093] 102. The user terminal determines whether the operation instruction carries preset information.
[0094] In the embodiment of the present application, after receiving the operation instruction, the user terminal determines whether the operation instruction carries preset information.
[0095] The preset information is information included in the SDK used by the first application. Specifically, the preset information is information included in the SDK used to develop the first application. The first application using the SDK can be understood as the first application having the function of the SDK.
[0096] Usually, in order to facilitate the launch of multiple applications, multiple applications have the same SDK function. After one application is launched, the launch of other applications can be triggered by launching the SDK function of other applications. For example, the first application and the second application have the same SDK function. After the first application is launched, an operation instruction is sent to the user terminal system. The operation instruction is used to launch the interface 1 of the second application. The interface 1 is the interface in the SDK. The user terminal system first launches the second application and then launches the interface 1 of the second application. For another example, after the first application is launched, an operation instruction is sent to the user terminal system. The operation instruction is used to launch the service 1 of the second application. The service is the service in the SDK. The user terminal system first launches the second application and then launches the service 1 of the second application. For another example, after the first application is launched, an operation instruction is sent to the user terminal system. The operation instruction is used to launch the data query function 1 of the second application. The data query function 1 is the data query function in the SDK. The user terminal system first launches the second application and then launches the data query function 1 of the second application. For another example, after the first application is started, an operation instruction is sent to the user terminal system. The operation instruction is used to broadcast information 1 to the second application. The broadcast information 1 is the broadcast information in the SDK. The user terminal system first starts the second application and then sends broadcast information 1 to the second application.
[0097] Generally, the application started is an application that the user does not want to start, which is a maliciously started application. Therefore, the second application started in this way can be intercepted, that is, the second application is not started.
[0098] For example, one SDK corresponds to one public information, and the interface identifier, service identifier, query function identifier and broadcast information identifier in the same SDK have public information. For example, SDK1 includes the identifier of interface 1, the identifier of interface 2, the identifier of service 1, the identifier of service 2, the identifier of data query function 1, the identifier of data query function 2, the identifier of broadcast information 1 and the identifier of broadcast information 2. The identifier of interface 1 is "aaa interface 1", and the identifier of interface 2 is "aaa interface 2". The identifier of service 1 is "aaa service 1", and the identifier of service 2 is "aaa service 2". The identifier of data query function 1 is "aaa data query function 1", and the identifier of data query function 2 is "aaa data query function 2". The identifier of broadcast information 1 is "aaa broadcast information 1", and the identifier of broadcast information 2 is "aaa broadcast information 2". Therefore, the public information is "aaa".
[0099] Therefore, if the first application has the function of SDK1, and SDK1 includes the public information "aaa", the preset information can be set to "aaa". For example, the user terminal system receives an operation instruction sent by the first application, and the operation instruction carries the identifier of the second application and the identifier of interface 1. The identifier of interface 1 is "aaa interface 1". The user terminal system recognizes that the operation instruction includes "aaa", so the user terminal system does not start the second application.
[0100] 103. If the operation instruction carries preset information, the user terminal is prohibited from starting the second application.
[0101] 104. If the operation instruction does not carry preset information, the user terminal starts and controls the second application according to the operation instruction.
[0102] It can be seen that through the implementation Figure 1 The described method can intelligently identify whether to start the second application according to the operation instruction, without the user having to set the application allowed to start in the application configuration list in advance. Figure 1 The described method increases the intelligence of application startup control.
[0103] Optionally, a specific implementation of the user terminal controlling the startup of the second application according to the operation instruction may be: the user terminal obtains the first information according to the operation instruction; the user terminal controls the startup of the second application according to the first information. The first information includes the running state of the first application, or the first information includes the permission information of the second application, or the first information includes the state of the widget of the second application.
[0104] The running state of the first application may be foreground running or background running.
[0105] A widget, also known as a small component, is an application that can be placed directly on the desktop to provide functions. The states of a widget include activated and inactivated. A widget placed on the desktop is an activated widget, and a widget not placed on the desktop is an inactivated widget. For example, an activated widget may be a weather forecast or calendar placed on the desktop.
[0106] By implementing this embodiment, it is possible to further determine whether the application is maliciously started, so that the maliciously started application can be intercepted more accurately.
[0107] like Figure 2 As shown, Figure 2 This is another control method for application startup provided by an embodiment of the present application. Figure 2 As shown, the control method for starting the application includes the following parts 201 to 207, wherein:
[0108] 201. A user terminal receives an operation instruction sent by a first application.
[0109] The operation instruction is used to instruct the user terminal to perform a target operation, where the target operation is an operation that requires launching a second application to complete.
[0110] 202. The user terminal determines whether the operation instruction carries preset information.
[0111] The preset information is information included in the SDK used by the first application.
[0112] 203. If the operation instruction carries preset information, the user terminal is prohibited from starting the second application.
[0113] Among them, the specific implementation principles of parts 201 to 203 are Figure 1 The specific implementation principles of 102 to 103 are the same, and reference may be made to the corresponding descriptions of 102 to 103, which will not be repeated here.
[0114] 204. If the operation instruction does not carry preset information, and the target operation is to start a target interface of the second application, then the running state of the first application is obtained.
[0115] 205. If the running status of the first application is background running, the user terminal is prohibited from starting the second application.
[0116] 206. If the running state of the first application is foreground running, the user terminal starts the second application.
[0117] 204 is a specific implementation of the user terminal acquiring the first information according to the operation instruction. 205 and 206 are specific implementations of the user terminal starting and controlling the second application according to the first information.
[0118] Generally, if the first application is the foreground application, the possibility of the second application being maliciously started is small. Therefore, when the running state of the first application is foreground running, the second application can be started.
[0119] Optionally, after the user terminal starts the second application, the size of the target interface is obtained; if the size of the target interface is smaller than a preset size, the second application is closed.
[0120] If the target interface is too small, the user cannot see or notice the specific operation of the second application, and the second application may perform malicious operations. Therefore, the second application is only continued to run when the size of the target interface is larger than the preset size, effectively avoiding malicious startup of the application.
[0121] like Figure 3 As shown, Figure 3 This is another control method for application startup provided by an embodiment of the present application. Figure 2 As shown, the control method for starting the application includes the following parts 301 to 309, wherein:
[0122] 301. A user terminal receives an operation instruction sent by a first application.
[0123] The operation instruction is used to instruct the user terminal to perform a target operation, and the target operation is an operation that needs to start the second application to complete.
[0124] 302. The user terminal determines whether the operation instruction carries preset information.
[0125] The preset information is information included in the SDK used by the first application.
[0126] 303. If the operation instruction carries preset information, the user terminal is prohibited from starting the second application.
[0127] Among them, the specific implementation principles of parts 301 to 303 are the same as Figure 1 The specific implementation principles of 102 to 103 are the same, and reference may be made to the corresponding descriptions of 102 to 103, which will not be repeated here.
[0128] 304. If the operation instruction does not carry preset information, and the target operation is to start the target interface of the second application, the running state of the first application is obtained.
[0129] 305. If the running state of the first application is background running, the user terminal is prohibited from starting the second application.
[0130] In the embodiment of the present application, after the user terminal obtains the running status of the first application, if the running status of the first application is background running, the user terminal prohibits starting the second application.
[0131] 306. If the running state of the first application is foreground running, the user terminal obtains interface information of the target interface.
[0132] In the embodiment of the present application, after the user terminal obtains the running status of the first application, if the running status of the first application is foreground running, the user terminal obtains the interface information of the target interface.
[0133] 307. If the interface information indicates that the target interface is a non-transparent interface, the user terminal starts a second application.
[0134] In the embodiment of the present application, after the user terminal obtains the interface information of the target interface, if the interface information indicates that the target interface is a non-transparent interface, the user terminal starts the second application.
[0135] 308. If the interface information indicates that the target interface is a transparent interface, the user terminal is prohibited from starting the second application.
[0136] In the embodiment of the present application, after the user terminal obtains the interface information of the target interface, if the interface information indicates that the target interface is a transparent interface, the user terminal does not start the second application.
[0137] Part 304 is a specific implementation of the user terminal acquiring the first information according to the operation instruction. Parts 305 to 308 are specific implementations of the user terminal starting and controlling the second application according to the first information.
[0138] If the target interface is a transparent interface, the user cannot see the specific operation of the second application, and the second application may perform malicious operations. Therefore, the second application is only started when the target interface is a non-transparent interface, effectively avoiding malicious startup of the application.
[0139] Optionally, after the user terminal starts the second application, the size of the target interface is obtained; if the size of the target interface is smaller than a preset size, the second application is closed.
[0140] If the target interface is too small, the user cannot see or notice the specific operation of the second application, and the second application may perform malicious operations. Therefore, the second application is only continued to run when the size of the target interface is larger than the preset size, effectively avoiding malicious startup of the application.
[0141] like Figure 4 As shown, Figure 4 This is another control method for application startup provided by an embodiment of the present application. Figure 4As shown, the control method for starting the application includes the following parts 401 to 406, wherein:
[0142] 401. A user terminal receives an operation instruction sent by a first application.
[0143] The operation instruction is used to instruct the user terminal to perform a target operation, and the target operation is an operation that needs to start the second application to complete.
[0144] 402. The user terminal determines whether the operation instruction carries preset information.
[0145] The preset information is information included in the SDK used by the first application.
[0146] 403. If the operation instruction carries preset information, the user terminal is prohibited from starting the second application.
[0147] Among them, the specific implementation principles of parts 401 to 403 are the same as Figure 1 The specific implementation principles of parts 102 to 103 are the same, and reference may be made to the corresponding descriptions of parts 102 to 103, which will not be repeated here.
[0148] 404. If the operation instruction does not carry preset information, and the target operation is to start a target service of the second application, then obtain permission information of the second application.
[0149] 405. If it is determined according to the permission information that the second application has the preset permission, the second application is started.
[0150] 406. If it is determined according to the permission information that the second application does not have the preset permission, the second application is prohibited from being started.
[0151] 404 is a specific implementation of the user terminal acquiring the first information according to the operation instruction, and 405 is a specific implementation of the user terminal starting and controlling the second application according to the first information.
[0152] In the embodiment of the present application, after the user terminal obtains the permission information of the second application, if it is determined according to the permission information that the second application has the preset permission, the second application is started. The permission information of the second application is used to indicate the permission of the second application.
[0153] For example, the preset permission may be a notification permission, etc. The notification permission refers to the permission to monitor changes in notifications of the current system. Therefore, an application with the notification permission is a highly authorized application. A highly authorized application is a trusted application, and after starting a highly authorized application, no malicious operations will be performed. Therefore, the application is not maliciously started and can be started.
[0154] If it is determined according to the permission information that the second application does not have the preset permission, the user terminal may also determine whether to start the second application according to other information.
[0155] like Figure 5 As shown, Figure 5 This is another control method for application startup provided by an embodiment of the present application. Figure 5 As shown, the control method for starting the application includes the following parts 501 to 508, wherein:
[0156] 501. A user terminal receives an operation instruction sent by a first application.
[0157] The operation instruction is used to instruct the user terminal to perform a target operation, and the target operation is an operation that needs to start the second application to complete.
[0158] 502. The user terminal determines whether the operation instruction carries preset information.
[0159] The preset information is information included in the SDK used by the first application.
[0160] 503. If the operation instruction carries preset information, the user terminal is prohibited from starting the second application.
[0161] Among them, the specific implementation principles of parts 501 to 503 are Figure 1 The specific implementation principles of parts 102 to 103 are the same, and reference may be made to the corresponding descriptions of parts 102 to 103, which will not be repeated here.
[0162] 504. If the operation instruction does not carry preset information, and the target operation is to start a target service of the second application, the running status of the first application is obtained.
[0163] 505. If the running state of the first application is background running, and the widget of the second application is in an activated state, start the second application.
[0164] 506. If the running state of the first application is background running, and the widget of the second application is not in an activated state, the second application is prohibited from being started.
[0165] After identifying that the running state of the first application is background running, the state of the gadget of the second application can be obtained, and then it can be determined whether the state of the gadget of the second application is activated. If the gadget of the second application is in the activated state, the second application is started. Otherwise, the second application is not started.
[0166] Generally, launching an activated widget is not malicious, and therefore, the second application in which the widget is activated may be launched.
[0167] The above 506 is an optional step. If the running state of the first application is background running, and the widget of the second application is not in an activated state, the user terminal may continue to determine whether to start the second application according to other information.
[0168] 507. If the running state of the first application is foreground running, and the widget of the second application is in an activated state or the application type of the second application is a first preset type, the user terminal starts the second application.
[0169] 508. If the running state of the first application is foreground running, and the application type of the second application is not the first preset type, and the widget of the second application is not in an activated state, the user terminal prohibits starting the second application.
[0170] For example, the first preset type may include any one or more of payment applications, voice engine applications, and sharing applications. Usually, payment applications, voice engine applications, and sharing applications are applications that users frequently use. And the first application is not a malicious application hidden in the background, so the operation instruction is used to start the service of the second application, and when the first application is the foreground application, the payment application, voice engine application, and sharing application can be started.
[0171] After acquiring the running status of the first application, it is identified that the running status of the first application is foreground running, and then it can be determined whether the gadget of the second application is in an activated state, or whether the application type of the second application is the first preset type.
[0172] Among them, it can be determined whether the gadget of the second application is in an activated state first. If the gadget of the second application is in an activated state, the second application is started; if the gadget of the second application is in an inactivated state, it is determined whether the application type of the second application is the first preset type. If the application type of the second application is the first preset type, the second application is started. If the application type of the second application is not the first preset type, the second application is prohibited from being started.
[0173] Alternatively, it may be determined whether the application type of the second application is the first preset type. If the application type of the second application is the first preset type, the second application is started. If the application type of the second application is not the first preset type, it is determined whether the widget of the second application is in an activated state. If the widget of the second application is in an activated state, the second application is started. If the widget of the second application is in an inactivated state, the second application is prohibited from being started.
[0174] Among them, the above 508 is an optional step. If the running status of the first application is foreground running, and the application type of the second application is not the first preset type, and the widget of the second application is in an inactivated state, the user terminal can also continue to determine whether to start the second application based on other information.
[0175] like Figure 6 As shown, Figure 6 This is another control method for application startup provided by an embodiment of the present application. Figure 6 As shown, the control method for starting the application includes the following parts 601 to 612, wherein:
[0176] 601. A user terminal receives an operation instruction sent by a first application.
[0177] The operation instruction is used to instruct the user terminal to perform a target operation, and the target operation is an operation that needs to start the second application to complete.
[0178] 602. The user terminal determines whether the operation instruction carries preset information.
[0179] The preset information is information included in the SDK used by the first application.
[0180] 603. If the operation instruction carries preset information, the user terminal is prohibited from starting the second application.
[0181] Among them, the specific implementation principles of parts 601 to 603 are Figure 1 The specific implementation principles of parts 102 to 103 are the same, and reference may be made to the corresponding descriptions of parts 102 to 103, which will not be repeated here.
[0182] 604. If the operation instruction does not carry preset information, and the target operation is to start a target service of the second application, the user terminal determines whether the second application has the preset permission according to the permission information.
[0183] 605. If it is determined according to the permission information that the second application has the preset permission, the user terminal starts the second application.
[0184] Among them, the specific implementation principle of part 605 is the same as Figure 4 The specific implementation principle of part 405 is the same, please refer to the corresponding description of part 405, which will not be repeated here.
[0185] 606. If it is determined according to the permission information that the second application does not have the preset permission, the running status of the first application is obtained.
[0186] 607. If the running state of the first application is background running, and the widget of the second application is in an activated state, start the second application.
[0187] 608. If the running state of the first application is background running, and the widget of the second application is in an inactive state, the second application is prohibited from being started.
[0188] 609. If the running state of the first application is foreground running, and the widget of the second application is in an activated state or the application type of the second application is a first preset type, the user terminal starts the second application.
[0189] 610. If the running state of the first application is foreground running, and the application type of the second application is not the first preset type, and the widget of the second application is in an inactivated state, the user terminal prohibits starting the second application.
[0190] Among them, the specific implementation principles of parts 607 to 610 are the same as Figure 5 The specific implementation principles of parts 505 to 508 are the same, and reference may be made to the corresponding descriptions of parts 505 to 508, which will not be repeated here.
[0191] Among them, the embodiment of the present application does not limit the execution order of the user terminal determining whether the second application has the preset permission according to the permission information and obtaining the running status of the first application.
[0192] For example, if the operation instruction does not carry preset information, and the target operation is to start the target service of the second application, the running state of the first application can be obtained first. If the running state of the first application is background running, and the gadget of the second application is in an activated state, the second application is started. If the running state of the first application is foreground running, and the application type of the second application is the first preset type or the gadget of the second application is in an activated state, the second application is started. If the running state of the first application is background running, and the gadget of the second application is in an inactive state, it is determined whether the second application has the preset permission according to the permission information. If it is determined that the second application has the preset permission according to the permission information, the second application is started. If it is determined that the second application does not have the preset permission according to the permission information, the second application is prohibited from being started. If the running state of the first application is foreground running, and the application type of the second application is not the first preset type, and the gadget of the second application is in an inactive state, it is determined whether the second application has the preset permission according to the permission information. If it is determined that the second application has the preset permission according to the permission information, the second application is started. If it is determined that the second application does not have the preset permission according to the permission information, the second application is prohibited from being started.
[0193] It can be seen that through the implementation Figure 6 The described method can accurately intercept maliciously launched applications.
[0194] like Figure 7 As shown, Figure 7 This is another control method for application startup provided by an embodiment of the present application. Figure 7 As shown, the control method for starting the application includes the following parts 701 to 708, wherein:
[0195] 701. A user terminal receives an operation instruction sent by a first application.
[0196] The operation instruction is used to instruct the user terminal to perform a target operation, and the target operation is an operation that needs to start the second application to complete.
[0197] 702. The user terminal determines whether the operation instruction carries preset information.
[0198] The preset information is information included in the SDK used by the first application.
[0199] 703. If the operation instruction carries preset information, the user terminal is prohibited from starting the second application.
[0200] Among them, the specific implementation principles of parts 701 to 703 are Figure 1 The specific implementation principles of parts 102 to 103 are the same, and reference may be made to the corresponding descriptions of parts 102 to 103, which will not be repeated here.
[0201] 704. If the operation instruction does not carry preset information, and the target operation is to start the target data query function of the second application, the running status of the first application is obtained.
[0202] 705. If the running state of the first application is background running, and the widget of the second application is in an activated state, start the second application.
[0203] 706. If the running state of the first application is background running, and the widget of the second application is in an inactive state, starting the second application is prohibited.
[0204] 707. If the running state of the first application is foreground running, and the widget of the second application is in an activated state or the application type of the second application is a second preset type, the user terminal starts the second application.
[0205] 708. If the running state of the first application is foreground running, and the application type of the second application is not the second preset type, and the widget of the second application is in an inactivated state, the user terminal is prohibited from starting the second application.
[0206] For example, the second preset type may include sharing applications. Generally, sharing applications are applications that users frequently use. Moreover, the first application is not a malicious application hidden in the background. Therefore, the operation instruction is used to start the data query function of the second application, and when the first application is the foreground application, the sharing application can be started. Moreover, starting an activated gadget is generally not a malicious start. Therefore, the second application in which the gadget is in an activated state can be started. It can be seen that by implementing this embodiment, the start of the second application can be intelligently controlled.
[0207] After acquiring the running status of the first application, it is identified that the running status of the first application is foreground running, and then it can be determined whether the gadget of the second application is in an activated state, or whether the application type of the second application is the second preset type.
[0208] Among them, it can be determined whether the gadget of the second application is in an activated state first. If the gadget of the second application is in an activated state, the second application is started; if the gadget of the second application is in an inactivated state, it is determined whether the application type of the second application is a second preset type. If the application type of the second application is the second preset type, the second application is started. If the application type of the second application is not the second preset type, the second application is prohibited from being started.
[0209] Alternatively, it may be determined whether the application type of the second application is the second preset type. If the application type of the second application is the second preset type, the second application is started. If the application type of the second application is not the second preset type, it is determined whether the widget of the second application is in an activated state. If the widget of the second application is in an activated state, the second application is started. If the widget of the second application is in an inactivated state, the second application is prohibited from being started.
[0210] The above 706 is an optional step. If the running state of the first application is background running, and the widget of the second application is not in an activated state, the user terminal may continue to determine whether to start the second application according to other information.
[0211] Among them, the above 708 is an optional step. If the running status of the first application is foreground running, and the application type of the second application is not the second preset type, and the widget of the second application is in an inactivated state, the user terminal can also determine whether to start the second application based on other information.
[0212] It can be seen that through the implementation Figure 7 The described method can accurately intercept maliciously launched applications.
[0213] like Figure 8 As shown, Figure 8 This is another control method for application startup provided by an embodiment of the present application. Figure 8As shown, the control method for starting the application includes the following parts 801 to 806, wherein:
[0214] 801. A user terminal receives an operation instruction sent by a first application.
[0215] The operation instruction is used to instruct the user terminal to perform a target operation, and the target operation is an operation that needs to start the second application to complete.
[0216] 802. The user terminal determines whether the operation instruction carries preset information.
[0217] The preset information is information included in the SDK used by the first application.
[0218] 803. If the operation instruction carries preset information, the user terminal is prohibited from starting the second application.
[0219] Among them, the specific implementation principles of parts 801 to 803 are Figure 1 The specific implementation principles of parts 102 to 103 are the same, and reference may be made to the corresponding descriptions of parts 102 to 103, which will not be repeated here.
[0220] 804. If the operation instruction does not carry preset information, and the target operation is to send target broadcast information to the second application, the user terminal obtains the status of the widget of the second application.
[0221] 805. If the widget of the second application is in an activated state, the user terminal starts the second application.
[0222] 806. If the widget of the second application is not in an activated state, the user terminal prohibits starting the second application.
[0223] Generally, launching an activated widget is not malicious, and therefore, the second application in which the widget is activated may be launched.
[0224] like Fig. 9 As shown, Fig. 9 This is another control method for application startup provided by an embodiment of the present application. Fig. 9 As shown, the control method for starting the application includes the following parts 901 to 908, wherein:
[0225] 901. A user terminal starts a system of the user terminal.
[0226] 902. The user terminal generates system broadcast information.
[0227] The system broadcast information is used to be sent to a third application. The third application is an application on the user terminal that has subscribed to the system broadcast information.
[0228] Specifically, after the user terminal starts the system of the user terminal, it triggers the generation of system broadcast information.
[0229] 903. If the widget of the third application is in an activated state, or the application type of the third application is a third preset type, the user terminal starts the third application.
[0230] Specifically, after the user terminal receives the system broadcast information, it determines whether the widget of the third application is in an activated state, or whether the application type of the third application is a third preset type.
[0231] The third preset type may be a blind type application, etc. Since it is inconvenient for the blind to operate the mobile phone, the blind type application is usually started by the system broadcast. Therefore, when the system broadcast starts the blind type application, the blind type application needs to be started.
[0232] 904. If the widget of the third application is in an inactivated state and the application type of the third application is not a third preset type, the user terminal is prohibited from starting the third application.
[0233] Before executing part 905, parts 901 to 904 may be executed.
[0234] 905. The user terminal receives an operation instruction sent by the first application.
[0235] The operation instruction is used to instruct the user terminal to perform a target operation, and the target operation is an operation that needs to start the second application to complete.
[0236] 906. The user terminal determines whether the operation instruction carries preset information.
[0237] The preset information is information included in the SDK used by the first application.
[0238] 907. If the operation instruction carries preset information, the user terminal is prohibited from starting the second application.
[0239] 908. If the operation instruction does not carry preset information, the user terminal starts and controls the second application according to the operation instruction.
[0240] Among them, the specific implementation principles of parts 905 to 908 are Figure 1 The specific implementation principles of parts 101 to 104 are the same, and reference may be made to the corresponding descriptions of parts 101 to 104, which will not be repeated here.
[0241] It can be seen that by implementing this implementation, malicious startup of applications triggered by system broadcast information can be accurately intercepted.
[0242] like Fig.10 As shown, Fig.10This is another control method for application startup provided by an embodiment of the present application. Fig.10 As shown, the control method for starting the application includes the following parts 1001 to 1009, wherein:
[0243] 1001. A user terminal starts a system of the user terminal.
[0244] 1002. The user terminal generates system broadcast information.
[0245] The system broadcast information is used to be sent to a third application. The third application is an application on the user terminal that has subscribed to the system broadcast information.
[0246] Specifically, after the user terminal starts the system of the user terminal, it triggers the generation of system broadcast information.
[0247] 1003. If the widget of the third application is in an activated state, or the application type of the third application is a third preset type, the user terminal starts the third application.
[0248] Specifically, after the user terminal receives the system broadcast information, it determines whether the widget of the third application is in an activated state, or whether the application type of the third application is a third preset type.
[0249] The third preset type may be a blind type application, etc. Since it is inconvenient for the blind to operate the mobile phone, the blind type application is usually started by the system broadcast. Therefore, when the system broadcast starts the blind type application, the blind type application needs to be started.
[0250] 1004. If the widget of the third application is in an inactivated state and the application type of the third application is not a third preset type, the user terminal is prohibited from starting the third application.
[0251] It can be seen that through the implementation Fig.10 The described method can accurately intercept malicious startup of applications triggered by system broadcast information.
[0252] like Fig.11 As shown, Fig.11 This is another control method for application startup provided by an embodiment of the present application. Fig.11 As shown, the control method for starting the application includes the following parts 1101 to 1109, wherein:
[0253] 1101. A user terminal starts a system of the user terminal.
[0254] 1102. The user terminal generates system broadcast information.
[0255] 1103. If the widget of the third application is in an activated state, or the application type of the third application is a third preset type, the user terminal starts the third application.
[0256] 1104. If the widget of the third application is in an inactivated state and the application type of the third application is not a third preset type, the user terminal is prohibited from starting the third application.
[0257] Before executing part 1105, parts 1101 to 1104 may be executed. The specific implementation principles of parts 1101 to 1104 are the same as Fig. 9 The specific implementation principles of parts 901 to 904 are the same, and reference may be made to the corresponding descriptions of parts 901 to 904, which will not be repeated here.
[0258] 1105. The user terminal receives an operation instruction sent by the first application.
[0259] The operation instruction is used to instruct the user terminal to perform a target operation, and the target operation is an operation that needs to start the second application to complete.
[0260] 1106. The user terminal determines whether the operation instruction carries preset information.
[0261] The preset information is information included in the SDK used by the first application.
[0262] 1107. If the operation instruction carries preset information, the user terminal is prohibited from starting the second application.
[0263] 1108. If the operation instruction does not carry preset information, the user terminal starts and controls the second application according to the operation instruction.
[0264] Among them, the specific implementation principles of parts 1105 to 1108 are the same as Figure 1 The specific implementation principles of parts 101 to 104 are the same, and reference may be made to the corresponding descriptions of parts 101 to 104, which will not be repeated here.
[0265] 1109. If it is detected that the Bluetooth connection with the Bluetooth device is successful, the user terminal detects a fourth application with a Bluetooth media browsing service.
[0266] In actual applications, when an application is installed, all services of the application will be registered in the user terminal system. If the application has a Bluetooth media browsing service, it will also be registered in the system.
[0267] For example, the Bluetooth device is a vehicle-mounted device, and application a has a Bluetooth media browsing service. After the user terminal detects that a Bluetooth connection is established with the vehicle-mounted device, application a is started so that the vehicle-mounted device can browse the information in application a. For example, application a is an address book, so the vehicle-mounted device can browse the contact information in the address book.
[0268] However, in actual applications, many malicious applications usually register the Bluetooth media browsing service in the system in order to start. Therefore, by executing 1109 and 1110, the start of the malicious application can be intelligently intercepted.
[0269] 1110. If the fourth application is not started, the user terminal is prohibited from starting the fourth application.
[0270] Parts 1101 to 1104 may also be optional parts. Parts 1109 and 1110 may be executed before or after parts 1105 to 1108.
[0271] like Fig.12 As shown, Fig.12 This is another control method for application startup provided by an embodiment of the present application. Fig.12 As shown, the control method for starting the application includes the following parts 1201 to 1202, wherein:
[0272] 1201. If it is detected that the Bluetooth connection with the Bluetooth device is successful, the user terminal detects a fourth application with a Bluetooth media browsing service.
[0273] 1202. If the fourth application is not started, the user terminal is prohibited from starting the fourth application.
[0274] For the specific implementation of this implementation, please refer to the corresponding description of 1109 and 1110 above, which will not be repeated here.
[0275] like Fig.13 As shown, Fig.13 This is another control method for application startup provided by an embodiment of the present application. Fig.13 As shown, the control method for starting the application includes the following parts 1301 to 1303, wherein:
[0276] 1301. A user terminal receives an operation instruction sent by a first application.
[0277] The operation instruction is used to instruct the user terminal to perform a target operation, and the target operation is an operation that needs to start the second application to complete. The first application is an application of the user terminal.
[0278] Specifically, the operation instruction sent by the first application is received by the user terminal system. The user terminal system refers to the operating system of the user terminal. For example, the user terminal system can be an Android system or an IOS system.
[0279] Optionally, the target operation may be to start the target interface of the second application, or the target operation may be to start the target service of the second application, or the target operation may be to start the target data query function of the second application, or the target operation may be to send the target broadcast information to the second application, or the target operation may be other operations that require the second application to be started before execution, which is not limited in the embodiments of the present application. Among them, the target interface may be any interface of the second application, the target service may be any service of the second application, the target data query function may be any data query function of the second application, and the target broadcast information may be any broadcast information subscribed by the second application.
[0280] If the target operation is to start the target interface of the second application, the operation instruction may carry the identifier of the second application and the identifier of the target interface. If the target operation is to start the target service of the second application, the operation instruction may carry the identifier of the second application and the identifier of the target service. If the target operation is to start the target data query function of the second application, the operation instruction may carry the identifier of the second application and the identifier of the target data query function. If the target operation is to send target broadcast information to the second application, the operation instruction also carries the target broadcast information that needs to be sent to the second application.
[0281] 1302. The user terminal obtains first information according to the operation instruction.
[0282] Optionally, the specific implementation method of the user terminal obtaining the first information according to the operation instruction may be: if the target operation is to start the target interface of the second application, or the target operation is to start the target service of the second application, or the target operation is to start the target data query function of the second application, or the target operation is to send target broadcast information to the second application, then the user terminal obtains the running status information of the first application and the characteristic information of the second application.
[0283] The first information includes the running status of the first application and the characteristic information of the second application.
[0284] The running state of the first application may be foreground running or background running.
[0285] Optionally, the characteristic information of the second application includes at least one of whether the name of the installation package of the second application includes preset keywords, whether the second application has fingerprint permission, whether the second application is a permission trusted application, whether the second application is a high-frequency use application, whether the second application has photo taking permission, and whether the second application has network connection permission.
[0286] Among them, the preset keyword can be the installation package name of a high-security application or the installation package name of a frequently used application, for example, the preset keyword can be the installation package name of a payment application. Whether the second application has fingerprint permission refers to whether certain operations of the second application require fingerprint verification. Whether the second application is a high-frequency application refers to whether the number of times the second application is used within a preset time period exceeds the preset number of times, or the usage duration within the preset time period exceeds the preset duration.
[0287] 1303. The user terminal starts and controls the second application according to the first information.
[0288] It can be seen that through the implementation Fig.13 The described method can intelligently identify whether to start the second application based on the first information, without the user having to set the application allowed to start in the application configuration list in advance. Fig.13 The described method increases the intelligence of application startup control.
[0289] Optionally, after receiving the operation instruction, the user terminal may further detect whether the second application is a preset application; if the second application is a preset application, the second application is started; if the second application is not a preset application, part 1302 is executed. The preset application may be an application frequently used by a large number of users set by the system by default, such as a payment application or an instant messaging application.
[0290] like Fig.14 As shown, Fig.14 This is another control method for application startup provided by an embodiment of the present application. Fig.14 As shown, the control method for starting the application includes the following parts 1401 to 1408, wherein:
[0291] 1401. A user terminal receives an operation instruction sent by a first application.
[0292] The operation instruction is used to instruct the user terminal to perform a target operation, where the target operation is an operation that requires launching a second application to complete.
[0293] 1402. The user terminal obtains first information according to the operation instruction.
[0294] The first information includes the running status of the first application and the characteristic information of the second application.
[0295] Among them, the specific implementation principles of parts 1401 to 1402 are the same as Fig.12 The specific implementation principles of parts 1201 to 1202 are the same, and reference may be made to the corresponding descriptions of parts 1201 to 1202, which will not be repeated here.
[0296] 1403. The user terminal determines a first weight value according to characteristic information of the second application.
[0297] For example, as shown in Table 1 below, the characteristic information of the second application includes that the name of the installation package of the second application includes preset keywords, the second application has fingerprint permission, the second application is a permission-trusted application, the second application is a high-frequency application, the second application has a photo-taking permission, and the second application has a network connection permission. If the name of the installation package of the second application includes the preset keyword, the first weight value is 20, otherwise the first weight value is 0. The second application has fingerprint permission, and the first weight value is 10. The second application is a permission-trusted application, and the first weight value is 20. The second application is a high-frequency application, and the first weight value is 20. The second application has a photo-taking permission, and the first weight value is 5. The second application has a network connection permission, and the first weight value is 5. Among them, if the name of the installation package of the second application includes the preset keyword, the possibility that the second application is a malicious application is low. Therefore, a higher weight value can be assigned when the name of the installation package of the second application includes the preset keyword. Similarly, if the second application is a permission-trusted application or the second application is a high-frequency application, the possibility that the second application is a malicious application is low. Therefore, a higher weight value can be assigned when the second application is a permission-trusted application or the second application is a high-frequency application.
[0298] Table 1
[0299]
[0300] 1404. If the running status information is foreground running, the user terminal determines a second weight value according to the type of the operation instruction.
[0301] 1405. If the sum of the first weight value and the second weight value is greater than a preset threshold, the user terminal starts the second application.
[0302] 1406. If the running status information is background running, obtain the application type of the second application.
[0303] The application type of the first application is a hardware service application or a non-hardware service application. For example, the hardware service application may include a Bluetooth application, a WiFi application, a sensor application, and the like.
[0304] 1407. The user terminal determines a third weight value according to the application type of the first application and the type of the operation instruction.
[0305] 1408. If the sum of the first weight value and the third weight value is greater than a preset threshold, the user terminal starts the second application.
[0306] For example, as shown in Table 2 below, if the operation instruction is an operation instruction for starting the service of the second application, after the system of the user terminal obtains the running status of the first application, if the running status is foreground running, the second weight value is directly determined to be 10 based on the operation instruction and the running status of the first application. If the running status is background running, it is also necessary to obtain the application type of the first application, and determine the third weight value based on the operation instruction, the running status of the first application and the application type of the first application. If the application type of the first application is a non-hardware service application, the third weight value is determined to be 5.
[0307] Table 2
[0308]
[0309]
[0310] Generally, hardware service applications rarely launch malicious applications, so when the first application is in the background, the corresponding weight value can be further determined according to the application type of the first application, which is conducive to making the weight value more accurate.
[0311] It can be seen that through the implementation Fig.14 The described method can accurately intercept maliciously launched applications.
[0312] See also Fig.15 , is a schematic diagram of the structure of a user terminal provided in an embodiment of the present invention. The user terminal described in this embodiment includes: a receiving module 1501 and a processing module 1502. Among them:
[0313] Receiving module 1501 is used to receive an operation instruction sent by a first application, where the operation instruction is used to instruct a user terminal to perform a target operation, where the target operation is an operation that requires the startup of a second application to complete; processing module 1502 is used to determine whether the operation instruction carries preset information, where the preset information is information included in the software development kit SDK used by the first application; processing module 1502 is also used to prohibit the startup of the second application if processing module 1502 determines that the operation instruction carries the preset information; processing module 1502 is also used to control the startup of the second application according to the operation instruction if processing module 1502 determines that the operation instruction does not carry the preset information.
[0314] Optionally, the specific method in which the processing module 1502 controls the startup of the second application according to the operation instruction is: according to the operation instruction, obtain first information, the first information includes the running status of the first application, or the first information includes the permission information of the second application, or the first information includes the application type of the first application, or the first information includes the status of the widget of the second application; and control the startup of the second application according to the first information.
[0315] Optionally, the target operation is to launch the target interface of the second application, the first information includes the running status of the first application, and the specific method in which the processing module 1502 controls the startup of the second application according to the first information is: if the running status of the first application is background running, the startup of the second application is prohibited; if the running status of the first application is foreground running, the second application is started.
[0316] Optionally, the target operation is to launch the target interface of the second application, and the first information includes the running status of the first application. The specific method in which the processing module 1502 controls the startup of the second application according to the first information is: if the running status of the first application is background running, then the startup of the second application is prohibited; if the running status of the first application is foreground running, the interface information of the target interface is obtained; if the interface information indicates that the target interface is a non-transparent interface, then the second application is started; if the interface information indicates that the target interface is a transparent interface, then the startup of the second application is prohibited.
[0317] Optionally, the processing module 1502 is further used to obtain the size of the target interface after the second application is started; the processing module 1502 is further used to close the second application if the size of the target interface is smaller than a preset size.
[0318] Optionally, the target operation is to start the target service of the second application, the first information includes permission information of the second application, and the specific way in which the processing module 1502 controls the start of the second application according to the first information is: if it is determined according to the permission information that the second application has preset permissions, then the second application is started.
[0319] Optionally, the target operation is to start the target service of the second application, and the first information is the running state of the first application. The specific manner in which the processing module 1502 controls the start of the second application according to the first information is: if the running state of the first application is background running, and the gadget of the second application is in an activated state, then the second application is started; if the running state of the first application is background running, and the gadget of the second application is in an inactivated state, then the start of the second application is prohibited; if the running state of the first application is foreground running, and the gadget of the second application is in an activated state or the application type of the second application is a first preset type, then the second application is started. If the application type of the second application is not the first preset type, and the gadget of the second application is in an inactivated state, then the start of the second application is prohibited.
[0320] Optionally, the processing module 1502 obtains the first information according to the operation instruction in the following specific manner: if the target operation is to start the target service of the second application, and it is determined according to the permission information that the second application does not have the preset permission, then the running status of the first application is obtained.
[0321] Optionally, the first preset type includes at least one of a payment application, a voice engine application, and a sharing application.
[0322] Optionally, the target operation is to start a target data query function of the second application, and the first information is the running status of the first application. The specific way in which the processing module 1502 controls the start of the second application according to the first information is: if the running status of the first application is background running, and the widget of the second application is in an activated state, then the second application is started; if the running status of the first application is background running, and the widget of the second application is in an inactivated state, then the second application is prohibited from being started; if the running status of the first application is foreground running, and the widget of the second application is in an activated state or the application type of the second application is a second preset type, then the second application is started; if the application type of the second application is not the second preset type, and the widget of the second application is in an inactivated state, then the second application is prohibited from being started.
[0323] Optionally, the second preset type is a sharing application.
[0324] Optionally, the target operation is to send target broadcast information to the second application, the first information is the status of the widget of the second application, and the specific way in which the processing module 1502 controls the startup of the second application according to the first information is: if the widget of the second application is in an activated state, start the second application; if the widget of the second application is not in an activated state, prohibit starting the second application.
[0325] Optionally, the user terminal also includes: a startup module, wherein: the startup module is used to start the system of the user terminal before receiving the operation instruction sent by the first application; the processing module 1502 is also used to generate system broadcast information, and the system broadcast information is used to send to the third application; the processing module 1502 is also used to start the third application if the gadget of the third application is in an activated state, or the application type of the third application is a third preset type; the processing module 1502 is also used to prohibit the startup of the third application if the gadget of the third application is in an inactivated state and the application type of the third application is not the third preset type.
[0326] Optionally, the third preset type may be applied to blind people.
[0327] Optionally, if it is detected that the Bluetooth connection with the Bluetooth device is successful, a fourth application with a Bluetooth media browsing service is detected; if the fourth application is not started, starting the fourth application is prohibited.
[0328] See also Fig.16 , is a schematic diagram of a user terminal provided in an embodiment of the present invention. The user terminal described in this embodiment includes: a starting module 1601 and a processing module 1602. Among them:
[0329] The startup module 1601 is also used to start the system of the user terminal before receiving the operation instruction sent by the first application; the processing module 1602 is used to generate system broadcast information, which is used to be sent to the third application; the processing module 1602 is also used to start the third application if the gadget of the third application is in an activated state, or the application type of the third application is a third preset type; the processing module 1602 is also used to prohibit the startup of the third application if the gadget of the third application is in an inactivated state and the application type of the third application is not the third preset type.
[0330] Optionally, the third preset type may be applied to blind people.
[0331] See also Fig.17 , is a schematic diagram of the structure of a user terminal provided in an embodiment of the present invention. The user terminal described in this embodiment includes: a detection module 1701 and a control module 1702. Among them:
[0332] The detection module 1701 is used to detect a fourth application with a Bluetooth media browsing service if a successful Bluetooth connection with a Bluetooth device is detected; the control module 1702 is used to prohibit starting the fourth application if the fourth application is not started.
[0333] See also Fig.18 , is a schematic diagram of the structure of a user terminal provided in an embodiment of the present invention. The user terminal described in this embodiment includes: a receiving module 1801 and a processing module 1802. Among them:
[0334] Receiving module 1801 is used to receive an operation instruction sent by a first application, where the operation instruction is used to instruct a user terminal to perform a target operation, where the target operation is an operation that requires starting a second application to complete; processing module 1802 is used to obtain first information according to the operation instruction, where the first information includes the running status of the first application and characteristic information of the second application; processing module 1802 is also used to control the startup of the second application according to the first information.
[0335] Optionally, the processing module 1802 controls the startup of the second application based on the first information in the following manner: determining a first weight value based on characteristic information of the second application; if the running status information is foreground running, determining a second weight value based on the type of operation instruction; if the sum of the first weight value and the second weight value is greater than a preset threshold, starting the second application.
[0336] Optionally, processing module 1802 is also used to obtain the application type of the second application if the running status information is background running, and the application type of the first application is a hardware service application or a non-hardware service application; processing module 1802 is also used to determine a third weight value based on the application type of the first application and the type of the operation instruction; processing module 1802 is also used to start the second application if the sum of the first weight value and the third weight value is greater than a preset threshold.
[0337] Optionally, the characteristic information of the second application includes at least one of whether the name of the installation package of the second application includes preset keywords, whether the second application has fingerprint permission, whether the second application is a permission trusted application, whether the second application is a high-frequency use application, whether the second application has photo taking permission, and whether the second application has network connection permission.
[0338] Optionally, processing module 1802 is further used to detect whether the second application is a preset application after receiving an operation instruction; processing module 1802 is further used to start the second application if processing module 1802 detects that the second application is a preset application; processing module 1802 is further used to trigger processing module 1802 to obtain the first information according to the operation instruction if processing module 1802 detects that the second application is not a preset application.
[0339] See also Fig.19 , is a schematic diagram of the structure of another terminal provided in an embodiment of the present invention. The terminal described in this embodiment includes: a radio frequency (RF) circuit 110, a memory 120, other input devices 130, a display screen 140, a sensor 150, an input / output subsystem 170, a processor 1120, and a power supply 190. Those skilled in the art can understand that Fig.19 The terminal structure shown in the figure does not constitute a limitation on the terminal, and may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. Those skilled in the art will understand that the display screen 140 belongs to the user interface (UI), and the terminal may include more or fewer user interfaces than shown in the figure.
[0340] Combine the following Fig.19 The following is a detailed introduction to the various components of the terminal:
[0341] The radio frequency circuit 110 can be used for receiving and sending signals during information transmission or calls. In particular, after receiving the downlink information of the base station, it is sent to the processor 1120 for processing; in addition, the designed uplink data is sent to the base station. Generally, the radio frequency circuit includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, an LNA (Low Noise Amplifier), a duplexer, etc. In addition, the radio frequency circuit 110 can also communicate with the network and other devices through wireless communication. The wireless communication can use any communication standard or protocol, including but not limited to GSM (Global System of Mobile communication), GPRS (General Packet Radio Service), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), LTE (Long Term Evolution), email, SMS (Short Messaging Service), etc.
[0342] The memory 120 can be used to store software programs and modules. The processor 1120 executes various functional applications and data processing of the terminal 1 by running the software programs and modules stored in the memory 120. The memory 120 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the terminal (such as audio data, a phone book, etc.), etc. In addition, the memory 120 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0343] The other input devices 130 may be used to receive input digital or character information, and to generate key signal inputs related to user settings and function control of the terminal. Specifically, the other input devices 130 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, an optical mouse (an optical mouse is a touch-sensitive surface that does not display visual output, or an extension of a touch-sensitive surface formed by a touch screen), etc. The other input devices 130 are connected to the other input device controller 171 of the input / output subsystem 170, and perform signal interaction with the processor 1120 under the control of the other device input controller 171.
[0344] The display screen 140 can be used to display information input by the user or information provided to the user and various menus of the terminal, and can also accept user input. The specific display screen 140 may include a display panel 141, and a touch panel 142. The display panel 141 may be configured in the form of LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), etc. The touch panel 142, also known as a touch screen, a touch-sensitive screen, etc., can collect the user's contact or non-contact operation on or near it (such as the user using any suitable object or accessory such as a finger, a stylus, etc. on the touch panel 142 or near the touch panel 142, and may also include somatosensory operation; the operation includes single-point control operation, multi-point control operation and other operation types.), and drive the corresponding connection device according to a pre-set program. Optionally, the touch panel 142 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch direction and posture, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into information that can be processed by the processor, and then sends it to the processor 1120, and can receive and execute the command sent by the processor 1120. In addition, the touch panel 142 can be implemented by various types such as resistive, capacitive, infrared and surface acoustic wave, and any technology developed in the future can also be used to implement the touch panel 142. Further, the touch panel 142 can cover the display panel 141, and the user can operate on or near the touch panel 142 covered on the display panel 141 according to the content displayed on the display panel 141 (the display content includes but is not limited to soft keyboard, virtual mouse, virtual button, icon, etc.). After the touch panel 142 detects the operation on or near it, it is transmitted to the processor 1120 through the input / output subsystem 170 to determine the user input, and then the processor 1120 provides corresponding visual output on the display panel 141 through the input / output subsystem 170 according to the user input. Although in Figure 4 In the embodiment, the touch panel 142 and the display panel 141 are used as two independent components to implement the input and output functions of the terminal, but in some embodiments, the touch panel 142 and the display panel 141 can be integrated to implement the input and output functions of the terminal.
[0345] The terminal may also include at least one sensor 150, such as a light sensor, a speed sensor, a GPS sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 141 according to the brightness of the ambient light, and the proximity sensor may turn off the display panel 141 and / or the backlight when the terminal is moved to the ear. As a type of speed sensor, the accelerometer sensor can detect the magnitude of acceleration in each direction (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that identify the terminal posture (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors that can be configured in the terminal, such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., they will not be repeated here.
[0346] The input / output subsystem 170 is used to control external input and output devices, and may include other device input controllers 171, sensor controllers 172, and display controllers 173. Optionally, one or more other input control device controllers 171 receive signals from other input devices 130 and / or send signals to other input devices 130. Other input devices 130 may include physical buttons (press buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, and optical mice (optical mice are touch-sensitive surfaces that do not display visual output, or are extensions of touch-sensitive surfaces formed by touch screens). It is worth noting that other input control device controllers 171 may be connected to any one or more of the above devices. The display controller 173 in the input / output subsystem 170 receives signals from the display screen 140 and / or sends signals to the display screen 140. After the display screen 140 detects user input, the display controller 173 converts the detected user input into interaction with a user interface object displayed on the display screen 140, that is, realizes human-computer interaction. The sensor controller 172 may receive signals from and / or send signals to one or more sensors 150 .
[0347] The processor 1120 is the control center of the terminal. It uses various interfaces and lines to connect various parts of the entire terminal. It executes various functions of the terminal and processes data by running or executing software programs and / or modules stored in the memory 120, and calling data stored in the memory 120, so as to monitor the terminal as a whole. Optionally, the processor 1120 may include one or more processing units; preferably, the processor 1120 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into the processor 1120.
[0348] The terminal also includes a power supply 190 (such as a battery) for supplying power to various components. Preferably, the power supply can be logically connected to the processor 1120 through a power management system, so that the power management system can manage functions such as charging, discharging, and power consumption.
[0349] Although not shown, the terminal may also include a camera, a Bluetooth module, etc., which will not be described in detail here.
[0350] Specifically, the processor 1120 may call the program instructions stored in the memory 120 to implement the method as shown in the embodiment of the present invention.
[0351] The computer-readable storage medium may be an internal storage unit of the terminal described in any of the foregoing embodiments, such as a hard disk or memory of the terminal. The computer-readable storage medium may also be an external storage device of the terminal, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the terminal. Further, the computer-readable storage medium may also include both an internal storage unit of the terminal and an external storage device. The computer-readable storage medium is used to store the computer program and other programs and data required by the terminal. The computer-readable storage medium may also be used to temporarily store data that has been output or is to be output.
[0352] It should be noted that the specific implementation process of the computer program product containing the instructions can refer to the methods described in the first embodiment and the second embodiment, which will not be repeated here.
[0353] Based on the same inventive concept, the principle of solving the problem by the terminal provided in the embodiment of the present invention is similar to that of the method embodiment of the present invention, so the implementation of the terminal can refer to the implementation of the method, which will not be repeated here for the sake of brevity.
[0354] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the above-mentioned program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, the above-mentioned storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.
Claims
1. A control method for application startup, applied to a user terminal, characterized in that: The method comprises: receiving an operation instruction sent by a first application, wherein the operation instruction is used to instruct the user terminal to perform a target operation; According to the operation instruction, first information is acquired, where the first information includes a running state of the first application, and / or the first information includes permission information of a second application, and / or the first information includes a state of a widget of the second application; Controlling the startup of the second application according to the first information; The target operation is to start the target interface of the second application, and the starting control of the second application according to the first information includes: If the running state of the first application is background running, the second application is prohibited from starting; If the running state of the first application is foreground running, the second application is started.
2. The method according to claim 1, characterized in that: After starting the second application, the method further includes: Obtaining the size of the target interface; If the size of the target interface is smaller than a preset size, the second application is closed.
3. The method according to claim 1, characterized in that The target operation is to start a target service of the second application, the first information includes permission information of the second application, and the starting control of the second application according to the first information includes: If it is determined according to the permission information that the second application has the preset permission, the second application is started.
4. A user terminal, characterized in that: The user terminal comprises: A memory for storing one or more programs; A processor, configured to execute the program in the memory so that the terminal executes the method according to any one of claims 1 to 3.
5. A computer-readable storage medium storing a computer program, characterized in that: The computer program comprises program instructions, and when the computer program is run on a computer, the program instructions, when executed by a processor, cause the computer to perform the method according to any one of claims 1 to 3.
6. A computer program product comprising instructions, which, when executed on a computer, enables the computer to perform the method according to any one of claims 1 to 3.
Citation Information
Patent Citations
Application program starting management method and application program starting management apparatus for electronic device
CN105975306A
An application program start control method and control device
CN106126327A