Control switch management method and mobile terminal
Technical Field
The present invention relates to an intelligent terminal technology, and in particular, to a control switch management method and a mobile terminal.
Background
At present, the response of the smart phone to a control switch has a certain time delay, such as wifi, Bluetooth, flight mode, wifi hot spot and other control switches. After a user clicks the control switch, the mobile phone cannot immediately respond to the bottom hardware state corresponding to the control switch, and the control switch is in a waiting response stage and is marked as a state; and after the bottom hardware state returns, modifying the state of the control switch according to the real bottom hardware state corresponding to the control switch, so that the operation has time delay and the user experience is poor.
Disclosure of Invention
In view of the above technical problems, the present invention provides a control switch management method and a mobile terminal, which are based on a scheme of a cache queue and adopt a control switch state verification mechanism, so that a control switch can immediately respond to avoid time delay, thereby improving user experience.
In order to achieve the object of the present invention, the present invention provides a control switch management method, including:
when the mobile terminal detects that a first control switch is clicked on a User Interface (UI) layer of the mobile terminal, directly displaying a first state of the first control switch clicked by a user on the UI layer, and storing the first state into a first cache queue;
sending the first state stored in the first cache queue to bottom hardware of the mobile terminal, so that the bottom hardware changes the state of the first control switch in the bottom hardware and returns to a second state when the state change is successful or fails;
receiving a second state of a first control switch returned by the bottom hardware, wherein the second state is the state of the first control switch in the bottom hardware;
judging whether the second state is consistent with the first state or not;
and when the states are inconsistent, updating the first state of the first control switch, which is directly displayed on the UI layer after the user clicks, to the second state.
Further, the first control switch includes one of: wireless fidelity wifi, bluetooth, flight mode, wifi focus.
Further, a first buffer queue is preset for the first control switch;
the state of the first cache queue comprises an empty state or a state, the empty state means that the record in the first cache queue is empty, and the existing state means that the record in the first cache queue is not empty; the active states include a true state representing a user operating state or a false state representing a mutually exclusive state between the control switches.
Further, before saving the first state to the first buffer queue, the method further includes:
determining whether to store the first state into a first cache queue according to a first judgment strategy;
the first judgment strategy comprises the following steps: when the number of times that a user clicks a first control switch on a User Interface (UI) layer of the mobile terminal within a certain interval is an even number, setting the state of the first cache queue to be an empty state;
or when the number of times that a user clicks the first control switch on the UI layer of the mobile terminal within a certain interval is odd, the first state is stored in the first cache queue, and the first cache queue is set to be in the existing state.
Further, when the state of the first control switch stored in the first buffer queue is sent to the bottom hardware of the mobile terminal, the method further includes:
and deleting the first state stored in the first cache queue, and setting the first cache queue to be in an empty state.
Further, after receiving the second state returned by the bottom layer hardware, before the determining whether the second state is consistent with the first state, the control switch management method further includes:
judging whether the first cache queue state is an empty state;
when the first cache queue state is an empty state, judging whether the second state is consistent with the first state;
when the first buffer queue state is a presence state, judging whether the first state stored in the first buffer queue is a true state or a false state:
when the first state is a true state, sending the first state stored in the first cache queue to bottom hardware of the mobile terminal, deleting the first state stored in the first cache queue, and setting the first cache queue to be an empty state;
and when the first state is a false state, judging whether the second state is consistent with the state displayed on the UI layer by the first control switch, deleting the first state stored in the first cache queue, and setting the first cache queue to be an empty state.
Further, the method further comprises:
and when the second state is consistent with the first state, no processing is performed.
Furthermore, each control switch corresponds to one buffer queue.
In order to achieve the aim of the invention, the invention also provides a mobile terminal which comprises a user interface UI layer, bottom hardware, a memory for storing a control switch management program and a processor; wherein the processor is configured to implement the control switch management method when executing the control switch management program.
In order to achieve the object of the present invention, the present invention also provides a computer-readable storage medium having a control switch management program stored thereon, wherein the control switch management program, when executed by a processor, implements the control switch management method described above.
The technical scheme of the invention provides a control switch management method and a mobile terminal, wherein the control switch management method comprises the following steps: when the mobile terminal detects that a user clicks a first control switch on a User Interface (UI) layer of the mobile terminal, directly displaying a first state of the first control switch clicked by the user on the UI layer, and storing the first state into a first cache queue; sending the first state stored in the first cache queue to bottom hardware of the mobile terminal, so that the bottom hardware changes the state of the first control switch in the bottom hardware and returns to a second state when the state change is successful or fails; receiving a second state of a first control switch returned by the bottom hardware, wherein the second state is the state of the first control switch in the bottom hardware; judging whether the second state is consistent with the first state or not; when the states are inconsistent, updating the first state of the first control switch, which is directly displayed on the UI layer after the user clicks, to the second state; when consistent, no processing is done. Through the technical scheme of the invention, the UI layer of the mobile terminal directly displays the state of the control switch, the state of the display control switch is not required to be changed after the response of the bottom hardware of the mobile terminal is delayed, and when the state of the control switch returned by the bottom hardware is inconsistent with the state of the control switch directly displayed by the UI layer, the state of the control switch displayed by the UI layer is updated by taking the state of the control switch returned by the bottom hardware as the standard, so that a control switch state checking mechanism is introduced, and when the state of the control switch displayed by the UI layer is wrong; therefore, time delay does not exist, the control switch state is corrected in time, and user experience is improved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention. In the drawings:
fig. 1 is a schematic hardware configuration of a mobile terminal implementing various embodiments of the present invention;
FIG. 2 is a schematic diagram of a communication system supporting communication between mobile terminals in accordance with the present invention;
fig. 3 is a schematic flow chart of a control switch management method according to an embodiment of the present invention;
fig. 4 is a schematic diagram illustrating a UI layer display of a mobile terminal according to an embodiment of the present invention.
Detailed Description
The technical solution of the present invention will be described in more detail with reference to the accompanying drawings and examples.
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
In the following description, suffixes such as "module", "component", or "unit" used to denote elements are used only for facilitating the explanation of the present invention, and have no specific meaning in itself. Thus, "module", "component" or "unit" may be used mixedly.
The terminal may be implemented in various forms. For example, the terminal described in the present invention may include a mobile terminal such as a mobile phone, a tablet computer, a notebook computer, a palmtop computer, a Personal Digital Assistant (PDA), a Portable Media Player (PMP), a navigation device, a wearable device, a smart band, a pedometer, and the like, and a fixed terminal such as a Digital TV, a desktop computer, and the like.
The following description will be given by way of example of a mobile terminal, and it will be understood by those skilled in the art that the construction according to the embodiment of the present invention can be applied to a fixed type terminal, in addition to elements particularly used for mobile purposes.
Referring to fig. 1, which is a schematic diagram of a hardware structure of a mobile terminal for implementing various embodiments of the present invention, the mobile terminal 100 may include: RF (Radio Frequency) unit 101, WiFi module 102, audio output unit 103, a/V (audio/video) input unit 104, sensor 105, display unit 106, user input unit 107, interface unit 108, memory 109, processor 110, and power supply 111. Those skilled in the art will appreciate that the mobile terminal architecture shown in fig. 1 is not intended to be limiting of mobile terminals, which may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components.
The following describes each component of the mobile terminal in detail with reference to fig. 1:
the radio frequency unit 101 may be configured to receive and transmit signals during information transmission and reception or during a call, and specifically, receive downlink information of a base station and then process the downlink information to the processor 110; in addition, the uplink data is transmitted to the base station. Typically, radio frequency unit 101 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like. In addition, the radio frequency unit 101 can also communicate with a network and other devices through wireless communication. The wireless communication may use any communication standard or protocol, including but not limited to GSM (Global System for Mobile communications), GPRS (General Packet Radio Service), CDMA2000(Code Division Multiple Access 2000), WCDMA (Wideband Code Division Multiple Access), TD-SCDMA (Time Division-Synchronous Code Division Multiple Access), and so on,FDD-LTE(Frequency division duplex-Long Term Evolution, Frequency division duplex Long Term Evolution) and TDD-LTE (Time division duplex-Long Term Evolution, Time division duplex Long Term Evolution).
WiFi belongs to short-distance wireless transmission technology, and the mobile terminal can help a user to transmit and receive through the WiFi module 102Electric power Sub-mailBrowsing web pages and accessing streaming mediaBody, etc. that provides wireless broadband internet access to users. Although fig. 1 shows the WiFi module 102, it is understood that it does not belong to the essential constitution of the mobile terminal, and may be omitted entirely as needed within the scope not changing the essence of the invention.
The audio output unit 103 may convert audio data received by the radio frequency unit 101 or the WiFi module 102 or stored in the memory 109 into an audio signal and output as sound when the mobile terminal 100 is in a call signal reception mode, a call mode, a recording mode, a voice recognition mode, a broadcast reception mode, or the like. Also, the audio output unit 103 may also provide audio output related to a specific function performed by the mobile terminal 100 (e.g., a call signal reception sound, a message reception sound, etc.). The audio output unit 103 may include a speaker, a buzzer, and the like.
The a/V input unit 104 is used to receive audio or video signals. The a/V input Unit 104 may include a Graphics Processing Unit (GPU) 1041 and a microphone 1042, the Graphics processor 1041 Processing image data of still pictures or video obtained by an image capturing device (e.g., a camera) in a video capturing mode or an image capturing mode. The processed image frames may be displayed on the display unit 106. The image frames processed by the graphic processor 1041 may be stored in the memory 109 (or other storage medium) or transmitted via the radio frequency unit 101 or the WiFi module 102. The microphone 1042 may receive sounds (audio data) via the microphone 1042 in a phone call mode, a recording mode, a voice recognition mode, or the like, and may be capable of processing such sounds into audio data. The processed audio (voice) data may be converted into a format output transmittable to a mobile communication base station via the radio frequency unit 101 in case of a phone call mode. The microphone 1042 may implement various types of noise cancellation (or suppression) algorithms to cancel (or suppress) noise or interference generated in the course of receiving and transmitting audio signals.
The mobile terminal 100 also includes at least one sensor 105, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor includes an ambient light sensor that can adjust the brightness of the display panel 1061 according to the brightness of ambient light, and a proximity sensor that can turn off the display panel 1061 and/or a backlight when the mobile terminal 100 is moved to the ear. As one of the motion sensors, the accelerometer sensor can detect the magnitude of acceleration in each direction (generally, three axes), can detect the magnitude and direction of gravity when stationary, and can be used for applications of recognizing the posture of a mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer and tapping), and the like; as for other sensors such as a fingerprint sensor, a pressure sensor, an iris sensor, a molecular sensor, a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor, which can be configured on the mobile phone, further description is omitted here.
The display unit 106 is used to display information input by a user or information provided to the user. The Display unit 106 may include a Display panel 1061, and the Display panel 1061 may be configured in the form of a Liquid Crystal Display (LCD), an Organic Light-Emitting Diode (OLED), or the like.
The user input unit 107 may be used to receive input numeric or character information and generate key signal inputs related to user settings and function control of the mobile terminal. Specifically, the user input unit 107 may include a touch panel 1071 and other input devices 1072. The touch panel 1071, also referred to as a touch screen, may collect a touch operation performed by a user on or near the touch panel 1071 (e.g., an operation performed by the user on or near the touch panel 1071 using a finger, a stylus, or any other suitable object or accessory), and drive a corresponding connection device according to a predetermined program. The touch panel 1071 may include two parts of a touch detection device and a touch controller. The touch detection device detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing device, converts the touch information into touch point coordinates, sends the touch point coordinates to the processor 110, and can receive and execute commands sent by the processor 110. In addition, the touch panel 1071 may be implemented in various types, such as a resistive type, a capacitive type, an infrared ray, and a surface acoustic wave. In addition to the touch panel 1071, the user input unit 107 may include other input devices 1072. In particular, other input devices 1072 may include, but are not limited to, one or more of a physical keyboard, function keys (e.g., volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and the like, and are not limited to these specific examples.
Further, the touch panel 1071 may cover the display panel 1061, and when the touch panel 1071 detects a touch operation thereon or nearby, the touch panel 1071 transmits the touch operation to the processor 110 to determine the type of the touch event, and then the processor 110 provides a corresponding visual output on the display panel 1061 according to the type of the touch event. Although the touch panel 1071 and the display panel 1061 are shown in fig. 1 as two separate components to implement the input and output functions of the mobile terminal, in some embodiments, the touch panel 1071 and the display panel 1061 may be integrated to implement the input and output functions of the mobile terminal, and is not limited herein.
The interface unit 108 serves as an interface through which at least one external device is connected to the mobile terminal 100. For example, the external device may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device having an identification module, an audio input/output (I/O) port, a video I/O port, an earphone port, and the like. The interface unit 108 may be used to receive input (e.g., data information, power, etc.) from external devices and transmit the received input to one or more elements within the mobile terminal 100 or may be used to transmit data between the mobile terminal 100 and external devices.
The memory 109 may be used to store software programs as well as various data. The memory 109 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the cellular phone, and the like. Further, the memory 109 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
The processor 110 is a control center of the mobile terminal, connects various parts of the entire mobile terminal using various interfaces and lines, and performs various functions of the mobile terminal and processes data by operating or executing software programs and/or modules stored in the memory 109 and calling data stored in the memory 109, thereby performing overall monitoring of the mobile terminal. Processor 110 may include one or more processing units; preferably, the processor 110 may integrate an application processor, which mainly handles operating systems, user interfaces, application programs, etc., and a modem processor, which mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor 110.
The mobile terminal 100 may further include a power supply 111 (e.g., a battery) for supplying power to various components, and preferably, the power supply 111 may be logically connected to the processor 110 via a power management system, so as to manage charging, discharging, and power consumption management functions via the power management system.
Although not shown in fig. 1, the mobile terminal 100 may further include a bluetooth module or the like, which is not described in detail herein.
In order to facilitate understanding of the embodiments of the present invention, a communication network system on which the mobile terminal of the present invention is based is described below.
Referring to fig. 2, fig. 2 is an architecture diagram of a communication Network system according to an embodiment of the present invention, where the communication Network system is an LTE system of a universal mobile telecommunications technology, and the LTE system includes a UE (User Equipment) 201, an E-UTRAN (Evolved UMTS Terrestrial Radio Access Network) 202, an EPC (Evolved Packet Core) 203, and an IP service 204 of an operator, which are in communication connection in sequence.
Specifically, the UE201 may be the terminal 100 described above, and is not described herein again.
The E-UTRAN202 includes eNodeB2021 and other eNodeBs 2022, among others. Among them, the eNodeB2021 may be connected with other eNodeB2022 through backhaul (e.g., X2 interface), the eNodeB2021 is connected to the EPC203, and the eNodeB2021 may provide the UE201 access to the EPC 203.
The EPC203 may include an MME (Mobility Management Entity) 2031, an HSS (Home Subscriber Server) 2032, other MMEs 2033, an SGW (Serving gateway) 2034, a PGW (PDN gateway) 2035, and a PCRF (Policy and charging functions Entity) 2036, and the like. The MME2031 is a control node that handles signaling between the UE201 and the EPC203, and provides bearer and connection management. HSS2032 is used to provide registers to manage functions such as home location register (not shown) and holds subscriber specific information about service characteristics, data rates, etc. All user data may be sent through SGW2034, PGW2035 may provide IP address assignment for UE201 and other functions, and PCRF2036 is a policy and charging control policy decision point for traffic data flow and IP bearer resources, which selects and provides available policy and charging control decisions for a policy and charging enforcement function (not shown).
The IP services 204 may include the internet, intranets, IMS (IP Multimedia Subsystem), or other IP services, among others.
Although the LTE system is described as an example, it should be understood by those skilled in the art that the present invention is not limited to the LTE system, but may also be applied to other wireless communication systems, such as GSM, CDMA2000, WCDMA, TD-SCDMA, and future new network systems.
Based on the above mobile terminal hardware structure and communication network system, the present invention provides various embodiments of the method.
As shown in fig. 3, according to an embodiment of the present invention, there is provided a control switch management method applied to a mobile terminal, the method including:
step 301, when a mobile terminal detects that a first control switch is clicked on a User Interface (UI) layer of the mobile terminal, directly displaying a first state of the first control switch clicked by a user on the UI layer, and storing the first state into a first cache queue;
step 302, sending the first state stored in the first buffer queue to a bottom layer hardware of the mobile terminal, so that the bottom layer hardware changes the state of the first control switch in the bottom layer hardware and returns to a second state when the state change is successful or fails;
step 303, receiving a second state of the first control switch returned by the bottom layer hardware, where the second state is a state of the first control switch in the bottom layer hardware;
step 304, judging whether the second state is consistent with the first state;
and when the states are inconsistent, updating the first state of the first control switch, which is directly displayed on the UI layer after the user clicks, to the second state.
And when the first state and the second state are consistent, no processing is performed.
In this embodiment, the control switch includes one of the following: control switch such as wireless fidelity wifi, bluetooth, flight mode, wifi focus, the control switch state includes: on, or off.
Different control switches correspond to different bottom hardware, for example, the bottom hardware of the mobile terminal includes a communication modem module or a wireless module, wherein the bottom hardware of the control switch related to the flight mode and the data service corresponds to the communication modem module, the bottom hardware of the control switch related to wifi, bluetooth and the like corresponds to the wireless module, when the state of the bottom hardware changes, the driver feeds back the bottom state to the application layer according to the application registration callback method, and the application layer can be a UI layer.
In this embodiment, a buffer queue may be set for each control switch, and the buffer queue may be a one-dimensional numerical value and records the state of the control switch. The state of the buffer queue comprises a state or an empty state, the empty state refers to that the record in the buffer queue is empty, the existing state refers to that the record in the buffer queue is not empty, and the existing state is divided into a true state or a false state, wherein the true and false meanings are as follows: the true represents the user operation state, for example, the user manually clicks a certain switch; the false representation is not the operation of the user, but the state of mutual exclusion between switches, for example, the user turns on the flight mode, wifi is to be turned off, the flight mode switch is a true state, and the wifi switch is a false state.
In this embodiment, before saving the first state to the first buffer queue, the method for controlling switch management further includes:
determining whether to store the first state into a first cache queue according to a first judgment strategy;
the first judgment strategy comprises the following steps:
when the number of times that a user clicks a first control switch on a User Interface (UI) layer of the mobile terminal within a certain interval is an even number, the first state is not stored in a first cache queue, and the state of the first cache queue is set to be an empty state;
and when the number of times that a user clicks the first control switch on the UI layer of the mobile terminal within a certain interval is an odd number, storing the first state into a first cache queue, and setting the first cache queue to be in an active state.
A first judgment policy may be stored in the mobile terminal in advance, where the first judgment policy is used to determine whether the state of the buffer queue is an empty state or a present state.
For example, when a user quickly clicks the first control switch even number of times within a certain interval, the state corresponding to the last click of the first control switch is the same as the state of the control switch displayed at the beginning of the UI layer of the user interface, which is equivalent to that the state of the first control switch is not changed, the value recorded in the cache queue is set to be null, the first cache queue is in a null state, and the switching action of the control switch is not required to be executed through bottom hardware.
When a user quickly clicks the first control switch for odd times in a certain interval, the state corresponding to the last click of the first control switch is different from the state of the control switch displayed at the beginning of the UI layer of the user interface, which is equivalent to the change of the state of the first control switch, the state corresponding to the last operation of the first control switch, namely the first state of the first control switch, is recorded into the first cache queue, and the first cache queue is in a state at the moment.
In this embodiment, when the state of the first control switch stored in the first buffer queue is sent to the bottom hardware of the mobile terminal, the method for managing a control switch further includes:
and deleting the first state stored in the first cache queue, and setting the first cache queue to be in an empty state.
In this embodiment, after receiving the second state returned by the bottom layer hardware, before determining whether the second state is consistent with the first state, the method for controlling switch management further includes:
judging whether the first cache queue state is an empty state;
when the first cache queue state is an empty state, judging whether the second state is consistent with the first state;
when the first buffer queue state is a presence state, judging whether the first state stored in the first buffer queue is a true state or a false state:
when the first state is a true state, sending the first state stored in the first cache queue to bottom hardware of the mobile terminal, deleting the first state stored in the first cache queue, and setting the first cache queue to be an empty state;
and when the first state is a false state, judging whether the second state is consistent with the state displayed on the UI layer by the first control switch, deleting the first state stored in the first cache queue, and setting the first cache queue to be an empty state.
And repeating the steps in such a circulating way, waiting for the next time that the user clicks the first control switch on the UI layer of the user interface of the mobile terminal, and executing the control switch management method again.
Through the technical scheme of the invention, the UI layer of the mobile terminal directly displays the state of the control switch, the state of the display control switch is not required to be changed after the response of the bottom hardware of the mobile terminal is delayed, and when the state of the control switch returned by the bottom hardware is inconsistent with the state of the control switch directly displayed by the UI layer, the state of the control switch displayed by the UI layer is updated by taking the state of the control switch returned by the bottom hardware as the standard, so that a control switch state checking mechanism is introduced, and when the state of the control switch displayed by the UI layer is wrong; therefore, time delay does not exist, the control switch state is corrected in time, and user experience is improved.
Example one
Fig. 4 is a schematic diagram illustrating UI layer display of a mobile terminal according to an embodiment of the present invention, and as shown in fig. 4, the control switch includes a wifi switch and a bluetooth switch, and the control switch is taken as a bluetooth switch as an example to describe in detail below.
Step 401, when a user clicks a bluetooth switch on a User Interface (UI) layer of the mobile terminal, directly displaying a first state of the bluetooth switch on the UI layer;
the first state is either on or off.
Step 402, determining whether to store the first state in a bluetooth cache queue according to a first judgment strategy;
the bluetooth buffer queue may be set for the bluetooth switch in advance, and a first judgment policy may be stored in the mobile terminal in advance, where the first judgment policy is used to determine whether the state of the buffer queue is an empty state or a present state.
The first judgment strategy comprises the following steps:
when the number of times that a user clicks the Bluetooth switch on a User Interface (UI) layer of the mobile terminal within a certain interval is an even number, the user does not need to store the first state into a Bluetooth cache queue, and the Bluetooth cache queue is empty;
when the number of times that a user clicks a Bluetooth switch on a user interface UI layer of the mobile terminal within a certain interval is odd, the first state is stored in a Bluetooth cache queue, at the moment, the record in the Bluetooth cache queue is not empty, the Bluetooth cache queue is in a state, and the first state recorded by the Bluetooth cache queue is on or off.
For example, when the user clicks the bluetooth switch twice within 1 second, the state of the bluetooth switch displayed on the UI layer of the user interface is not changed, the record in the bluetooth buffer queue is empty, the first buffer queue is in an empty state, and the switch action on the control switch does not need to be executed by the bottom hardware.
For example, when a user clicks a bluetooth switch once within 1 second, the state of a control switch displayed on a UI layer of a user interface changes, and at this time, the state corresponding to the bluetooth switch, that is, the first state is recorded in a bluetooth cache queue, where the record in the bluetooth cache queue is not empty, and at this time, the bluetooth cache queue is in an active state.
Step 403, when the bluetooth cache queue is in a live state and the live state is in a true state, sending the first state stored in the bluetooth cache queue to bottom hardware of the mobile terminal to change the state of the bluetooth switch in the bottom hardware;
for example, the state of the bluetooth buffer queue is queried at certain intervals, and when the bluetooth buffer queue is in an empty state, no operation is performed; when the Bluetooth cache queue is in a live state and the live state is in a true state, namely the flight mode switch is on at the moment, the first state stored in the Bluetooth cache queue is sent to bottom hardware of the mobile terminal, and the bottom driver changes the second state of the Bluetooth hardware into on or off according to the first state; when the bluetooth buffer queue is in the active state and the active state is in the true state, i.e. the flight mode switch is off at this time, no operation is performed.
Step 404, the bottom hardware of the mobile terminal returns the second state to the upper software layer of the mobile terminal, and at the moment, whether the Bluetooth cache queue state is an empty state is judged again;
the second state is the state of the Bluetooth switch in the bottom layer hardware.
When the Bluetooth queue storage state is an empty state, whether the second state is consistent with the first state displayed on the UI layer by the first control switch or not is judged;
when the state of the Bluetooth cache queue is in a state, judging whether a first state stored in the Bluetooth cache queue is in a true state or a false state;
when the first state is a true state, the first state stored in the Bluetooth cache queue is sent to bottom hardware of the mobile terminal again to change the state of the Bluetooth switch in the bottom hardware, and the first state stored in the Bluetooth cache queue is deleted, and at the moment, the state of the Bluetooth cache queue is restored to an empty state;
and when the first state is a false state, judging whether the second state is consistent with the first state displayed on the UI layer by the first control switch, deleting the first state stored in the first cache queue, and restoring the state of the first cache queue to an empty state.
Step 405, the mobile terminal judges whether the second state is consistent with the first state displayed on the UI layer by the Bluetooth switch at present;
typically, the first state and the second state are the same, such as both on or both off, and no processing is required at this time, and the UI layer displays the first state.
However, sometimes the first state and the second state are inconsistent due to an execution error of the underlying hardware, for example, the first state is on and the second state is off, or the first state is off and the second state is on. At this time, the first state displayed on the UI layer by the bluetooth switch is updated to the second state, for example, if the first state is on and the second state is off, the bluetooth switch state displayed on the UI layer is updated to off. Or, for example, if the first state is off and the second state is on, the bluetooth on-off state displayed on the UI layer is updated to on.
Through the technical scheme of the invention, the UI layer of the mobile terminal directly displays the state of the control switch, the state of the display control switch is not required to be changed after the response of the bottom hardware of the mobile terminal is delayed, and when the state of the control switch returned by the bottom hardware is inconsistent with the state of the control switch directly displayed by the UI layer, the state of the control switch displayed by the UI layer is updated by taking the state of the control switch returned by the bottom hardware as the standard, so that a control switch state checking mechanism is introduced, and when the state of the control switch displayed by the UI layer is wrong; therefore, time delay does not exist, the control switch state is corrected in time, and user experience is improved.
According to another embodiment of the present invention, there is also provided a mobile terminal including: the system comprises a user interface UI layer, bottom hardware, a memory for storing a control switch management program and a processor; the processor is configured to implement the following control switch management method when executing the control switch management program: the control switch management method comprises the following steps:
when the mobile terminal detects that a first control switch is clicked on a User Interface (UI) layer of the mobile terminal, directly displaying a first state of the first control switch clicked by a user on the UI layer, and storing the first state into a first cache queue;
sending the first state stored in the first cache queue to bottom hardware of the mobile terminal, so that the bottom hardware changes the state of the first control switch in the bottom hardware and returns to a second state when the state change is successful or fails;
receiving a second state of a first control switch returned by the bottom hardware, wherein the second state is the state of the first control switch in the bottom hardware;
judging whether the second state is consistent with the first state or not;
and when the states are inconsistent, updating the first state of the first control switch, which is directly displayed on the UI layer after the user clicks, to the second state.
In this embodiment, the first control switch includes one of the following: control switches such as wireless fidelity wifi, bluetooth, flight mode, wifi hot spot.
In this embodiment, the processor is further configured to set a first buffer queue for the first control switch in advance;
the state of the first cache queue comprises an empty state or a state, the empty state means that the record in the first cache queue is empty, and the existing state means that the record in the first cache queue is not empty; the active states include a true state representing a user operating state or a false state representing a mutually exclusive state between the control switches.
In this embodiment, before saving the first state to the first buffer queue, the method for controlling switch management further includes:
determining whether to store the first state into a first cache queue according to a first judgment strategy;
the first judgment strategy comprises the following steps:
when the number of times that a user clicks a first control switch on a User Interface (UI) layer of the mobile terminal within a certain interval is an even number, the first state is not stored in a first cache queue, and the state of the first cache queue is set to be an empty state;
and when the number of times that a user clicks the first control switch on the UI layer of the mobile terminal within a certain interval is an odd number, storing the first state into a first cache queue, and setting the first cache queue to be in an active state.
In this embodiment, when the state of the first control switch stored in the first buffer queue is sent to the bottom hardware of the mobile terminal, the method for managing a control switch further includes:
and deleting the first state stored in the first cache queue, and setting the first cache queue to be in an empty state.
In this embodiment, after receiving the second state returned by the bottom layer hardware, before determining whether the second state is consistent with the first state, the method for controlling switch management further includes:
judging whether the first cache queue state is an empty state;
when the first cache queue state is an empty state, judging whether the second state is consistent with the first state;
when the first buffer queue state is a presence state, judging whether the first state stored in the first buffer queue is a true state or a false state:
when the first state is a true state, sending the first state stored in the first cache queue to bottom hardware of the mobile terminal, deleting the first state stored in the first cache queue, and setting the first cache queue to be an empty state;
and when the first state is a false state, judging whether the second state is consistent with the state displayed on the UI layer by the first control switch, deleting the first state stored in the first cache queue, and setting the first cache queue to be an empty state.
According to the technical scheme, the UI layer of the mobile terminal directly displays the state of the control switch, the state of the display control switch is not required to be changed after the mobile terminal responds to the bottom hardware, and when the state of the control switch returned by the bottom hardware is inconsistent with the state of the control switch directly displayed by the UI layer, the state of the control switch displayed by the UI layer is updated by taking the state of the control switch returned by the bottom hardware as the reference.
According to another embodiment of the present invention, there is also provided a computer-readable storage medium having a control switch management program stored thereon, wherein the control switch management program, when executed by a processor, implements the control switch management method described above.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (such as a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.