A desktop widget communication regulation method, device and computer readable storage medium
By monitoring and limiting the frequency of communication interface calls for desktop widgets, the problem of abnormal desktop widget updates was resolved, improving device stability and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NUBIA TECHNOLOGY CO LTD
- Filing Date
- 2021-08-31
- Publication Date
- 2026-07-21
AI Technical Summary
In existing technologies, the inability to update desktop widgets leads to malfunctions, reducing the stability and reliability of the device.
By identifying the communication interface between the third-party application corresponding to the desktop widget and the system service, monitoring the communication interval, and returning an error when there are frequent calls, abnormal operations can be restricted, thereby improving the efficiency of communication control.
It enables efficient and accurate monitoring of desktop widgets, reduces the failure rate of functions, and improves the stability of devices and user experience.
Smart Images

Figure CN113641295B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of mobile communications, and more particularly to a desktop widget communication control method, device, and computer-readable storage medium. Background Technology
[0002] In the current technology, with the continuous development of smart terminal devices, users' demand for desktop widgets with quick access functions on devices such as mobile phones is becoming increasingly widespread. During the development process of desktop widgets and in daily use, situations frequently arise where all desktop widgets fail to update. This leads to a poor user experience of malfunctioning functions that cannot be resolved independently, reducing the stability and reliability of device functionality. Summary of the Invention
[0003] To address the aforementioned technical deficiencies in the prior art, this invention proposes a desktop widget communication control method, which includes:
[0004] Identify the third-party application corresponding to the desktop widget, and obtain the first communication interface between the third-party application and the system service.
[0005] The second communication interface that forwards data from the system service to the desktop service is selected from the first communication interface.
[0006] During the operation of the desktop widget, the interval between calls between the system service and the desktop service via the second communication interface is monitored.
[0007] If the interval is less than the first preset time, the first preset time is set as the new interval. If the frequency of the call exceeds the preset frequency within the second preset time, an error is returned to the third-party application.
[0008] Optionally, determining the third-party application corresponding to the desktop widget and obtaining the first communication interface between the third-party application and the system service includes:
[0009] Retrieve the desktop widgets that are not system components and are set in the current desktop state.
[0010] Obtain the first communication interface for synchronous calls between the third-party application and the system service.
[0011] Optionally, the step of filtering out the second communication interface from the first communication interface for forwarding from the system service to the desktop service includes:
[0012] An interface for enabling the system service to asynchronously call the desktop service when the third-party application invokes the system service.
[0013] The interface used for the asynchronous call will be used as the second communication interface.
[0014] Optionally, the step of monitoring the interval between calls between the system service and the desktop service via the second communication interface during the operation of the desktop widget includes:
[0015] The monitoring period is determined based on the current desktop status.
[0016] The monitoring period is used to monitor the interval between calls made between the system service and the desktop service via the second communication interface.
[0017] Optionally, if the interval is less than a first preset time, the first preset time is set as a new interval; if the frequency of the call exceeds a preset frequency within a second preset time, an error is returned to the third-party application, including:
[0018] Determine the first type of the desktop widget and the second type of the third-party application corresponding to the desktop widget.
[0019] The first preset time, the second preset time, and one or more of the preset frequency are determined based on the first type and / or the second type.
[0020] Optionally, the step of setting the first preset time as a new interval if the interval is less than a first preset time, and returning an error to the third-party application if the frequency of the call exceeds a preset frequency within a second preset time, further includes:
[0021] Determine the number of second communication interfaces whose interval time is less than a first preset time.
[0022] The first preset time is increased according to the quantity, and the increased first preset time is set as the new interval time.
[0023] Optionally, the step of setting the first preset time as a new interval if the interval is less than a first preset time, and returning an error to the third-party application if the frequency of the call exceeds a preset frequency within a second preset time, further includes:
[0024] After setting the first preset time as a new interval, the number of calls within the second preset time is obtained.
[0025] If the number of attempts exceeds a preset limit, an error message will be returned to the third-party application.
[0026] Optionally, if the interval is less than a first preset time, the first preset time is set as a new interval; if the frequency of the call exceeds a preset frequency within a second preset time, an error is returned to the third-party application, followed by:
[0027] Within the interface that returns an error message to the third-party application, a prompt to remove or uninstall the desktop widget and / or the third-party application is displayed.
[0028] Remove the desktop widget or uninstall the third-party application by following the touch commands provided.
[0029] The present invention also proposes a desktop widget communication control device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, it implements the steps of the desktop widget communication control method as described in any of the preceding claims.
[0030] The present invention also proposes a computer-readable storage medium storing a desktop widget communication control program, which, when executed by a processor, implements the steps of the desktop widget communication control method as described in any of the preceding claims.
[0031] The desktop widget communication control method, device, and computer-readable storage medium of the present invention determine a third-party application corresponding to the desktop widget and obtain a first communication interface between the third-party application and a system service; select a second communication interface from the first communication interface that forwards data from the system service to the desktop service; during the operation of the desktop widget, monitor the interval between calls between the system service and the desktop service via the second communication interface; if the interval is less than a first preset time, set the first preset time as a new interval; if the call frequency exceeds a preset frequency within a second preset time, return an error to the third-party application. This achieves an efficient and accurate desktop widget communication control scheme, automatically and promptly monitoring abnormal states of the desktop widget, reducing the functional failure rate of the desktop widget, improving the stability of desktop functions, and enhancing the user experience. Attached Figure Description
[0032] The present invention will be further described below with reference to the accompanying drawings and embodiments. In the accompanying drawings:
[0033] Figure 1 This is a schematic diagram of the hardware structure of a mobile terminal according to the present invention;
[0034] Figure 2 This is a communication network system architecture diagram provided by an embodiment of the present invention;
[0035] Figure 3 This is a flowchart of the first embodiment of the desktop widget communication control method of the present invention;
[0036] Figure 4 This is a flowchart of the second embodiment of the desktop widget communication control method of the present invention;
[0037] Figure 5 This is a flowchart of the third embodiment of the desktop widget communication control method of the present invention;
[0038] Figure 6 This is a flowchart of the fourth embodiment of the desktop widget communication control method of the present invention;
[0039] Figure 7 This is a flowchart of the fifth embodiment of the desktop widget communication control method of the present invention;
[0040] Figure 8 This is a flowchart of the sixth embodiment of the desktop widget communication control method of the present invention;
[0041] Figure 9 This is a flowchart of the seventh embodiment of the desktop widget communication control method of the present invention;
[0042] Figure 10 This is a flowchart of the eighth embodiment of the desktop widget communication control method of the present invention. Detailed Implementation
[0043] It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of the invention.
[0044] In the following description, the use of suffixes such as "module," "part," or "unit" to denote elements is solely for the purpose of illustrative purposes and has no specific meaning in itself. Therefore, "module," "part," or "unit" may be used interchangeably.
[0045] Terminals can be implemented in various forms. For example, the terminals described in this invention may include mobile terminals such as mobile phones, tablets, laptops, handheld computers, personal digital assistants (PDAs), portable media players (PMPs), navigation devices, wearable devices, smart bracelets, pedometers, etc., as well as fixed terminals such as digital TVs and desktop computers.
[0046] The following description will use a mobile terminal as an example. Those skilled in the art will understand that, apart from elements specifically designed for mobile purposes, the construction according to embodiments of the present invention can also be applied to fixed-type terminals.
[0047] Please see Figure 1 This is a schematic diagram of the hardware structure of a mobile terminal implementing various embodiments of the present invention. The mobile terminal 100 may include: an RF (Radio Frequency) unit 101, a WiFi module 102, an audio output unit 103, an A / V (Audio / Video) input unit 104, a sensor 105, a display unit 106, a user input unit 107, an interface unit 108, a memory 109, a processor 110, and a power supply 111, etc. Those skilled in the art will understand that... Figure 1 The mobile terminal structure shown does not constitute a limitation on the mobile terminal. The mobile terminal may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0048] The following is combined with Figure 1 A detailed introduction to each component of the mobile terminal:
[0049] The radio frequency unit 101 can be used for receiving and transmitting signals during information transmission or calls. Specifically, it receives downlink information from the base station and processes it with the processor 110; additionally, it transmits uplink data to the base station. Typically, the radio frequency unit 101 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, and a duplexer. Furthermore, the radio frequency unit 101 can also communicate wirelessly with networks and other devices. The aforementioned wireless communications may use any communication standard or protocol, including but not limited to GSM (Global System of Mobile communication), 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), FDD-LTE (Frequency Division Duplexing-Long Term Evolution), and TDD-LTE (Time Division Duplexing-Long Term Evolution).
[0050] WiFi is a short-range wireless transmission technology. Mobile terminals, through the WiFi module 102, can help users send and receive emails, browse web pages, and access streaming media, providing users with wireless broadband internet access. Although Figure 1 WiFi module 102 is shown, but it is understood that it is not a necessary component of a mobile terminal and can be omitted as needed without changing the nature of the invention.
[0051] The audio output unit 103 can convert audio data received by the radio frequency unit 101 or the WiFi module 102 or stored in the memory 109 into audio signals and output them as sound when the mobile terminal 100 is in call signal receiving mode, call mode, recording mode, voice recognition mode, broadcast receiving mode, etc. Furthermore, the audio output unit 103 can also provide audio output related to specific functions performed by the mobile terminal 100 (e.g., call signal receiving sound, message receiving sound, etc.). The audio output unit 103 may include a speaker, a buzzer, etc.
[0052] 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 GPU 1041 processes image data of still images or videos acquired by an image capture device (such as a camera) in video capture mode or image capture mode. The processed image frames can be displayed on the display unit 106. The image frames processed by the GPU 1041 can 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 can receive sound (audio data) in operating modes such as telephone call mode, recording mode, and voice recognition mode, and can process such sound into audio data. The processed audio (voice) data can be converted into a format that can be transmitted to a mobile communication base station via the radio frequency unit 101 in telephone call mode. The microphone 1042 can implement various types of noise cancellation (or suppression) algorithms to eliminate (or suppress) noise or interference generated during the reception and transmission of audio signals.
[0053] 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 and a proximity sensor. The ambient light sensor can adjust the brightness of the display panel 1061 according to the ambient light level, and the proximity sensor can turn off the display panel 1061 and / or backlight when the mobile terminal 100 is moved to the ear. As a type of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in various directions (generally three axes). When stationary, it can detect the magnitude and direction of gravity and can be used for applications that recognize the phone's posture (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition-related functions (such as pedometer, tapping), etc. Other sensors that may be configured in the phone, such as fingerprint sensors, pressure sensors, iris sensors, molecular sensors, gyroscopes, barometers, hygrometers, thermometers, and infrared sensors, will not be described in detail here.
[0054] The display unit 106 is used to display information input by the user or information provided to the user. The display unit 106 may include a display panel 1061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
[0055] User input unit 107 can be used to receive input numerical or character information, and generate key signal inputs related to user settings and function control of the mobile terminal. Specifically, user input unit 107 may include touch panel 1071 and other input devices 1072. Touch panel 1071, also known as touch screen, can collect touch operations on or near the user (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near touch panel 1071), and drive corresponding connection devices according to a pre-set program. Touch panel 1071 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device, converts it into touch point coordinates, sends it to processor 110, and can receive and execute commands from processor 110. In addition, touch panel 1071 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 1071, the user input unit 107 may also include other input devices 1072. Specifically, other input devices 1072 may include, but are not limited to, one or more of the following: physical keyboard, function keys (such as volume control buttons, power buttons, etc.), trackball, mouse, joystick, etc., without being limited here.
[0056] Furthermore, the touch panel 1071 may cover the display panel 1061. When the touch panel 1071 detects a touch operation on or near it, it transmits the information to the processor 110 to determine the type of touch event. Subsequently, the processor 110 provides corresponding visual output on the display panel 1061 based on the type of touch event. Although in Figure 1 In this embodiment, the touch panel 1071 and the display panel 1061 are two independent components to realize the input and output functions of the mobile terminal. However, in some embodiments, the touch panel 1071 and the display panel 1061 can be integrated to realize the input and output functions of the mobile terminal. The specific implementation is not limited here.
[0057] Interface unit 108 serves as an interface through which at least one external device can connect to 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 with an identification module, an audio input / output (I / O) port, a video I / O port, a headphone port, and so on. Interface unit 108 may be used to receive input (e.g., data, power, etc.) from the external device and transmit the received input to one or more elements within mobile terminal 100, or it may be used to transmit data between mobile terminal 100 and the external device.
[0058] The memory 109 can be used to store software programs and various data. The memory 109 may primarily include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function (such as sound playback, image playback, etc.), etc.; the data storage area may store data created based on the use of the mobile phone (such as audio data, phonebook, etc.). Furthermore, the memory 109 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0059] The processor 110 is the control center of the mobile terminal. It connects various parts of the mobile terminal via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 109, and by calling data stored in the memory 109, it performs various functions and processes data of the mobile terminal, thereby providing overall monitoring of the mobile terminal. The processor 110 may include one or more processing units; preferably, the processor 110 may integrate an application processor and a modem processor. The application processor mainly handles the operating system, user interface, and applications, while the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 110.
[0060] The mobile terminal 100 may also include a power supply 111 (such as a battery) that supplies power to various components. Preferably, the power supply 111 can be logically connected to the processor 110 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system.
[0061] although Figure 1 As not shown, the mobile terminal 100 may also include a Bluetooth module, etc., which will not be described in detail here.
[0062] To facilitate understanding of the embodiments of the present invention, the communication network system on which the mobile terminal of the present invention is based is described below.
[0063] Please see Figure 2 , Figure 2 This invention provides a communication network system architecture diagram. The communication network system is an LTE system based on the universal mobile communication technology. 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 the operator's IP services 204, which are connected in sequence.
[0064] Specifically, UE201 can be the aforementioned terminal 100, which will not be elaborated here.
[0065] E-UTRAN202 includes eNodeB2021 and other eNodeB2022s. Among them, eNodeB2021 can connect to other eNodeB2022s via backhaul (e.g., X2 interface), and eNodeB2021 connects to EPC203. eNodeB2021 can provide UE201 with access to EPC203.
[0066] EPC203 may include MME (Mobility Management Entity) 2031, HSS (Home Subscriber Server) 2032, other MMEs 2033, SGW (Serving Gateway) 2034, PGW (Packet Data Network Gateway) 2035, and PCRF (Policy and Charging Rules Function) 2036, etc. Among them, MME2031 is the control node that handles signaling between UE201 and EPC203, providing bearer and connection management. HSS2032 provides registers to manage functions such as the Home Location Register (not shown in the diagram) and stores user-specific information such as service characteristics and data rates. All user data can be sent through SGW2034. PGW2035 can provide UE 201 IP address allocation and other functions. PCRF2036 is the policy and charging control decision point for service data flow and IP bearer resources. It selects and provides available policy and charging control decisions for the policy and charging enforcement function unit (not shown in the figure).
[0067] IP services 204 may include the Internet, intranet, IMS (IP Multimedia Subsystem), or other IP services.
[0068] Although the above description uses the LTE system as an example, those skilled in the art should understand that the present invention is not only applicable to the LTE system, but also to other wireless communication systems, such as GSM, CDMA2000, WCDMA, TD-SCDMA, and future new network systems, etc., which are not limited here.
[0069] Based on the aforementioned mobile terminal hardware structure and communication network system, various embodiments of the method of the present invention are proposed.
[0070] Example 1
[0071] Figure 3 This is a flowchart of the first embodiment of the desktop widget communication control method of the present invention. A desktop widget communication control method, the method comprising:
[0072] S1. Determine the third-party application corresponding to the desktop widget, and obtain the first communication interface between the third-party application and the system service.
[0073] S2. Select the second communication interface from the first communication interface that forwards data from the system service to the desktop service.
[0074] S3. During the operation of the desktop widget, monitor the interval between calls between the system service and the desktop service through the second communication interface.
[0075] S4. If the interval time is less than the first preset time, then the first preset time is set as the new interval time. If the frequency of the call exceeds the preset frequency within the second preset time, then an error is returned to the third-party application.
[0076] In this embodiment, after careful analysis of the logs, the applicant discovered an error in the `appwidgetserviceimpl` class of the `system_server` system service in the system framework. This caused the connection between the launcher desktop service and the `system_server` system service to be forcibly disconnected. Further analysis revealed that the problem was caused by illegal operations from one or more third-party applications corresponding to desktop widgets. Therefore, this embodiment aims to resolve this issue.
[0077] In this embodiment, the cause found above will first be explained. An error occurred during cross-process communication between the system server's `AppwidgetServiceImpl` method and the desktop. After the error, the system server considered the desktop problematic and disconnected the connection between the system server and the desktop. The applicant's analysis revealed two possible causes for this cross-process communication error: First, the data being transferred using a widget might be too large, leading to a "size too large" error during communication between the system server and the desktop. Finding the specific desktop widget would reveal the cause of this problem. However, even after resolving the "size too large" issue, the system server still encountered communication errors with the desktop. In this case, no "too large" error was specified. Therefore, the second cause of the error is that the desktop process itself encountered an error, but it did not actually crash.
[0078] In this embodiment, after careful analysis and a deep understanding of the underlying principles, the applicant discovered that regardless of whether the systemserver prints error logs or not prints "too large" errors during communication between the systemserver and the desktop binder (a communication component), the fundamental issue is that the shared memory portion of the launcher desktop service's binder is exhausted. This problem arises because some desktop widgets involve a series of irregular and very frequent cross-process calls. Consequently, the third-party applications corresponding to these desktop widgets may initiate more than 1000 cross-process calls within 1 second. The applicant further discovered that, based on these very frequent cross-process calls, while communication between the third-party applications of the desktop widgets and the system server does not report errors, communication between the system server and the desktop service results in memory shortage errors. This is because communication between the desktop widgets and the system server is a synchronous call without a caching queue mechanism to consume memory, while communication between the system server and the desktop service is an asynchronous call, requiring a caching queue to consume memory. Therefore, during these frequent calls, communication may fail due to insufficient memory.
[0079] In this embodiment, to prevent communication failures between the system service and the desktop service due to improper operation by third-party applications, the proposed solution is to accurately identify and locate the widget-related forwarding interfaces of third-party applications to the desktop on the system server side, limit the call frequency of these interfaces and the forwarding frequency of the system server, keep the asynchronous binder communication between the system and the desktop in a normal queue state, and issue error reminders to third-party applications that make frequent calls, so that they can find the problem and correct the abnormal operation as soon as possible.
[0080] Specifically, in this embodiment, firstly, a third-party application corresponding to the desktop widget is identified, and a first communication interface between the third-party application and the system service is obtained; then, a second communication interface that forwards data from the system service to the desktop service is selected from the first communication interface; then, during the operation of the desktop widget, the interval between calls between the system service and the desktop service via the second communication interface is monitored; if the interval is less than a first preset time, the first preset time is set as a new interval; if the frequency of the calls exceeds a preset frequency within the second preset time, an error is returned to the third-party application.
[0081] The beneficial effects of this embodiment are as follows: By identifying the third-party application corresponding to the desktop widget and obtaining the first communication interface between the third-party application and the system service; filtering out the second communication interface from the first communication interface for forwarding from the system service to the desktop service; during the operation of the desktop widget, monitoring the interval time between the system service and the desktop service calling each other through the second communication interface; if the interval time is less than a first preset time, then the first preset time is set as a new interval time; if the frequency of the calls exceeds a preset frequency within a second preset time, then an error is returned to the third-party application. This achieves an efficient and accurate desktop widget communication control scheme, automatically and promptly monitoring the abnormal state of the desktop widget, reducing the functional failure rate of the desktop widget, improving the stability of desktop functions, and enhancing the user experience.
[0082] Example 2
[0083] Figure 4 This is a flowchart of a second embodiment of the desktop widget communication control method of the present invention. Based on the above embodiment, the step of determining the third-party application corresponding to the desktop widget and obtaining the first communication interface between the third-party application and the system service includes:
[0084] S11. Obtain the desktop widgets that are non-system components set in the current desktop state.
[0085] S12. Obtain the first communication interface for synchronous calls between the third-party application and the system service.
[0086] Optionally, in this embodiment, the desktop widgets that are non-system components set in the current desktop state are obtained, such as weather widgets, calendar widgets, and shortcut function widgets provided by third-party applications.
[0087] Optionally, in this embodiment, during the system debugging process, the desktop widgets belonging to system components set in the current desktop state can also be obtained, that is, weather widgets, calendar widgets, shortcut function widgets, etc. provided by the system's built-in applications.
[0088] The beneficial effects of this embodiment are that by acquiring the desktop widgets that are non-system components set in the current desktop state, and acquiring the first communication interface for synchronous calls between the third-party application and the system service, an efficient and accurate desktop widget communication control scheme is implemented. This scheme automatically monitors abnormal states of desktop widgets in a timely manner, reduces the functional failure rate of desktop widgets, improves the stability of desktop functions, and enhances the user experience.
[0089] Example 3
[0090] Figure 5 This is a flowchart of the third embodiment of the desktop widget communication control method of the present invention. Based on the above embodiment, the step of filtering out the second communication interface from the first communication interface for forwarding from the system service to the desktop service includes:
[0091] S21. Determine the interface for the system service to make asynchronous calls to the desktop service when the third-party application calls the system service.
[0092] S22. Use the interface with the asynchronous call as the second communication interface.
[0093] Optionally, in this embodiment, based on the above implementation method, the interfaces through which third-party applications communicate with the system server have been identified. Further, it is determined which interfaces will definitely cause the system server to forward the communication to the desktop again, and these are counted as the second communication interfaces in this embodiment. Then, the calls to the second communication interfaces are restricted sequentially.
[0094] The beneficial effect of this embodiment is that, by determining the interface through which the system service asynchronously calls the desktop service when the third-party application calls the system service, and using the interface for the asynchronous call as the second communication interface, an efficient and accurate desktop widget communication control scheme is implemented. This scheme automatically monitors abnormal states of desktop widgets in a timely manner, reduces the functional failure rate of desktop widgets, improves the stability of desktop functions, and enhances the user experience.
[0095] Example 4
[0096] Figure 6 This is a flowchart of the fourth embodiment of the desktop widget communication control method of the present invention. Based on the above embodiment, the step of monitoring the interval time between the system service and the desktop service through the second communication interface during the operation of the desktop widget includes:
[0097] S31. Determine the monitoring period based on the current desktop status.
[0098] S32. During the monitoring period, monitor the interval between calls between the system service and the desktop service via the second communication interface.
[0099] Optionally, in this embodiment, the monitoring period is defined as the time after any desktop widget is set on the desktop.
[0100] Optionally, in this embodiment, the monitoring period is defined as the time period following the installation of any third-party application containing a desktop widget and the automatic generation and display of the desktop widget.
[0101] The beneficial effect of this embodiment is that it determines the monitoring period based on the current desktop state; and monitors the interval between calls between the system service and the desktop service via the second communication interface within the monitoring period. This achieves an efficient and accurate desktop widget communication control scheme, automatically and promptly monitoring abnormal states of desktop widgets, reducing the functional failure rate of desktop widgets, improving the stability of desktop functions, and enhancing the user experience.
[0102] Example 5
[0103] Figure 7 This is a flowchart of the fifth embodiment of the desktop widget communication control method of the present invention. Based on the above embodiment, if the interval time is less than a first preset time, the first preset time is set as a new interval time; if the frequency of the call exceeds a preset frequency within a second preset time, an error is returned to the third-party application, including:
[0104] S41. Determine the first type of the desktop widget and the second type of the third-party application corresponding to the desktop widget.
[0105] S42. Determine one or more of the first preset time, the second preset time, and the preset frequency according to the first type and / or the second type.
[0106] Optionally, in this embodiment, the request frequency corresponding to different types under normal working conditions is determined, and one or more of the first preset time, the second preset time, and the preset frequency are determined based on the request frequency.
[0107] The beneficial effect of this embodiment is that by determining the first type of the desktop widget and the second type of the third-party application corresponding to the desktop widget, and determining one or more of the first preset time, the second preset time, and the preset frequency based on the first type and / or the second type, an efficient and accurate desktop widget communication control scheme is achieved. This scheme automatically monitors the abnormal state of the desktop widget in a timely manner, reduces the functional failure rate of the desktop widget, improves the stability of desktop functions, and enhances the user experience.
[0108] Example 6
[0109] Figure 8This is a flowchart of the sixth embodiment of the desktop widget communication control method of the present invention. Based on the above embodiment, if the interval time is less than a first preset time, then the first preset time is set as a new interval time; if the frequency of the call exceeds a preset frequency within a second preset time, then an error is returned to the third-party application. The method further includes:
[0110] S43. Determine the number of second communication interfaces whose interval time is less than a first preset time.
[0111] S44. Increase the first preset time according to the quantity, and set the increased first preset time as a new interval time.
[0112] Optionally, in this embodiment, when the system server communicates with the desktop service using the asynchronous interface, it records the time interval between the current call and the previous call. This embodiment sets a time interval of deta = 20ms. If the time is less than this, a POST message is used to wait. This switches the system server from frequently calling the desktop to calls with a fixed time interval deta, thus significantly reducing the frequency of calls between the system server and the desktop, preventing situations where the system server calls the desktop more than 1000 times per second.
[0113] The beneficial effect of this embodiment is that by determining the number of second communication interfaces whose interval time is less than a first preset time, increasing the first preset time according to the number, and setting the increased first preset time as a new interval time, an efficient and accurate desktop widget communication control scheme is achieved. This scheme automatically monitors the abnormal state of desktop widgets in a timely manner, reduces the functional failure rate of desktop widgets, improves the stability of desktop functions, and enhances the user experience.
[0114] Example 7
[0115] Figure 9 This is a flowchart of the seventh embodiment of the desktop widget communication control method of the present invention. Based on the above embodiment, if the interval time is less than a first preset time, the first preset time is set as a new interval time; if the frequency of the call exceeds a preset frequency within a second preset time, an error is returned to the third-party application. The method further includes:
[0116] S45. After setting the first preset time to a new interval, obtain the number of times the call is made within the second preset time.
[0117] S46. If the number of times exceeds the preset number, an error is returned to the third-party application.
[0118] Optionally, in this embodiment, after setting the first preset time to a new interval, the number of calls is used as the criterion for returning an error.
[0119] Optionally, in this embodiment, if the number of times exceeds a first preset number, an error is reported to the desktop widget of the third-party application;
[0120] Optionally, in this embodiment, if the number of times exceeds a second preset number, an error is reported to the third-party application, wherein the second preset number is greater than the first preset number.
[0121] The beneficial effect of this embodiment is that, after setting the first preset time as a new interval, the number of calls within the second preset time is obtained; if the number exceeds the preset number, an error is returned to the third-party application. This achieves an efficient and accurate desktop widget communication control scheme, automatically monitoring abnormal states of desktop widgets in a timely manner, reducing the functional failure rate of desktop widgets, improving the stability of desktop functions, and enhancing the user experience.
[0122] Example 8
[0123] Figure 10 This is a flowchart of the eighth embodiment of the desktop widget communication control method of the present invention. Based on the above embodiment, if the interval time is less than a first preset time, the first preset time is set as a new interval time; if the frequency of the call exceeds a preset frequency within a second preset time, an error is returned to the third-party application; then the process includes:
[0124] S51. In the interface that returns an error to the third-party application, display a prompt to remove or uninstall the desktop widget and / or the third-party application.
[0125] S52. Remove the desktop widget or uninstall the third-party application according to the touch command prompted.
[0126] Optionally, in this embodiment, a prompt to remove the desktop widget is displayed in the adjacent area of the area where the desktop widget is located.
[0127] Optionally, in this embodiment, an uninstallation prompt for the third-party application or a removal prompt for the desktop widget is displayed in the adjacent area of the icon area of the third-party application on the desktop.
[0128] The beneficial effect of this embodiment is that by displaying a prompt to remove or uninstall the desktop widget and / or the third-party application within the interface that returns an error message to the third-party application, and by allowing users to remove the desktop widget or uninstall the third-party application based on the touch commands in the prompt, an efficient and accurate desktop widget communication control scheme is achieved. This scheme automatically monitors the abnormal state of the desktop widget in a timely manner, reduces the functional failure rate of the desktop widget, improves the stability of desktop functions, and enhances the user experience.
[0129] Example 9
[0130] Based on the above embodiments, the present invention also proposes a desktop widget communication control device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, it implements the steps of the desktop widget communication control method as described in any of the above embodiments.
[0131] It should be noted that the above-described device embodiments and method embodiments belong to the same concept. The specific implementation process can be found in the method embodiments, and the technical features in the method embodiments are also applicable to the device embodiments, which will not be repeated here.
[0132] Example 10
[0133] Based on the above embodiments, the present invention also proposes a computer-readable storage medium storing a desktop widget communication control program, which, when executed by a processor, implements the steps of the desktop widget communication control method as described in any of the above embodiments.
[0134] It should be noted that the above-described medium embodiments and method embodiments belong to the same concept. The specific implementation process can be found in the method embodiments, and the technical features in the method embodiments are also applicable to the medium embodiments, which will not be repeated here.
[0135] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0136] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0137] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.
[0138] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of the present invention without departing from the spirit and scope of the claims. All of these forms are within the protection scope of the present invention.
Claims
1. A method for controlling communication in a desktop widget, characterized in that, The method includes: Identify the third-party application corresponding to the desktop widget, and obtain the first communication interface between the third-party application and the system service; Select a second communication interface from the first communication interface that forwards data from the system service to the desktop service; During the operation of the desktop widget, the interval between calls between the system service and the desktop service via the second communication interface is monitored; If the interval time is less than the first preset time, the first preset time is set as the new interval time. If the frequency of the call exceeds the preset frequency within the second preset time, an error is returned to the third-party application. The step of determining the third-party application corresponding to the desktop widget and obtaining the first communication interface between the third-party application and the system service includes: Retrieve the desktop widgets that are not system components and are currently set in the desktop state; Obtain the first communication interface for synchronous calls between the third-party application and the system service; The step of filtering out the second communication interface from the first communication interface for forwarding from the system service to the desktop service includes: When the third-party application calls the system service, an interface is determined that enables the system service to make asynchronous calls to the desktop service; The interface used for the asynchronous call will be used as the second communication interface; The monitoring of the interval between calls between the system service and the desktop service via the second communication interface during the operation of the desktop widget includes: The monitoring period is determined based on the current desktop status; During the monitoring period, monitor the interval between calls made between the system service and the desktop service via the second communication interface; If the interval is less than a first preset time, the first preset time is set as a new interval. If the frequency of the call exceeds a preset frequency within a second preset time, an error is returned to the third-party application, including: Determine the first type of the desktop widget and the second type of the third-party application corresponding to the desktop widget; Based on the first type and / or the second type, determine one or more of the first preset time, the second preset time, and the preset frequency; Determine the number of second communication interfaces whose interval time is less than a first preset time; The first preset time is increased according to the quantity, and the increased first preset time is set as the new interval time; After setting the first preset time to a new interval, the number of calls within the second preset time is obtained; If the number of attempts exceeds a preset limit, an error message will be returned to the third-party application.
2. The desktop widget communication control method according to claim 1, characterized in that, If the interval is less than a first preset time, the first preset time is set as a new interval. If the frequency of the call exceeds a preset frequency within a second preset time, an error is returned to the third-party application. The process then includes: Within the interface that returns an error message to the third-party application, a prompt to remove or uninstall the desktop widget and / or the third-party application is displayed. Remove the desktop widget or uninstall the third-party application by following the touch commands provided.
3. A desktop widget communication control device, characterized in that, The device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the steps of the desktop widget communication control method as described in claim 1 or 2.
4. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a desktop widget communication control program, which, when executed by a processor, implements the steps of the desktop widget communication control method as described in claim 1 or 2.