Application program state detection method, electronic equipment and storage medium
By using an embedded controller EC that has been powered on in electronic devices to store the installation status information of the application, the problem of how to accurately detect whether the application is uninstalled is solved, and the stability and reliability of the electronic device are improved.
Patent Information
- Application Number
- CN202311065149.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-22
- Publication Date
- 2025-02-25
AI Technical Summary
How to accurately detect whether an installed important application is uninstalled to avoid abnormalities in electronic devices due to application function failure.
By setting up a device in the electronic device that is always powered up (such as an embedded controller EC), the installation status information of the application program is stored in the memory. When the electronic device is powered on or awakened, it runs the first firmware program through the first chip, querys the installation status information of the application from the EC's memory, and determines whether the application is uninstalled.
Accurate detection of the application installation status is achieved, avoiding abnormal electronic equipment caused by application uninstallation, and improving the reliability and stability of the equipment.
Smart Images

Figure CN119512851A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of electronic devices, and in particular to a method for detecting the state of an application, an electronic device, and a computer-readable storage medium. Background Art
[0002] In order to meet user needs, some manufacturers will install some important applications in electronic devices such as laptops, mobile phones, and tablets to achieve certain important functions. For example, for laptops using organic light-emitting diode (OLED) screens, manufacturers usually install applications with anti-burn-in functions (such as security manager applications) in the laptops to reduce the risk of screen burn-in of the laptops through the anti-burn-in function of the application.
[0003] However, when an important application installed in an electronic device is uninstalled, the function of the application will be completely invalid, which may cause the electronic device to malfunction. In order to avoid this situation, the electronic device needs to detect in real time whether the installed important application has been uninstalled, so as to take certain measures after uninstallation, such as automatically reinstalling the application, prompting the user of the risk of uninstallation, etc., so as to reduce the risk of the electronic device malfunctioning. How to accurately detect whether an installed important application has been uninstalled, that is, to detect the installation status of an installed important application, is a technical problem that needs to be solved. Summary of the invention
[0004] Some embodiments of the present application provide an application status detection method, an electronic device, and a computer-readable storage medium. The present application is introduced from multiple aspects below, and the implementation methods and beneficial effects of the following aspects can be referenced to each other.
[0005] In a first aspect, the present application provides a method for detecting the status of an application, which is used in an electronic device, wherein the electronic device includes a first device, and the first device remains powered on when a central processor of the electronic device is in a non-working state; and the method includes: querying installation status information of the first application from a memory of the first device; and determining whether the first application is in an installed state based on the installation status information.
[0006] According to the implementation mode of the present application, the first device is a device that is always powered on, even if the central processing unit (CPU) is in a non-working state, that is, the electronic device is in a shutdown, dormant, sleep, etc. state, the first device still remains powered on. Since the first device is not powered off, the data stored in it will not be lost, and the installation status information can be effectively stored. In this way, the electronic device can query the installation status information of the application from the memory of the first device, and accurately determine whether the application is uninstalled based on the queried installation status information, avoiding abnormal judgment.
[0007] The first device may be an embedded controller (EC). The memory of the first device may be a random access memory (RAM) of the EC. The first application may be a security manager application, a map application, an album application, a clock application, a sports health application, and the like. The installation status information may be an in-place flag: 0x1 or 0x0. 0x1 indicates that the application is in an installed state, and 0x0 indicates that the application is in an uninstalled state.
[0008] In some embodiments, the method further includes: corresponding to determining that the first application is not installed, displaying risk warning information that the user has not installed the first application.
[0009] When the electronic device detects that the first application has been uninstalled, the corresponding risk warning information is displayed to promptly remind the user to reinstall the first application to avoid abnormalities in the electronic device. For example, when a security manager application with an anti-burn-in function is uninstalled on an electronic device, the electronic device can promptly remind the user to reinstall the security manager application by displaying risk warning information to reduce the risk of burn-in on the electronic device.
[0010] In some implementations, the method further includes: corresponding to determining that the first application is in an uninstalled state, installing the first application.
[0011] When the electronic device detects that the first application is uninstalled, the first application may be reinstalled to prevent the electronic device from completely losing the function of the first application.
[0012] For example, when an electronic device detects that a security manager application with an anti-burn-in function has been uninstalled, the security manager application can be reinstalled to prevent the electronic device from completely losing the anti-burn-in function.
[0013] In some embodiments, the first application is used to adjust display parameters of the electronic device, and the method further includes: corresponding to determining that the first application is not installed, controlling the electronic device to enter a screen-off state, or lowering the screen brightness of the electronic device.
[0014] The first application may be a security manager application. The security manager application has an anti-burn-in function, which can adjust the display mode of the electronic device, such as pixel shifting, pixel repairing, idle protection, screen off time adjustment, dark mode adjustment, brightness adjustment, hiding the taskbar, etc.
[0015] Taking an electronic device using an OLED screen as an example, when the security manager application of the electronic device is uninstalled, the risk of screen burn-in of the electronic device is high. At this time, controlling the electronic device to enter a screen-off state or lowering the screen brightness of the electronic device can reduce the risk of screen burn-in of the electronic device.
[0016] In some embodiments, querying the installation status information of the first application from the memory of the first device includes: powering on the first chip of the electronic device; the first chip running a first firmware program; and the first firmware program querying the installation status information of the first application from the memory of the first device.
[0017] The first chip may be a system on chip (SOC) chip. The first firmware program may be a basic input output system (BIOS), an extensible firmware interface (EFI), or a unified extensible firmware interface (UEFI).
[0018] For example, each time the electronic device is turned on or awakened, the SOC chip of the electronic device is powered on. After the SOC chip is powered on, the BIOS is started, and the BIOS queries the status information of the security manager application from the RAM of the EC. In other words, each time the electronic device is turned on or awakened, the installation status information of the security manager application is queried.
[0019] In some embodiments, the first firmware program queries the installation status information of the first application from the memory of the first device, including: the first firmware program sends a first instruction to the second firmware program of the first device through a first channel between the first chip and the first device, and the first instruction is used to instruct to query the installation status information of the first application; the second firmware program queries the installation status information of the first application from the memory of the first device, and returns the installation status information to the first firmware program.
[0020] Among them, the first channel can be an enhanced serial peripheral interface (eSPI) channel, and the second firmware program can be a basic control program stored in a read-only memory (ROM) of the first device, and the basic control program is used to perform tasks such as CPU timing management, battery management, thermal management, keyboard management, and advanced configuration power interface (ACPI) management, for example, specifically performing tasks such as battery charging and discharging, keyboard scanning, opening and closing cover detection, fan control, indicator light control, and core data reporting to the operating system. The first instruction can be the eSPI command mentioned in this application.
[0021] Exemplarily, the BIOS can send an eSPI command to the basic control program of the EC through the eSPI channel between the SOC and the EC to instruct the basic control program of the EC to query the installation status information of the security manager application from the RAM of the EC and return the installation status information to the BIOS, so that the installation status information of the security manager can be queried.
[0022] In some embodiments, the electronic device also includes a second application; querying the installation status information of the first application from the memory of the first device also includes: the second application calls the first interface of the first firmware program, and sends a first instruction to the second firmware program of the first device through the first channel; the second firmware program queries the installation status information of the first application from the memory of the first device, and returns the installation status information to the first firmware program.
[0023] The second application may be a software installation application. The first interface may be a Windows management instrumentation (WMI) interface.
[0024] Exemplarily, the software installation application can call the WMI interface provided by the BIOS and send an eSPI command to the basic control program of the EC through the eSPI channel to instruct the basic control program of the EC to query the status information of the security manager application from the RAM of the EC and return the status information to the software installation application, so that the installation status information of the security manager application can be queried.
[0025] In some implementations, the installation status information is used to indicate whether the first application is in an installed state or in an uninstalled state.
[0026] For example, when the installation status information is the in-place flag 0x1, it indicates that the first application is in the installed state. When the installation status information is the in-place flag 0x0, it indicates that the first application is in the not installed state.
[0027] In some implementations, the method further includes: detecting that the electronic device installs the first application for the first time, and storing installation status information indicating that the first application is in an installed state in a memory of the first device.
[0028] For example, when the security manager application is installed for the first time, information indicating that the security manager application is in the installation state can be stored in the RAM of the EC. Since the EC is a device in the electronic device that does not need to be powered off, the data stored in it will not be lost due to power off, and the installation state information of the security manager application can be effectively stored, thereby improving the reliability of data storage.
[0029] In some embodiments, storing the installation status information in the memory of the first device includes: starting a first application; the first application calls a first interface of a first firmware program and sends the installation status information to a second firmware program of the first device through a first channel; and the second firmware program writes the installation status information into the memory of the first device.
[0030] Exemplarily, the security manager application is started, the installation manager application calls the WMI interface of the BIOS, and sends the installation status information indicating that the security manager application is in the installation state to the basic control program of the EC through the eSPI channel, such as the bit flag 0x1. Then the basic control program of the EC writes the bit flag 0x1 into the RAM of the EC. Thus, the installation status information of the security manager application can be stored in the RAM of the EC.
[0031] In some implementations, the method further includes: detecting that the electronic device uninstalls the first application, or that the electronic device uninstalls the first application and then reinstalls the first application, and updating the installation status information.
[0032] Exemplarily, when the electronic device uninstalls the security manager application, the current installation status information of the security manager application can be updated, such as updating the in-place flag 0x1 to the in-place flag 0x0. When the electronic device uninstalls the security manager application and then reinstalls the security manager application, the current installation status information of the security manager application can be updated, such as updating the in-place flag 0x0 to the in-place flag 0x1.
[0033] In some embodiments, the first device includes an embedded controller EC.
[0034] In a second aspect, an embodiment of the present application provides an electronic device, comprising: a memory for storing instructions executed by one or more processors of the electronic device; a processor, when the processor executes the instructions in the memory, the electronic device can execute the method described in any embodiment of the first aspect of the present application. The beneficial effects that can be achieved in the second aspect can refer to the beneficial effects of the method provided in any embodiment of the first aspect, and will not be repeated here.
[0035] In a third aspect, the present application provides a computer-readable storage medium on which instructions are stored, and when the instructions are executed on a computer, the computer can execute the method described in any embodiment of the first aspect. The beneficial effects that can be achieved in the third aspect can refer to the beneficial effects of the method provided in any embodiment of the first aspect, and will not be repeated here.
[0036] In a fourth aspect, an embodiment of the present application provides a computer program product, including a computer program / instruction, which, when executed, causes a computer to execute the method described in any embodiment of the first aspect. The beneficial effects that can be achieved in the fourth aspect can refer to the beneficial effects of the method provided in any embodiment of the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Figure 1 An exemplary application scenario of the present application is shown;
[0038] Figure 2 An example diagram of the internal structure interaction of an electronic device provided in an embodiment of the present application;
[0039] Figure 3 An example flow chart of a method for detecting the state of an application provided in an embodiment of the present application;
[0040] Figure 4 An example diagram of a prompt interface provided in an embodiment of the present application;
[0041] Figure 5 A flowchart of another method for detecting the state of an application provided in an embodiment of the present application;
[0042] Figure 6 An example diagram of a process for writing installation status information to an application provided in an embodiment of the present application;
[0043] Figure 7 An example diagram of a process for an application to read installation status information provided in an embodiment of the present application;
[0044] Figure 8 An example diagram of a process for BIOS to read installation status information provided in an embodiment of the present application;
[0045] Fig. 9A table showing an example format of a data packet provided in an embodiment of the present application;
[0046] Fig.10 A schematic diagram showing the principle of a method for detecting the state of an application program provided in an embodiment of the present application;
[0047] Fig.11 An example diagram of the process of starting an electronic device provided in an embodiment of the present application;
[0048] Fig.12 A block diagram of an electronic device provided by an embodiment of the present application is shown. DETAILED DESCRIPTION
[0049] The embodiment of the present application is used to provide a method for detecting the status of an application program. The method provided by the present application can determine whether an installed application program has been uninstalled and avoid abnormal judgment.
[0050] Figure 1 An exemplary application scenario of the present application is shown. Figure 1 The electronic device 100 includes a display screen 10 and a security manager application 20. The display screen 10 is an organic light-emitting diode (OLED) screen. Since each pixel unit of the OLED screen emits light independently, when the light emission time of a certain pixel unit is long and the brightness is high, the organic material of the pixel unit is prone to aging or even burning, causing the display screen 10 to be abnormal. For example, when the display screen 10 is driven by the same current or voltage, its brightness gradually decreases, which is manifested as overall color cast, dimness or local image retention.
[0051] The security manager application 20 has an anti-burn-in function, which can adjust the display mode of the OLED screen, such as controlling the light-emitting duration of each pixel unit of the display screen 10 to not exceed the set time (for example, 2 minutes), etc., to avoid a single pixel unit emitting light for a long time at a high brightness, thereby reducing the risk of burn-in of the OLED screen.
[0052] The electronic device 100 of the present application may also be a laptop computer, a desktop all-in-one computer, a mobile phone, a tablet, a large-screen device, a wearable device (e.g., a watch, smart glasses, a helmet), a desktop computer, an augmented reality (AR) / virtual reality (VR) device, and other electronic devices, without any limitation. The following description will take a laptop computer as an example of the electronic device 100.
[0053] The security manager application 20 is usually installed in the electronic device 100 before the electronic device 100 leaves the factory. In addition, after the electronic device 100 is turned on, the security manager application 20 can start automatically and turn on the anti-burn-in function after starting to reduce the risk of burn-in of the display screen 10.
[0054] In some embodiments, permissions can be set for the security manager application 20 so that the user cannot exit the security manager application 20, or, after the user exits the security manager application 20, the security manager application 20 can be automatically restarted to ensure that the security manager application 20 is in a running state, thereby ensuring the normal execution of the anti-burn-in function.
[0055] However, when the user uninstalls the security manager application 20, the anti-burn-in function of the security manager application 20 will be completely invalid, resulting in a high risk of screen burn-in of the display screen 10 of the electronic device 100. Therefore, it is necessary to determine whether the security manager application 20 has been uninstalled, so as to take some corresponding protection measures after uninstallation, such as automatically reinstalling the security manager application 20, prompting the user of the risk of uninstallation, reducing the screen brightness, etc., so as to reduce the risk of screen burn-in of the display screen 10.
[0056] In some embodiments, the electronic device 100 can determine whether the security manager application 20 is uninstalled by querying the installation information of the security manager application 20. The installation information may include installation status information, timestamps, logs and other information. When the security manager application 20 is uninstalled, the installation status information of the security manager application 20 will be deleted or modified. Therefore, the installation status information of the security manager application 20 can reflect the current state of the security manager application 20, and it can be determined whether the security manager application 20 is uninstalled based on the installation status information of the security manager application 20.
[0057] For example, after the security manager application 20 is installed, the installation status information of the security manager application 20 can be set to the in-place flag 0x1, indicating that the security manager application 20 is in the installed state. When the security manager application 20 is uninstalled, the installation status information of the security manager application 20 can be set to the in-place flag 0x0, indicating that the security manager application 20 is not installed. In this way, when the electronic device 100 queries that the in-place flag of the security manager application 20 is 0x1, it can be determined that the security manager application 20 has not been uninstalled, and when the electronic device 100 queries that the in-place flag of the security manager application 20 is 0x0, it can be determined that the security manager application 20 has been uninstalled.
[0058] In some embodiments, the installation information of the security manager application 20 can be stored in the system storage space such as the RAM, disk (for example, a solid state disk (SSD) and a mechanical hard disk drive (HDD)) or flash memory of the electronic device 100. Each time the electronic device 100 is turned on or awakened, the SOC of the electronic device 100 is powered on and the BIOS on the SOC is started. After the BIOS is started, the installation information of the security manager application 20 is queried from these storage spaces, and the security manager application 20 is judged whether it is uninstalled according to the installation status information in the installation information. However, in some cases, the installation status information of the security manager application 20 in these system storage spaces may be lost. If the installation status information of the security manager application 20 is lost, the electronic device 100 can no longer judge whether the security manager application 20 is uninstalled based on the installation status information, resulting in an abnormality in the electronic device 100's judgment of the installation status of the application.
[0059] The following describes situations in which installation status information may be lost.
[0060] Case 1: The installation status information of the security manager application 20 is stored in the RAM of the electronic device 100 .
[0061] In this case, the electronic device 100 can query the installation status information of the security manager application 20 in the RAM, and determine whether the security manager application 20 has been uninstalled based on the query result. However, when the electronic device 100 is powered off, such as shutting down, hibernating, sleeping, etc., the RAM of the electronic device 100 will also be powered off, and the data stored in the RAM will be lost when the RAM is powered off, resulting in the loss of the installation status information of the security manager application 20. In this way, when the electronic device 100 is powered on again, the installation status information of the security manager application 20 cannot be queried, and an abnormal judgment will occur.
[0062] Case 2: The installation status information of the security manager application 20 is stored in the disk of the electronic device 100 .
[0063] In this case, the electronic device 100 can query the installation status information of the security manager application 20 in the disk, and determine whether the security manager application 20 is uninstalled based on the query result. However, when the disk is replaced or the image system in the disk is re-flashed, the installation status information of the security manager application 20 will be lost. In this way, the electronic device 100 will have an abnormal judgment because the installation status information of the security manager application 20 cannot be queried. The operating system (OS) of the electronic device 100 can be Windows TM 、MacOS TM There is no limitation on this system.
[0064] Case 3: The installation status information of the security manager application 20 is stored in the Flash of the electronic device 100 .
[0065] In this case, the electronic device 100 can query the installation status information of the security manager application 20 in Flash, and determine whether the security manager application 20 has been uninstalled based on the query result. However, Flash has a limited number of flash writes and is easily damaged. When Flash is damaged due to factors such as too many flash writes, the installation status information of the security manager application 20 will be lost. In this way, the electronic device 100 will have an abnormal judgment because the installation status information of the security manager application 20 cannot be queried.
[0066] In order to solve the above technical problems, an embodiment of the present application provides a method for detecting the status of an application. In the method of this embodiment, the installation status information of the application is no longer stored in the RAM, disk or Flash of the electronic device, but the installation status information of the application is stored in the memory of a device in the electronic device that can always remain in a powered-on state. For example, the device can be an EC. Since the selected device is a device that is always in a powered-on state (i.e., not powered off) in the electronic device, the memory in the device will not be powered off, and the installation status information stored in the memory will not be lost due to power off, thereby avoiding abnormal detection (judgment) of the installation status of the application.
[0067] For example, reference Figure 2 , the electronic device includes EC, SOC, OS, application, RAM, disk (SSD / HDD) and Flash. SOC includes BIOS. The application can store the installation status information in the RAM, SSD, HDD or Flash of the electronic device. However, when the installation status information of the application is stored in the RAM of the electronic device, in the case of the above situation one, that is, when the RAM of the electronic device is powered off, the installation status information of the application will be lost. When the installation status information of the application is stored in the SSD or HHD, in the case of the above situation two, that is, when the SSD or HHD is replaced or the mirror system in the SSD or HHD is flushed, the installation status information of the application will be lost. When the installation status information of the application is stored in Fash, in the case of the above situation three, that is, when the Flash is damaged due to factors such as too many flushing times, the installation information of the application will be lost. In order to avoid the loss of the installation status information of the application, in some embodiments, the installation status information of the application can be stored in the RAM of the EC.
[0068] EC is a device in the microcontroller unit (MCU) of an electronic device. It is independently powered by the battery of the electronic device and is always powered on. Even if the electronic device is turned off, dormant, sleeping, etc., that is, the CPU of the electronic device is not working, the EC still remains powered on, so the data stored in the RAM of the EC will not be lost due to power failure. EC includes ROM and RAM. The ROM of EC is used to store basic control programs (a firmware program). The basic control program is used to perform tasks such as CPU timing management, battery management, thermal management, keyboard management, ACPI management, etc. For example, it specifically performs tasks such as battery charging and discharging, keyboard scanning, lid opening and closing detection, fan control, indicator light control, and core data reporting to the operating system.
[0069] It is understandable that EC is at the low-level hardware level, while applications run at the OS level of electronic devices. In order to prevent applications from interfering with EC operations, there is usually isolation between EC and applications, and they cannot communicate directly, so applications cannot directly send installation status information to EC for storage.
[0070] In the above Figure 2 In the example of , BIOS can provide the application with the communication capability between the EC. The application can call the communication capability provided by BIOS and send the installation status information (such as the bit flag 0x1) indicating that the application is in the installation state to the EC for storage. Figure 2 As shown, the EC and the SOC running the BIOS can be connected through eSPI. The application can call the WMI interface provided by the BIOS, and send the data packet packaged with the installation status information to the EC through the eSPI channel, and the EC stores the installation status information in the data packet in its own RAM. Among them, the BIOS is a boot program that boots the OS of the electronic device. Every time the electronic device is turned on or awakened, the BIOS will be started first, and then the BIOS will boot the OS of the electronic device. After the OS starts, the BIOS will stop running, and the electronic device will be taken over by the OS. At this time, although the BIOS stops running, the application can still send the installation status information to the EC for storage by calling the communication capability provided by the BIOS.
[0071] In addition, when an application is uninstalled, the OS of the electronic device can call the communication capability provided by the BIOS to send the installation status information indicating that the application is in an uninstalled state (for example, the in-place flag 0x0) to the EC, and the EC updates the installation status information stored in its own RAM, for example, updating the currently stored in-place flag 0x1 to the in-place flag 0x0.
[0072] It can be understood that since the EC is not powered off, the installation status information stored in the RAM of the EC will not be lost due to power off, and the installation status information of the application can be effectively stored, thereby improving the reliability of data storage.
[0073] The technical solution of the present application can store the installation status information of the application in the EC of the electronic device, and can also store the installation status information of the application in other non-powered devices similar to the EC, without limitation.
[0074] After the installation status information of the application is stored, the installation status information of the application can be queried, and based on the installation status information of the application, the current status of the application can be detected. The following describes the status detection process of the application.
[0075] Figure 3 An example flow chart of a state detection method for an application provided in an embodiment of the present application. The state detection method of the application is applied to an electronic device. The electronic device includes a SOC and an EC. The SOC includes a BIOS. The present application does not limit the specific form of the electronic device, and the electronic device may be a laptop, an all-in-one desktop, a mobile phone, a tablet, a large-screen device, a desktop computer, an AR / VR device, etc.
[0076] like Figure 3 As shown, the state detection method of the application includes the following steps:
[0077] S101, BIOS starts.
[0078] When the electronic device is powered on from a shutdown state, or awakened from a sleep state or a hibernation state, the SOC of the electronic device is powered on and the BIOS is started.
[0079] S102, BIOS sends a query request to EC.
[0080] After the BIOS is started, it can send a query request to the EC.
[0081] S103, the EC queries installation status information.
[0082] After receiving the query request sent by BIOS, EC queries the installation status information stored in its own RAM.
[0083] In some embodiments, the installation status information may be an in-place flag, for example, 0x1 or 0x0. 0x1 indicates that the first application is in an installed state, and 0x0 indicates that the first application is in an uninstalled state. The in-place flag in this embodiment is only used as an exemplary description and is not intended to limit the present application. The in-place flag may also be a logical value, for example, true or false.
[0084] S104, the EC returns the query result to the BIOS of the SOC.
[0085] After the EC obtains the installation status information, it returns the query result to the BIOS.
[0086] S105, BIOS determines whether the first application is uninstalled. If not, execute step S106. If yes, execute step S107.
[0087] In one embodiment, the electronic device may be pre-installed with the first application before leaving the factory, so that the electronic device has the function of the first application.
[0088] For example, Figure 1 As shown, the electronic device 100 can be pre-installed with the security manager application 20 before leaving the factory, so that the electronic device 100 has anti-burn-in functions, such as pixel movement, pixel repair, idle protection, screen off time adjustment, dark mode adjustment, brightness adjustment, hiding the taskbar and other functions.
[0089] After receiving the query result returned by the EC, the BIOS can determine whether the first application is uninstalled based on the query result. For example, if the query result shows that the in-position flag is 0x1, it is determined that the first application is not uninstalled, and if the query result shows that the in-position flag is 0x0, it is determined that the first application is uninstalled.
[0090] In the embodiment of the present application, the first application may also be a map application, an album application, a clock application, a sports and health application, etc., without limitation.
[0091] S106, BIOS starts the OS.
[0092] When the BIOS determines that the first application is not uninstalled, the OS of the electronic device may be guided to start.
[0093] S107, BIOS displays risk warning information.
[0094] When the BIOS determines that the first application is uninstalled, the display screen of the electronic device can be controlled to display risk warning information.
[0095] For example, Figure 4 As shown, after the BIOS of the electronic device 100 determines that the security manager application 20 has been uninstalled, a window 11 may pop up on the BIOS interface of the display screen 10. The window 11 includes risk warning information, such as "It is detected that the security manager application has been uninstalled, and the risk of computer screen burn-in is high. Please install the security manager before use", to remind the user to re-download and install the security manager application to avoid screen burn-in of the electronic device 100.
[0096] In the embodiment of the present application, the installation status information of the application can be stored in the RAM of the EC, rather than in the system RAM, disk or flash. Since the EC is always powered on, the RAM of the EC will not lose data due to power failure. Thus, abnormal judgment of the electronic device can be avoided.
[0097] Figure 5 A flowchart of another method for detecting the state of an application provided in an embodiment of the present application. The method for detecting the state of the application is applied to an electronic device. The electronic device includes a SOC, an EC, and a second application. The SOC includes a BIOS. The present application does not limit the specific form of the electronic device, and the electronic device may be a laptop, an all-in-one desktop, a mobile phone, a tablet, a large-screen device, a desktop computer, an AR / VR device, etc.
[0098] refer to Figure 5 , the state detection method of the application includes the following steps:
[0099] S201, BIOS starts.
[0100] S202, BIOS sends a query request to EC.
[0101] S203, the EC queries installation status information.
[0102] S204, the EC returns the query result to the BIOS of the SOC.
[0103] S205, BIOS determines whether the first application is uninstalled. If not, execute step S206; if yes, execute step S207.
[0104] S206, BIOS starts the OS.
[0105] Steps S201 to S206 are substantially the same as the above-mentioned steps S101 to S106 and will not be described in detail here.
[0106] S207: The BIOS of the SOC notifies the second application that the first application is uninstalled.
[0107] The second application may have the function of automatically downloading and installing applications, for example, a software installation application.
[0108] For example, after the BIOS of the electronic device 100 determines that the security manager application 20 has been uninstalled, it can notify the software installation application that the security manager application 20 has been uninstalled.
[0109] S208, the second application downloads and installs the first application.
[0110] After receiving the notification that the first application is uninstalled, the second application may automatically download and install the second application.
[0111] For example, after receiving the notification sent by the BIOS of the electronic device 100 , the software installation application can download and install the security manager application 20 .
[0112] In the embodiment of the present application, after the first application is uninstalled, the second application of the electronic device can re-download and install the first application to avoid abnormalities in the electronic device after the first application is uninstalled.
[0113] In other embodiments, when the BIOS of the electronic device determines that the first application has been uninstalled, other protection measures can also be taken, such as controlling the electronic device to turn off the screen or shut down, lowering the screen brightness of the electronic device (for example, locking the screen brightness of the electronic device to the lowest brightness), etc.
[0114] Figure 6 This is an example diagram of an application program writing installation status information provided by an embodiment of the present application. Figure 6 As shown, when the electronic device installs the application and starts the application, the application can call the WMI interface provided by the BIOS, and call the WMI_Write program (a writing program provided by the BIOS) to package the installation status information (such as the in-bit flag 0x1) indicating that it is in the installation state into a data packet. The SOC where the BIOS is located and the EC can communicate through the eSPI channel. After the WMI_Write program packages the installation status information into a data packet, the data packet can be sent to the EC through the eSPI channel, and the eSPI command is sent to the basic control program of the EC to instruct the basic control program of the EC to write the installation status information in the data packet into the RAM of the EC. After the basic control program of the EC receives the eSPI command, the installation status information in the data packet can be written into the RAM of the EC. After the basic control program of the EC writes the installation status information into the RAM of the EC, the command execution result of the eSPI command (such as the result of a successful write or the result of a failed write) can be returned to the WMI_Write program, and the WMI_Write program returns the command execution result as a Write result to the application. In this way, the application can write the installation status information into the RAM of the EC for storage.
[0115] Figure 7 This is an example diagram of an application reading installation status information provided by an embodiment of the present application. Figure 7As shown, when the application of the electronic device is started, the application can call the WMI interface provided by the BIOS, and call the WMI_Read program (a reading program provided by the BIOS) to send an eSPI command to the basic control program of the EC through the eSPI channel to instruct the basic control program of the EC to read the installation status information of the application from the RAM of the EC. After the basic control program of the ECEC receives the eSPI command, it responds to the eSPI command and reads the installation status information of the application from the RAM of the EC (for example, in the bit flag 0x1 or 0x1). After the basic control program of the EC reads the installation status information, it can package the read installation status information into a data packet, and then return the data packet to the WMI_Read program as the command execution result of the eSPI command, and the WMI_Read program returns the command execution result of the eSPI command to the application as a Read result. In this way, the application can read the installation status information stored in the RAM of the EC.
[0116] It should be noted that the application can read its own installation status information from the EC, and can also read the installation status information of other applications from the EC, and there is no limitation to this.
[0117] Figure 8 This is an example diagram of BIOS reading installation status information provided by the embodiment of the present application. Figure 8 As shown, when the electronic device is turned on or awakened, the SOC of the electronic device is powered on and starts the BIOS. After the BIOS is started, an eSPI command can be sent to the basic control program of the EC through the eSPI channel to instruct the basic control program of the EC to read the installation status information of the application from the RAM of the EC. After the basic control program of the EC receives the eSPI command, it responds to the eSPI command and reads the installation status information of the application from the RAM of the EC (for example, in bit flag 0x1 or 0x1). After reading the installation status information, the basic control program of the EC can package the read installation status information into a data packet, and then return the data packet to the BIOS as the command execution result of the eSPI command. In this way, the BIOS can read the installation status information stored in the RAM of the EC.
[0118] Fig. 9 The format example table of the data packet provided in the embodiment of the present application. Figure 7 and Figure 8 In the example, when packaging the application's installation status information, you can follow the steps below: Fig. 9 The format of the data packet is described below.
[0119] like Fig. 9As shown, when the command prompt (command, CMD) is 0x1, it means that the BIOS side receives the data packet, that is, the application BIOS reads the installation status information. When CMD is 0x2, it means that the EC side returns the data packet, that is, the application writes the installation status information. In the case where the application BIOS reads the installation status information, the data packet sent by the BIOS side may include Data0, Data1, Data2, Data3~N, etc. Data0 is the function number. When Data0 is 0x1, it indicates the transmission in-place flag, and when Data0 is 0x2, it indicates the transmission timestamp. Data1 may include an in-place flag, for example, 0x1 or 0x0, and its data length is 1 byte. Among them, 0x1 means in-place, that is, the application is in the installed state. 0x0 means not in-place, that is, the application is not installed. Data1 may also include the low bit of the timestamp, and its data length is 2 bytes. The low bit of the timestamp refers to a smaller time unit, such as day, hour, minute, second, etc. Data2 may include the high bit of the timestamp, and its data length is 2 bytes. The high digit of the timestamp refers to a larger time unit, such as year, month, etc.
[0120] In the case where the application writes the installation status information, the data packet returned by the EC end may include data with a data length of 3 bytes and a data length of 4 bytes. The data with a data length of 3 bytes may specifically include the write status status of the installation status information (whose data length is 1 byte), set the data length length (whose data length is 1 byte) and the data Data corresponding to the in-place flag (whose data length is 1 byte). The write status status of the installation status information may be a value of 0x1 (indicating that the installation status information is written successfully) or 0x0 (the installation status information is not written successfully). Since the data length of the in-place flag is 1, the set data length length may be equal to 1. The data Data corresponding to the in-place flag may be 0x1 (indicating in-place) or 0x0 (indicating not in-place). The data with a data length of 3 bytes may specifically include the write status status of the installation status information (whose data length is 1 byte), the data length length of the timestamp (whose data length is 1 byte) and the data Data corresponding to the timestamp (whose data length is 2 bytes). Since the data length of the timestamp is 2, the set data length length may be equal to 2.
[0121] It can be understood that EC has the function of reporting the software (application) in-place flag, that is, the function of returning the in-place flag. In addition, EC can also have the functions of setting parameters (such as setting the in-place flag, etc.), executing actions (such as reading and writing data, etc.), etc.
[0122] Fig.10A schematic diagram of the principles of application presence detection and reminder provided in an embodiment of the present application.
[0123] like Fig.10 As shown, after the application on the electronic device is started, the in-place flag of the application can be set, for example, the in-place flag of the application is set to 0x1 and written to the RAM of the EC. When the user uninstalls the application, the in-place flag 0x1 of the application is reset to 0x0, and the in-place flag 0x0 is written to the RAM of the EC. The states of the electronic device include S5: shutdown state, S4: dormant state and S3: sleep state, S0: power-on state, S1: wake-up state. When the electronic device enters S0: power-on state from S5: shutdown state, or enters S1: wake-up state from S4: dormant state or S3: sleep state, the BIOS starts. After the BIOS starts, the in-place flag is read from the RAM of the EC, and it is determined whether the application is in place according to the in-place flag. If so, the BIOS starts the OS, and the electronic device starts normally or is awakened. If not, a risk warning message is displayed to prompt the user to reinstall the application, and after the user reinstalls the application, the OS is started. In the case where the application is uninstalled, when the user reinstalls the application, the application will reset the bit flag after startup, for example, changing the bit flag 0x0 to 0x1, indicating that the application is in place and the electronic device can be used normally.
[0124] In the above embodiment, the SOC includes BIOS, which starts the OS of the electronic device and queries the installation status information stored in the EC. In other embodiments, the BIOS may be replaced with EFI or UEFI, which starts the OS of the electronic device and queries the installation status information stored in the EC.
[0125] In other embodiments, the SOC may also be other devices for storing firmware programs, such as a flash memory chip, etc., which is not limited to this.
[0126] The following uses UEFI as an example to introduce the OS startup process of an electronic device.
[0127] Fig.11 This is an example diagram of the startup process of the OS of the electronic device provided in the embodiment of the present application. Fig.11As shown, the startup process of the electronic device includes a ROM stage, a RAM stage, a stage of searching for a startup medium, and an OS takeover stage. UEFI is stored in the ROM of the SOC. When the user turns on the power of the electronic device, the SOC of the electronic device is powered on and the UEFI stored in the ROM of the SOC is started. After UEFI is started, it is initialized. After UEFI initialization is completed, it enters the RAM stage and loads the boot program in the RAM. After the boot program is started, it enters the stage of searching for a startup medium. In the stage of searching for a startup medium, the boot program searches for a storage device storing the OS, such as an SSD, HDD, etc. After the boot program finds the storage device storing the OS, it guides the OS in the storage device to start. After the OS is started, the OS takes over the electronic device and starts the application in the electronic device. In this application, after the UEFI initialization is completed in the ROM stage, the installation status information of the application stored in the EC can be read to determine whether the corresponding application is uninstalled based on the installation status information. If so, certain protection measures are taken, such as displaying risk warning information, re-downloading the application, shutting down, locking the screen brightness, turning off the screen, etc. If not, then load the boot program and start the OS of the electronic device through the boot program, that is, execute the normal startup process.
[0128] It should be noted that the boot process of the OS of an electronic device booted by BIOS and EFI is substantially the same as the boot process of the OS of an electronic device booted by UEFI, and will not be repeated here.
[0129] Fig.12 1 shows a schematic diagram of the structure of the electronic device 100. The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0130] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown in the figure, or combine some components, or separate some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0131] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, and a SIM interface.
[0132] In an embodiment of the present application, the processor 110 can be used to execute the state detection method of the application of the present application. The processor mentioned in the present application may be the SOC mentioned in the present application. Each time the processor of the electronic device is powered on, the BIOS can be started, and the installation status information of the application (for example, the security manager application) stored in the EC can be read through the BIOS, and then the installation status information can be used to determine whether the application is uninstalled. If so, a risk warning message is displayed, or the application is reinstalled, etc. If not, the OS of the electronic device is started normally.
[0133] The charging management module 140 is used to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 may receive charging input from a wired charger through the USB interface 130. In some wireless charging embodiments, the charging management module 140 may receive wireless charging input through a wireless charging coil of the electronic device 100. While the charging management module 140 is charging the battery 142, it may also power the electronic device through the power management module 141.
[0134] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and supplies power to the processor 110, the internal memory 121, the display screen 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc. In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.
[0135] The internal memory 121 mentioned in this application may be the ROM or RAM of the EC mentioned in this application, or may be the RAM, SSD, HDD or Flash of the electronic device 100. When the internal memory 121 is the RAM of the EC, the installation status information of the application may be stored, and then the processor 110 of the electronic device 100 may read the installation status information of the application from the internal memory 121, and determine the current installation status of the application according to the installation status information.
[0136] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0137] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the electronic device 100. The mobile communication module 150 can receive electromagnetic waves through the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0138] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0139] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, so that electronic device 100 can communicate with the network and other devices through wireless communication technology.
[0140] The electronic device 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
[0141] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. In some embodiments, the electronic device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
[0142] The electronic device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.
[0143] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function, such as storing music, video and other files in the external memory card.
[0144] The internal memory 121 can be used to store computer executable program codes, which include instructions. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as an image playback function, etc.), etc. The data storage area may store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, etc. The processor 110 executes various functional applications and data processing of the electronic device 100 by running instructions stored in the internal memory 121 and / or instructions stored in a memory provided in the processor.
[0145] The electronic device 100 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
[0146] The various embodiments disclosed in the present application may be implemented in hardware, software, firmware, or a combination of these implementation methods. The embodiments of the present application may be implemented as a computer program or program code executed on a programmable system, the programmable system including at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.
[0147] Program code can be applied to input instructions to perform the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, a processing system includes any system having a processor such as, for example, a digital signal processor, a microcontroller, an application specific integrated circuit, or a microprocessor.
[0148] Program code can be implemented with high-level programming language or object-oriented programming language to communicate with the processing system. When necessary, program code can also be implemented with assembly language or machine language. In fact, the mechanism described in this application is not limited to the scope of any specific programming language. In either case, the language can be a compiled language or an interpreted language.
[0149] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, instructions may be distributed over a network or by other computer-readable media. Therefore, a machine-readable medium may include any mechanism for storing or transmitting information in a machine (e.g., computer) readable form, including but not limited to, a floppy disk, an optical disk, an optical disk, a read-only memory, a magneto-optical disk, a read-only memory, a random access memory, an erasable programmable read-only memory, an electrically erasable programmable read-only memory, a magnetic card or an optical card, a flash memory, or a tangible machine-readable memory for transmitting information (e.g., carrier wave, infrared signal digital signal, etc.) using the Internet in an electrical, optical, acoustic or other form of propagation signal. Therefore, a machine-readable medium includes any type of machine-readable medium suitable for storing or transmitting electronic instructions or information in a machine (e.g., computer) readable form.
[0150] In the accompanying drawings, some structural or method features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be required. Instead, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. In addition, the inclusion of structural or method features in a particular figure does not mean that such features are required in all embodiments, and in some embodiments, these features may not be included or may be combined with other features.
[0151] It should be noted that the units / modules mentioned in the various device embodiments of the present application are all logical units / modules. Physically, a logical unit / module can be a physical unit / module, or a part of a physical unit / module, or can be implemented as a combination of multiple physical units / modules. The physical implementation method of these logical units / modules themselves is not the most important. The combination of functions implemented by these logical units / modules is the key to solving the technical problems proposed by the present application. In addition, in order to highlight the innovative part of the present application, the above-mentioned device embodiments of the present application do not introduce units / modules that are not closely related to solving the technical problems proposed by the present application, which does not mean that there are no other units / modules in the above-mentioned device embodiments.
[0152] It should be noted that in the examples and description of this patent, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "including one" do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0153] Although the present application has been illustrated and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the present application.
Claims
1. A method for detecting the state of an application program, used in an electronic device, characterized in that: The electronic device comprises a first device, the first device remains powered on when a central processor of the electronic device is in a non-operating state; and The method comprises: querying installation status information of a first application from a memory of the first device; Based on the installation status information, determine whether the first application is in an installed state.
2. The method according to claim 1, characterized in that The method further comprises: Corresponding to determining that the first application is not installed, risk warning information indicating that the user has not installed the first application is displayed.
3. The method according to claim 2, characterized in that The method further comprises: Corresponding to determining that the first application is in an uninstalled state, the first application is installed.
4. The method according to any one of claims 1 to 3, characterized in that The first application is used to adjust the display parameters of the electronic device, and The method further comprises: Corresponding to determining that the first application is not installed, the electronic device is controlled to enter a screen-off state, or the screen brightness of the electronic device is lowered.
5. The method according to claim 1, characterized in that The querying the installation status information of the first application from the memory of the first device includes: Powering on the first chip of the electronic device; The first chip runs a first firmware program; The first firmware program queries the memory of the first device for installation status information of the first application.
6. The method according to claim 5, characterized in that The first firmware program queries the installation status information of the first application from the memory of the first device, including: The first firmware program sends a first instruction to the second firmware program of the first device through a first channel between the first chip and the first device, where the first instruction is used to instruct to query the installation status information of the first application; The second firmware program queries the installation status information of the first application from the memory of the first device, and returns the installation status information to the first firmware program.
7. The method according to claim 6, characterized in that The electronic device further includes a second application; and querying the installation status information of the first application from the memory of the first device further includes: The second application calls the first interface of the first firmware program and sends the first instruction to the second firmware program of the first device through the first channel; The second firmware program queries the installation status information of the first application from the memory of the first device, and returns the installation status information to the first firmware program.
8. The method according to claim 5, characterized in that The first firmware program includes at least one of the following: Basic Input Output System BIOS, Extensible Firmware Interface EFI, Unified Extensible Firmware Interface UEFI.
9. The method according to claim 1, characterized in that: The installation status information is used to indicate whether the first application is in an installed state or in an uninstalled state.
10. The method according to claim 9, characterized in that The method further comprises: It is detected that the electronic device installs the first application for the first time, and installation status information indicating that the first application is in an installation state is stored in the memory of the first device.
11. The method according to claim 10, characterized in that The step of storing the installation status information indicating that the first application is in the installation state in the memory of the first device includes: Starting the first application; The first application calls a first interface of a first firmware program to send the installation status information to a second firmware program of the first device through a first channel; The second firmware program writes the installation status information into a memory of the first device.
12. The method according to claim 10, characterized in that The method further comprises: It is detected that the electronic device uninstalls the first application, or that the electronic device reinstalls the first application after uninstalling the first application, and the installation status information is updated.
13. The method according to claim 1, characterized in that The first device comprises an embedded controller EC.
14. An electronic device comprising: a memory for storing instructions executed by one or more processors of the electronic device; A processor, when the processor executes the instructions in the memory, can enable the electronic device to execute the state detection method of the application program according to any one of claims 1 to 13.
15. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions, which, when executed on a computer, enable the computer to execute the application status detection method according to any one of claims 1 to 13.