Method, medium and electronic device for managing input method
By detecting the stability parameters applied by the input method and automatically managing the input method, the user experience problem caused by poor stability is solved, and the stability and user-friendliness of the input method application are achieved.
Patent Information
- Application Number
- CN202010982270.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-17
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2040-09-17
AI Technical Summary
The poor stability of the input method installed in existing electronic devices leads to poor user experience, resulting in abnormal situations such as excessive delay when pulling up the soft keyboard, excessive delay when responding to the key, frequent crashes, and death.
By detecting the stability measurement parameters applied by the input method, the input method is automatically managed, including prompting the user to select the input method with better stability, automatically restarting, automatically isolating or switching to system installation, to avoid manual operation by the user.
It improves the user experience of the input method application, ensures the stability of input operations, reduces the occurrence of input method abnormalities, and improves the user's input method usage experience.
Smart Images

Figure CN114201057B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a method, medium, and electronic device for managing an input method. Background Art
[0002] As electronic devices such as mobile phones and tablets become increasingly intelligent, input method applications (hereinafter referred to as input methods) are becoming increasingly common in these devices. This has led to increasing user expectations for input method experience. Specifically, electronic devices typically use client applications (hereinafter referred to as clients) that support content input to invoke input methods. For example, electronic devices can invoke input methods through instant messaging applications to enable instant messaging between friends.
[0003] When one or more input methods with poor stability are installed in an electronic device, if a user uses these input methods, there may be abnormal situations such as long delay in pulling up the soft keyboard (i.e., popping up the virtual keyboard), long delay in key presses (i.e., virtual keys), frequent crashes, hangs, or even repeated restarts, which may cause the user to be unable to use the input method normally and provide a poor user experience. Summary of the Invention
[0004] The present application provides a method, medium, and electronic device for managing input methods, which can automatically manage input method applications running in electronic devices, such as input method applications with poor stability, thereby improving the user experience of using input method applications.
[0005] In a first aspect, an embodiment of the present application provides a method for managing an input method, which is applied to an electronic device, comprising: detecting that the electronic device is using a first input method application (hereinafter referred to as the first input method); obtaining a stability measurement parameter of the first input method application, wherein the stability measurement parameter represents the operation status of the first input method application; determining a management operation for the first input method application based on the obtained stability measurement parameter; and performing the determined management operation on the first input method application. The first input method application may be a system-bound input method application invoked by the electronic device through a currently running client. Specifically, the electronic device may detect that the electronic device is using the first input method application by receiving a user instruction to trigger the invocation of the first input method application. It is understood that the electronic device 100 is capable of automatically measuring the stability of the input method when the user inputs through the input method and determining a management operation for the input method based on the stability of the current input method. For example, if the stability of the input method is poor, the management operation automatically determined by the electronic device may be prompting the user to select another input method with better stability, or automatically restarting, automatically isolating, or automatically switching the input method to another input method installed by the system. This eliminates the need for users to manually trigger input method management operations, particularly preventing situations where the current input method's instability causes repeated restarts, preventing the user from accessing the settings function to manually manage the input method. Furthermore, the electronic device can automatically manage the input method application currently bound to the system to ensure that the user can continue inputting, while avoiding the need for users to manually manage the input method application, thus improving the user experience of using the input method.
[0006] In one possible implementation of the first aspect, the management operation is at least one of the following preset operations: closing the input method application, restarting the input method application, switching the input method application, and isolating the input method application. Thus, because the electronic device can provide multiple management operations, it supports automatically managing the input methods bound to the system using different management operations, thereby facilitating diverse and accurate management of different input methods.
[0007] In a possible implementation of the first aspect, the method further includes: displaying a prompt message on the display screen of the electronic device prompting the user to switch input methods when the management operation applied to the first input method is determined to be switching. This facilitates the user to choose whether to switch input methods or which input method to switch to based on their needs.
[0008] In one possible implementation of the first aspect, the stability measurement parameter includes at least one of the following: a response parameter of a first interface, a response parameter of a second interface, a response parameter of a third interface, and a crash parameter. The first interface is an application layer interface of the first input method application invoked by the input method framework; the second interface is an application layer interface of the first input method application invoked by the target client; and the third interface is an application layer interface of the first input method application invoked by the input method management service. The response parameter includes at least one of the following: response delay duration, number of response timeouts, and number of response errors. The crash parameter indicates whether the first input method application has crashed. The target client is the client currently running on the electronic device. The response parameters of the first, second, and third interfaces can be measured by the electronic device based on the input method framework. The crash parameter can be measured by the electronic device based on the system communication framework. It is understood that by invoking the first, second, and third interfaces, the electronic device invokes the first input method application, such as enabling the first input method application or using specific input services within the first input method application, such as filtering candidate words. In this way, the stability measurement parameter can be used to reflect the running status of the first input method application, thereby triggering the electronic device to automatically manage the first input method application.
[0009] In a possible implementation of the first aspect, determining the management operation for the first input method application based on the obtained stability measurement parameter includes: if the obtained stability measurement parameter meets a target condition, determining a preset operation corresponding to the target condition as the management operation for the first input method application; wherein the target condition is one of at least two preset conditions, different preset conditions indicating different degrees of abnormality in the operation of the first input method application, and different preset conditions corresponding to different preset operations. It is understood that the electronic device can pre-set different target conditions, such as pre-setting the "relationship between the stability measurement parameter of the first input method and the stability level" mentioned below, for determining the stability level of the first input method application currently bound to the system, i.e., the degree of abnormality in the operation of the first input method application. For example, if the target condition is: the key response delay of the first input method application exceeds 50ms for more than 5 consecutive times, and the level is set to 3, then the stability of the first input method application is poor, and the corresponding management operation is: prompting the user to change the input method, such as displaying the prompt message "The current input method has poor stability. Please switch input methods promptly."
[0010] In a possible implementation of the first aspect above, the target condition includes at least one of the following: the response parameter of the first interface is greater than or equal to a first threshold, the response parameter of the second interface is greater than or equal to a second threshold, the response parameter of the third interface is greater than or equal to a third threshold, and the number of crashes of the first input method application within a preset time period is greater than or equal to a fourth threshold. The target condition is: when the stability level of the first input method is 3, the response delay of the first interface exceeds 50ms (indicating that the input method key response delay exceeds 50ms) and accumulates for more than 5 consecutive times. In this case, the first threshold is 50ms. Of course, the target condition can be set according to the specific implementation of the solution and is not limited to the above example. Of course, the target condition not only indicates that the response parameters of the first interface, the second interface, and the third interface are greater than a certain threshold, but also indicates that the number of times the response parameters of these interfaces are greater than a certain threshold is greater than a predetermined value. Thus, the target condition reflects the stability level of the first input method application, that is, the degree of abnormality.
[0011] In a possible implementation of the first aspect, the method further includes: when the management operation is determined to be isolating the input method, deleting the first input method application from an available list, wherein the input methods in the available list (i.e., the available input method list hereinafter) are input methods that support switching of the electronic device. In this way, since the electronic device isolates the first input method application with poor stability and then deletes the input method application from the available list, it can be used to prevent the user from accidentally triggering the re-switch of the input method to the first input method application, thereby preventing the user from being unable to use the input method normally using the first input method application again.
[0012] In one possible implementation of the first aspect, performing the determined management operation on the first input method application includes: displaying and recording the available list; and, in response to a user instruction to select a second input method from the available list, switching the running first input method application to the second input method. In this way, because the electronic device can automatically provide the user with an entry for switching input methods (i.e., the available list), the user can quickly trigger the electronic device to switch the current first input method application to another input method application that suits their preferences, further improving the user's experience with input method applications.
[0013] In a possible implementation of the first aspect above, the method further includes: reporting the stability measurement result of the first input method application to the server, the stability measurement result corresponding to the target condition; receiving installation suggestion information corresponding to the first input method application sent by the server; wherein the installation suggestion information is sent by the server to at least one device, the at least one device includes the electronic device, and the installation suggestion information is obtained according to the stability measurement result. In this way, when installing the first input application, other electronic devices can obtain the installation suggestion information of the input method application, such as stability level information, thereby helping to reduce the probability of users installing input methods with poor stability, and ultimately indirectly improving the user experience of using the input method by driving the quality improvement of the input method through the application ecosystem.
[0014] In a possible implementation of the first aspect above, before executing the determined management operation on the first input method application, the method further includes: displaying target prompt information, wherein the target prompt information is used to prompt the user to select whether to trigger the execution of the determined management operation on the first input method application. In this way, the user can decide whether to perform the management operation on the currently running first input method application, or the user can be aware that the electronic device is managing the input method application, which is conducive to improving the human-computer interaction experience during the management of the input method application.
[0015] In a second aspect, the present application provides a device for managing input methods, comprising: a detection module for detecting that an electronic device uses a first input method application; an acquisition module for acquiring stability measurement parameters of the first input method application, wherein the stability measurement parameters represent the operation status of the first input method application; a determination module for determining a management operation on the first input method application based on the stability measurement parameters acquired by the acquisition module; and an execution module for executing the determined management operation on the first input method application.
[0016] In a possible implementation of the second aspect above, the management operation is at least one of the following preset operations: closing the input method, restarting the input method, switching the input method, and isolating the input method.
[0017] In a possible implementation of the second aspect, the execution module is further configured to display a prompt message on the display screen of the electronic device to prompt the user to switch the input method when it is determined that the management operation applied to the first input method is switching.
[0018] In a possible implementation of the second aspect above, the stability measurement parameters include at least one of the following: a response parameter of the first interface, a response parameter of the second interface, a response parameter of the third interface, and a crash parameter; wherein, the first interface is an application layer interface for the first input method application to be called by the input method framework; the second interface is an application layer interface for the first input method application to be called by the target client, and the third interface is an application layer interface for the first input method application to be called by the input method management service; the response parameters include at least one of the following: the duration of the response delay, the number of response timeouts, and the number of response errors; the crash parameter is used to indicate whether the first input method application has crashed.
[0019] In a possible implementation of the second aspect, the acquisition module is specifically configured to, if the acquired stability measurement parameter meets a target condition, determine a preset operation corresponding to the target condition as the management operation applied to the first input method;
[0020] The target condition is one of at least two preset conditions, different preset conditions indicate different abnormality levels of the operation of the first input method, and different preset conditions correspond to different preset operations.
[0021] In a possible implementation of the second aspect above, the target condition includes at least one of the following: the response parameter of the first interface is greater than or equal to a first threshold, the response parameter of the second interface is greater than or equal to a second threshold, the response parameter of the third interface is greater than or equal to a third threshold, and the number of crashes of the first input method application within a preset time length is greater than or equal to a fourth threshold.
[0022] In a possible implementation of the second aspect above, the above-mentioned electronic device also includes: a deletion module, which is used to delete the first input method application from the available list when the management operation determined by the determination module is to isolate the input method, and the input method in the available list is an input method that supports switching of the electronic device.
[0023] In a possible implementation of the second aspect, the execution module is specifically configured to display and record the available list; and in response to a user instruction to select a second input method from the available input method list, switch the running first input method application to the second input method.
[0024] In a possible implementation of the second aspect, the electronic device further includes: a sending module, configured to report a stability measurement result of the first input method application to a server, where the stability measurement result corresponds to the target condition;
[0025] a receiving module, configured to receive installation suggestion information corresponding to the first input method application sent by the server;
[0026] The installation suggestion information is sent by the server to at least one device, the at least one device includes the electronic device, and the installation suggestion information is obtained according to the stability measurement result.
[0027] In a possible implementation of the second aspect above, the electronic device also includes: a display module, which is used to display target prompt information before the execution module executes the determined management operation on the first input method application, and the target prompt information is used to prompt the user to choose whether to trigger the execution of the determined management operation on the first input method application.
[0028] In a third aspect, an embodiment of the present application provides a readable medium having instructions stored thereon. When the instructions are executed on an electronic device, the electronic device executes the method for managing input methods described in the first aspect above.
[0029] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising: a memory for storing instructions executed by one or more processors of the electronic device, and a processor, which is one of the processors of the electronic device, for executing the method for managing input methods described in the first aspect above. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1 According to some embodiments of the present application, a system schematic diagram of an input method management method application is shown;
[0031] Figure 2 According to some embodiments of the present application, a system schematic diagram of another input method management method application is shown;
[0032] Figure 3 According to some embodiments of the present application, a system schematic diagram of another input method management method application is shown;
[0033] Figure 4 According to some embodiments of the present application, a mobile phone interface display intention is shown;
[0034] Figure 5 According to some embodiments of the present application, another mobile phone interface display intention is shown;
[0035] Figure 6 According to some embodiments of the present application, a flowchart of an input method management method is shown;
[0036] Figure 7 According to some embodiments of the present application, a flowchart of an input method management method is shown;
[0037] Figure 8 According to some embodiments of the present application, a flowchart of another input method management method is shown;
[0038] Figure 9 According to some embodiments of the present application, a flowchart of another input method management method is shown;
[0039] Figure 10 According to some embodiments of the present application, a flowchart of another input method management method is shown;
[0040] Figure 11 According to some embodiments of the present application, a flowchart of another input method management method is shown;
[0041] Figure 12 According to some embodiments of the present application, another mobile phone interface display intention is shown;
[0042] Figure 13 According to some embodiments of the present application, another mobile phone interface display intention is shown;
[0043] Figure 14 According to some embodiments of the present application, another mobile phone interface display intention is shown;
[0044] Figure 15 According to some embodiments of the present application, another mobile phone interface display intention is shown;
[0045] Figure 16 According to some embodiments of the present application, a schematic structural diagram of an electronic device is shown;
[0046] Figure 17 According to some embodiments of the present application, a software structure block diagram of an electronic device is shown. DETAILED DESCRIPTION
[0047] Illustrative embodiments of the present application include, but are not limited to, methods, media, and electronic devices for managing input methods.
[0048] The technical solutions of the embodiments of the present application are further described in detail below through the accompanying drawings and examples.
[0049] Figure 1 This is a system diagram of an input method management application provided in an embodiment of the present application. Figure 1 As shown, the system 10 includes at least one electronic device 100 and a server 200 ( Figure 1 An electronic device 100 is used as an example).
[0050] Among them, the electronic device 100 is various devices installed with one or more input methods, such as: mobile phones, computers, laptop computers, tablet computers, televisions, display devices, outdoor display screens, vehicle-mounted terminals, etc. (for the sake of convenience, the following description will take mobile phones as an example). The electronic device 100 can automatically measure the stability of the input method when the user inputs through the input method and determine the management operation of the input method based on the stability of the current input method. For example, if the stability of the input method is poor, the user is prompted to select other input methods with better stability, or the input method is automatically restarted, automatically isolated, automatically switched to other input methods installed in the system, and other management operations to ensure that the user can continue to complete the input, thereby improving the user experience of using the input method.
[0051] In addition, electronic devices can use technologies such as cloud services / distributed services to upload / publish the stability of certain input methods, so that other electronic devices can obtain information about the stability of these input methods when installing these input methods, thereby helping to reduce the probability of users installing input methods with poor stability. Ultimately, by driving the quality improvement of input methods through the application ecosystem, the user experience of using input methods can be indirectly improved.
[0052] The server 200 can be a hardware server or implanted in a virtualized environment. For example, according to some embodiments of the present application, the server 200 can be a virtual machine executed on a hardware server including one or more other virtual machines, i.e., a cloud server. The electronic device 100 can communicate wirelessly with the server 200 through various wireless methods. For example, the electronic device 100 can send information about the stability level of the input method to the server 200 to indicate the stability of the input method, i.e., to indicate the quality of the input method. In addition, the server 200 can send installation suggestion information of various input methods to the electronic device 100, such as whether to recommend the user to download the input method.
[0053] In some embodiments, the server 200 may be a server that supports providing an application (APP) download service, such as a server corresponding to an application store (APP store) installed in the mobile phone 100 .
[0054] Figure 2 1 shows a schematic diagram of the structure of the mobile phone 100 related to input method management. Figure 2As shown, the mobile phone 100 includes an input method application module 101, an input object application module 102, an input method management module 103, and a monitoring module 104. The input method application module 101, the input object application module 102, and the input method management module 103 primarily measure the stability of the input method application layer business logic by cooperating with the input method framework and the system communication framework in the mobile phone 100, and report the measured stability measurement parameters to the monitoring module 104, so that the monitoring module 104 can determine the management operation of the input method based on the received stability parameters.
[0055] It is understood that the stability measurement parameters of an input method are used to indicate the operation status of the input method (i.e., whether it is operating abnormally). For example, the operation status can be determined by counting the response delay / timeout times and the number of error messages of the input method application interface. In addition, when the mobile phone 100 calls the input method currently bound to the system, the system communication framework can also measure the crash parameters of the input method, i.e., the parameters indicating whether the input method has crashed. The crash parameters can also be used to reflect whether the input method has experienced any abnormalities.
[0056] In addition, as an example, the input method architecture in the mobile phone 100 can be an Android input method framework (IMF), which includes an input method manager (IMM), an input method application (IME), and a client application (client). In some embodiments, the input method application module 101, the input object application module 102, and the input method management module 103 can be implemented based on the IME, client, and IMM, respectively. Of course, the input method framework in the mobile phone 100 includes but is not limited to the above examples, and can also be any other implementable input method framework.
[0057] Continue to refer Figure 2 The input method application module 101 is used to execute the input service or process of the input method currently bound to the mobile phone 100 system, for example, supporting the mobile phone 100 to decide when to hide (i.e., cancel the display) or display the user interface (UI) of the input method, such as the input window of the input method; it is also used to measure the stability measurement parameters of the input method application module 101 corresponding to the input method currently bound to the system.
[0058] For example, in some embodiments, the input method application module 101 can be an application of the input method bound to the current system of the mobile phone 100, for example, the input method that comes with the mobile phone 100 system, or a third-party input method, such as Google, Sogou, etc.
[0059] The input object application module 102 is used to call the client of the input method bound to the current system, and to control the input focus and the input method application module 101 through the input method management module 103; it is also used to measure the stability measurement parameters of the input object application module 102 corresponding to the input method bound to the current system.
[0060] For example, in some embodiments, the input object application module 102 may be a client with a content input scenario that calls an input method, such as an instant messaging APP, a search APP, a banking APP, etc.
[0061] The input method management module 103 is used to provide input method management services, manage multiple input methods in the mobile phone 100 and interact with other system services, such as triggering the closing, enabling or switching of an input method; it is also used to measure the stability measurement parameters of the input method bound to the current system corresponding to the input method management module 103.
[0062] The monitoring module 104 is used to collect stability measurement parameters measured by the input method application module 101, the input object application module 102, and the input method management module 103, determine management operations for the input method application based on the stability measurement parameters, and then control the input method management module 103 to perform the corresponding management operations. It is also used to report the stability level of the input method currently bound to the system to the server, such as the stability level of input methods with low stability levels.
[0063] Refer to 2 and Figure 3 The input method application module 101 includes a stability measurement submodule 1011, an input method business submodule 1012, an input method framework submodule 1013, and a communication submodule 1014. The input object application module 102 includes a stability measurement submodule 1021 and an input method client submodule 1022. The input method management module 103 includes a stability measurement submodule 1031 and an input method management service submodule 1032. Specifically, the input method framework implements functions through these submodules, which will be described in detail in the section "Description of the System for Applying the Input Method Management Method" below.
[0064] Figure 6 In the scenario where users use input methods, based on Figure 2 and Figure 3 The structure of the mobile phone 100 shown in the figure implements a flow chart of a method for managing input methods. Figure 6 As shown, the method includes steps 601 to 605.
[0065] Step 601: The mobile phone 100 detects that the target client calls a first input method.
[0066] For example, the first input method is the input method currently bound to the mobile phone 100 system, such as the system default or the input method manually selected by the user. The target client can be a client application with a content input scenario that currently calls the first input method. That is, when the mobile phone 100 can display the UI interface of the target client, the first input method is called.
[0067] It is understandable that "input method call" refers to: opening, closing, switching input methods, and running input services of the input method, such as the input service of filtering candidate words and entering characters.
[0068] In some embodiments, the mobile phone 100 can detect whether the user calls the input method bound to the current system in the currently running client by detecting whether the user triggers a screen event to call the input method, such as an event that triggers the pop-up of the input method's virtual keyboard or operates the virtual keyboard.
[0069] According to some embodiments of the present application, when the mobile phone 100 runs the target client, the UI interface of the target client including the edit box can be displayed. Figure 4 As shown in FIG. 1 , a UI interface diagram of the target client provided in an embodiment of the present application is a UI interface of a chat window between communication object "User A" and communication object "User B", wherein the UI interface includes an edit box 41. The user clicks on the edit box 41, so that the edit box 41 obtains the input focus, and then the UI interface of the input window of the first input method pops up, as shown in FIG. Figure 5 The UI interface of the input window 51 is shown.
[0070] like Figure 5 As shown, it is a schematic diagram of the UI of the input window of an input method provided in an embodiment of the present application, and the input window 51 includes a virtual keyboard 511, a candidate word display box 512, an exit button 513 and a switch button 514. Among them, the virtual keyboard 511 includes virtual keys such as "ABC", "DEF", "," and "," for supporting users to input Chinese, English and other characters. The candidate word display box 512 is used to display the candidate words screened out by the first input method, and update the candidate words in the candidate word display box 512 to the edit box 41 when triggered by the user. The exit button 513 is used to trigger the closing of the input method. The switch button 514 is used to trigger the switching of the UI interface layout of the input method or switch to other input methods.
[0071] For example, if a user clicks Figure 5After pressing the virtual keys "WXYZ" and "MNO" as shown, the mobile phone 100 can interact with the input method application module 101 through the input object application module 102 to obtain the candidate word "I" and display the candidate word "I" in the candidate word display box 512. Subsequently, when the user clicks the candidate word "I" in the candidate word display box 512, the mobile phone 100 interacts with the input method application module 101 and the input object application module 102 to update the candidate word "I" to the edit box 41.
[0072] Specifically, the mobile phone 100 calls the first input method (ie, the input method currently bound to the system) according to the user instruction. For example, the user instruction is any one of the following user instructions 1-4, but is not limited thereto.
[0073] User instruction 1: used to trigger the activation of the first input method and pop up (or pull up) the virtual keyboard of the input method, for example, the user Figure 4 The user instruction corresponding to the click operation of the edit box 41 is shown. It is understandable that if the stability of the first input method is poor, then in response to user instruction 1, the input method may experience abnormalities such as a timeout or extended response of the pop-up virtual keyboard. In addition, after responding to user instruction 1, the input method may also experience abnormalities such as hanging (i.e., not responding), frequent crashes, or even repeated restarts.
[0074] User instruction 2: used to trigger the input service function using the first input method, for example, the user Figure 5 The user instructions correspond to the click operation of the virtual keys (such as the virtual keys "WXYZ" and "MNO") in the virtual keyboard 511 shown, or the user's click operation on the candidate words (such as the candidate word "I") in the candidate word display box 512.
[0075] User instruction 3: used to trigger closing the first input method and cancel displaying the input window of the input method, for example, the user Figure 5 The user instruction corresponding to the click operation of the exit button 513 is shown.
[0076] User command 4: used to trigger the switching of the interface layout of the input method currently bound to the system, such as switching the interface layout of the first input method from "Simplified Pinyin Nine-square Grid" to "Simplified Pinyin Full Keyboard"; also used to switch other input methods, that is, switch the currently running input method to other input methods.
[0077] It is understood that the mobile phone 100 can detect the user's instruction to call the first input method in the target client. If the stability of the first input method is poor, then in response to any of the above user instructions 2-4, the first input method may experience abnormalities such as virtual key response timeout and extended response time.
[0078] In some embodiments, the mobile phone 100 calls the application layer interface of the input method currently bound to the system through some submodules of the input method application module 101, input object application module 102, and input method management module 103. Specifically, in some embodiments, the mobile phone 100 calls the input method by calling the application layer interface of the input method currently bound to the system.
[0079] Specifically, the process of the mobile phone 100 calling the input method currently bound to the system includes:
[0080] 1) The mobile phone 100 calls the application layer interface of the input method through the input method framework (denoted as interface P1);
[0081] 2) The mobile phone 100 uses the application layer interface of the input method through the target client (denoted as interface P2);
[0082] 3) The mobile phone 100 calls the application layer interface of the input method (denoted as interface P3) through the input method management service.
[0083] In some embodiments, the response parameters of an interface may include at least one of the following: the length of the response delay (eg, 300 milliseconds (ms)), the number of response timeouts, and the number of response errors.
[0084] Specifically, in steps 602 - 604 , the stability measurement parameters of the first input method are measured respectively by the input method application module 101 , the input object application module 102 , and the input method management module 103 .
[0085] Step 602 : The mobile phone 100 measures a stability measurement parameter of the first input method through the input method application module 101 , and reports the stability measurement parameter to the monitoring module 104 .
[0086] It is understandable that the mobile phone 100 can call the application layer interface of the first input method through the input method framework, that is, call the interface of the input method service submodule 1012 (that is, the above-mentioned interface P1) through the input method framework submodule 1013.
[0087] Specifically, the stability measurement parameter measured by the input method application module 101 , that is, the measurement index of the input method application module 101 , is the response parameter of the interface P1 .
[0088] For example, the stability measurement parameter measured by the input method application module 101 is:
[0089] Response delay or response timeout times of interface P1;
[0090] Number of error responses from interface P1.
[0091] It is understood that the response parameters of interface P1 can reflect the operation status of the input method application module 101, and thus reflect the operation status of the first input method, such as whether an anomaly occurs in the first input method. For example, a response delay of interface P1 indicates a response delay of the first input method's virtual keys or a virtual keyboard pop-up delay; a response timeout of interface P1 indicates that the first input method's virtual keys take too long to respond or the virtual keyboard takes too long to pop up; an error response from interface P1 indicates that the first input method's virtual keys are unresponsive or the virtual keyboard is unresponsive, or even that the first input method is hung or repeatedly restarted, and other anomalies.
[0092] In addition, the starting and ending positions of the stability measurement parameters measured by the input method application module 101 are:
[0093] 1) Starting position: the position where the input method framework of the mobile phone 100 calls the application layer interface P1 of the first input method, that is, the position where the input method framework submodule 1023 calls the interface P1 of the input method service submodule 1012.
[0094] 2) End position, where the application layer interface of the first input method returns the call result to the input method framework, that is, the interface P1 of the input method service submodule 1012 returns the interface call result to the input method framework submodule 1023.
[0095] The process of the mobile phone 100 interactively measuring the stability measurement parameters of the first input method through the various submodules in the input method application module 101 will be described in detail below and will not be repeated here.
[0096] Step 603 : The mobile phone 100 measures the stability measurement parameter of the first input method through the input object application module 102 , and reports the stability measurement parameter to the monitoring module 104 .
[0097] In some embodiments, the mobile phone 100 can use the application layer interface of the first input method through the target client, that is, call the interface of the input method framework submodule 1013 (that is, the above-mentioned interface P2) through the input method client submodule 1022.
[0098] Specifically, the stability measurement parameter measured by the input object application module 102 , that is, the measurement index of the input object application module 102 , is the response parameter of the interface P2 .
[0099] For example, the stability measurement parameter measured by the input object application module 102 is:
[0100] 1) Response delay or response timeout number of interface P2;
[0101] 2) Number of response errors from interface P2.
[0102] It is understood that the response parameters of interface P2 can reflect the operation status of the input object application module 102, and thus reflect the operation status of the first input method, such as whether an anomaly occurs in the first input method. For example, a response delay of interface P2 indicates a response delay of the first input method's virtual keys or a virtual keyboard pop-up delay; a response timeout of interface P2 indicates that the first input method's virtual keys take too long to respond or the virtual keyboard takes too long to pop up; an error response from interface P2 indicates that the first input method's virtual keys are unresponsive or the virtual keyboard is unresponsive, or even that the first input method is hung or repeatedly restarted, among other anomalies.
[0103] In addition, the starting and ending positions of the stability measurement parameters measured by the input object application module 102 are:
[0104] 1) Starting position: the position where the mobile phone 100 uses the application layer interface P2 of the first input method through the target client, that is, the position where the input method client submodule 1022 calls the interface P2 of the input method framework submodule 1013.
[0105] 2) End position, where the application layer interface of the first input method returns the call result to the target client, that is, the position where the interface P2 of the input method framework submodule 1013 returns the interface call result to the input method client submodule 1022.
[0106] The process of the mobile phone 100 interactively measuring the stability measurement parameters of the first input method through the various submodules in the input object application module 102 will be described in detail below and will not be repeated here.
[0107] Step 604 : The mobile phone 100 measures the stability measurement parameter of the first input method through the input method management module 103 , and reports the stability measurement parameter to the monitoring module 104 .
[0108] In some embodiments, the mobile phone 100 can call the application layer interface of the first input method through the input method management service, that is, call the interface of the input method framework submodule 1013 (that is, the above-mentioned interface P3) through the input method management service submodule 1032.
[0109] In addition, during the process of calling the first input method, the mobile phone 100 can also measure the crash parameters of the first input method through the system communication framework, such as interacting with the system communication framework through the communication submodule 1014 to detect and transmit the crash of the input method application module 101.
[0110] Specifically, the stability measurement parameters measured by the input method management module 103 , that is, the measurement indicators of the input method management module 103 , include: a response parameter of the interface P3 and a crash parameter of the first input method.
[0111] For example, the stability measurement parameters measured by the input method management module 103 include:
[0112] 1) Response delay or response timeout number of interface P3;
[0113] 2) Number of response errors from interface P3;
[0114] 3) The number of crashes of the input method application module 101 .
[0115] It is understood that the response parameters of interface P3 can reflect the operation status of the input method management module 103 and, in turn, the operation status of the first input method, such as whether an anomaly occurs with the first input method. For example, a response delay of interface P3 indicates a delay in the pop-up of the first input method's virtual keyboard; a response timeout of interface P3 indicates that the pop-up of the first input method's virtual keyboard takes too long; and an error response of interface P3 indicates that the first input method's virtual keyboard is unresponsive, or even that the first input method is hung or repeatedly restarted.
[0116] In addition, the starting and ending positions of the stability measurement parameters measured by the input method management module 103 are:
[0117] 1) Starting position: the position where the mobile phone 100 calls the application layer interface P3 of the first input method through the input method management service, that is, the position where the input method management service submodule 1032 calls the interface P3 of the input method framework submodule 1013.
[0118] 2) End position, where the application layer interface of the first input method returns the call result to the target client, that is, the interface P3 of the input method framework submodule 1013 returns the interface call result to the input method management service submodule 1032.
[0119] Taking into account the various parameters reflecting whether the first input method has abnormalities, the stability measurement parameters of the first input method may include at least one of the following: a response parameter of interface P1, a response parameter of interface P2, a response parameter of interface P3, and a crash parameter of the first input method.
[0120] Step 605 : The mobile phone 100 determines the stability level of the first input method through the stability measurement parameter of the first input method received by the monitoring module 104 , and controls the input method management module 103 to perform a management operation corresponding to the stability level on the first input method.
[0121] In some embodiments, the mobile phone 100 may pre-set a Quality of Service (QoS) rule (or stability level rule) for setting the relationship between the stability measurement parameters, stability level, and management operations of the first input method.
[0122] For example, the relationship between the stability level of the first input method and the management operation indicated by the stability level rule includes: the stability level of the first input method is divided into 5 levels (1-5), 5 being the highest and 1 being the lowest. That is, the input method with a stability level of 5 has the best stability, and the input method with a stability level of 1 has the worst stability.
[0123] Specifically, when the stability level is evaluated as 3, the management operation is: prompting the user to change the input method, such as displaying Figure 12 The prompt message "The current input method is unstable, please switch input method" is displayed, and Figure 12 The entry control "Input Method List" is shown to support the user to select the input method to be switched to the available input method list, but is not limited thereto.
[0124] When the stability level is 2, the management operation is: automatically switch to the system input method or other input methods preset by the user, and prompt the user to switch the input method, such as display Figure 13 The prompt message displayed is "The current input method is too unstable and the input method has been automatically switched for you."
[0125] When the level is 1, the management operation is: isolate the input method, automatically switch to the system input method or other input methods preset by the user, and prompt the user that the input method has been switched, such as displaying Figure 13 The prompt message displayed is "The current input method is too unstable, and the input method has been automatically switched for you." Specifically, isolating an input method means disabling the input method.
[0126] In addition, after automatically switching the input method (such as the second input method), the mobile phone 100 can automatically display the virtual keyboard of the switched input method on the current screen so that the user can continue to complete the input operation.
[0127] According to some embodiments of the present application, the relationship between the stability measurement parameter of the first input method and the stability level indicated by the above stability level rule includes but is not limited to the following examples 1)-7):
[0128] 1) If the input method application module 101 crashes 3 or more times within 5 minutes, the stability level is set to 1;
[0129] 2) If the input method keyboard pop-up delay exceeds 300ms (for example, the response delay of at least one of interfaces P1-P3 exceeds 300ms) for more than three consecutive times, the stability level is set to 3;
[0130] 3) If the input method keyboard pop-up delay exceeds 500ms (for example, the response delay of at least one of interfaces P1-P3 exceeds 500ms) for more than three consecutive times, the stability level is set to 2;
[0131] 4) If the input method keyboard pop-up delay exceeds 1000ms (for example, the response delay of at least one of interfaces P1-P3 exceeds 1000ms) for more than three consecutive times, the stability level is set to 1;
[0132] 5) If the input method key response delay exceeds 50ms (for example, the response delay of interface P1 or P2 exceeds 50ms) for more than 5 consecutive times, the stability level is set to 3;
[0133] 6) If the input method key response delay exceeds 100ms (for example, the response delay of interface P1 or P2 exceeds 100ms) for more than 5 consecutive times, the stability level is set to 2;
[0134] 7) If the input method key response delay exceeds 500ms (for example, the response delay of interface P1 or P2 exceeds 500ms) for more than 5 consecutive times, the stability level is set to 1.
[0135] It is understandable that the threshold value in the above example can be adjusted according to actual scenarios such as whether there is a keyboard pop-up animation.
[0136] In addition, when the stability level of the first input method is 4 or 5, it indicates that the stability of the input method is relatively good, and there is no need to perform management operations on the input method, and of course there is no need to determine the corresponding management operations of the input method. For example, if there is no delay in the pop-up of the input method keyboard, or the pop-up delay of the input method keyboard does not exceed 300ms (for example, the response delay of at least one of the interfaces P1-P3 does not exceed 300ms), the stability level of the input method is set to 5; if the pop-up delay of the input method keyboard exceeds 300ms (for example, the response delay of at least one of the interfaces P1-P3 does not exceed 300ms) for no more than 3 consecutive times, the stability level of the input method is set to 4.
[0137] In some embodiments, the mobile phone 100 can provide a list of available input methods, showing the user the input methods that the mobile phone 100 supports switching, and supporting the user to select a certain input method as the input method bound to the current system. Specifically, after the mobile phone 100 isolates the first input method, the first input method will not be included in the list of available input methods, indicating that the first input method has been disabled and the user cannot switch out of the first input method using the conventional switching method. Of course, the user can choose whether to cancel the isolation of the isolated first input method through the system settings interface in the mobile phone 100 to re-add the first input method to the above-mentioned list of available input methods.
[0138] For example, if the statistically determined stability measurement parameter for the first input method is that the input method key response delay exceeds 100ms, then the target stability level of the first input method is 2. The management operation is to automatically switch the current first input method to another input method (such as the second input method) and prompt the user to switch input methods. The mobile phone 100 displays the prompt message "The current input method is too unstable. You have automatically switched to the second input method." The second input method can be an input method that is not isolated, such as any input method in the list of available input methods.
[0139] In addition, in other embodiments, when the mobile phone 100 determines that the stability level of the first input method is 2, it can first display a list of available input methods, and the user can trigger the mobile phone 100 to switch the first input method to the second input method by selecting information about the second input method from the list of available input methods.
[0140] It can be understood that since the mobile phone 100 can provide multiple management operations and supports the mobile phone 100 to automatically manage the input methods bound to the system using different management operations, it is conducive to achieving diversity and accuracy in managing different input methods.
[0141] In this way, in the scenario where the user uses the input method, the stability measurement parameters of the input method during operation can be measured. Thus, the degree of abnormality of the input method is analyzed through the stability measurement parameters, the stability level of the input method is determined, and the input method with abnormality is managed according to the stability level. For example, for an input method with abnormality and poor stability, such as the first input method with a stability level of the target preset level, the electronic device performs management steps such as shutting down, restarting, switching or disabling the first input method. In this way, by automatically monitoring and managing input methods with poor stability through electronic devices, users can avoid using input methods with poor stability for a long time, and avoid users manually managing input methods with poor stability, making it convenient for users to use the input method normally to complete input method operations, thereby improving the user experience when using the input method.
[0142] Measurement based on the input method application module 101
[0143] According to some embodiments of the present application, the mobile phone 100 can interactively measure the stability measurement parameters of the first input method through various submodules in the input method application module 101. Specifically, Figure 7 As shown, the above step 602 can be based on Figure 3 The structure shown is achieved through the following steps A1-A6.
[0144] Step A1: When the first input method application is started, the input method framework submodule 1013 initializes an instance of the stability measurement submodule 1011 .
[0145] It is understandable that the stability measurement submodule 1011 can be a program code loaded by the input method application module 101 , and the program code can be stored in the storage space where the input method application module 101 is located, or in the storage space called by the input method application module 101 .
[0146] In addition, if the user instruction in step 601 is user instruction 1, then the mobile phone 100 is activating the first input method and step A1 is being executed. If the user instruction in step 601 is any one of user instructions 2-4, then the mobile phone 100 has activated the first input method and step A1 has been completed.
[0147] Step A2: The stability measurement submodule 1011 sets a measurement callback to the input method framework submodule 1013.
[0148] It is understandable that executing step A2 can enable the stability measurement submodule 1011 to subsequently call an interface of the input method framework submodule 1013 , such as interface P1 .
[0149] Step A3: The input method framework submodule 1013 calls back the measurement callback interface Pa of the stability measurement submodule 1011 at the interface P1 of the input method service submodule 1012 to start a measurement. That is, the input method framework submodule 1013 indicates the starting position of the measurement to the stability measurement submodule 1011.
[0150] Step A4: The input method framework submodule 1013 calls back the measurement callback interface Pa of the stability measurement submodule 1011 upon receiving the call result of the interface P2 returned by the input method service submodule 1012 to end the measurement. That is, the input method framework submodule 1013 indicates the end position of the measurement to the stability measurement submodule 1011.
[0151] Step A5: The input method framework submodule 1013 determines that a single measurement is completed, and notifies the stability measurement submodule 1011 to process the stability measurement parameters of this measurement, that is, notifies the stability measurement submodule 1011 to process the response parameters of the interface P1 of this measurement.
[0152] For example, the stability measurement submodule 1011 measures the stability measurement parameters and can distinguish different categories of response parameters, such as distinguishing the response delay and response timeout of interface P1, and calculating the number of times different response delays of interface P1 occur, such as recording the number of times the response delay of interface P1 exceeds 300ms and the number of times the response delay of interface P1 exceeds 500ms.
[0153] In addition, in other embodiments, the input method framework submodule 1013 is used to calculate the stability measurement parameter, while the stability measurement submodule 1011 is only used to transmit the stability measurement parameter.
[0154] Step A6: The stability measurement submodule 1011 reports the measured stability measurement parameters to the statistics submodule 1041 in the monitoring module 104 .
[0155] It is understood that the stability measurement submodule 1011 may perform a measurement each time in response to a user instruction to invoke the first input method. Specifically, the stability measurement submodule 1011 may report the stability measurement parameters obtained from each measurement to the statistics submodule 1041. Alternatively, the stability measurement submodule 1011 may measure and cache the stability measurement parameters multiple times, and then periodically report the stability measurement parameters to the statistics submodule 1041.
[0156] Measurements based on input object application module 102
[0157] According to some embodiments of the present application, the mobile phone 100 measures the stability measurement parameters of the first input method through the interaction of the various submodules in the input object application module 102. Specifically, Figure 8 As shown, the above step 603 can be based on Figure 3 The structure shown is realized by the following steps B1-B6.
[0158] Step B1: When the input object application module 102 corresponding to the target client is started, the input method client submodule 1022 initializes an instance of the stability measurement submodule 1021.
[0159] Step B2: The stability measurement submodule 1021 sets a measurement callback to the input method client submodule 1022.
[0160] Step B3: The input method client submodule 1022 calls back the measurement callback interface Pb of the stability measurement submodule at the interface P2 of the input method framework submodule 1013 to start a measurement.
[0161] Step B4: After receiving the call result of the interface P2 returned by the input method framework submodule 1013, the input method client submodule 1022 calls back the measurement callback interface Pb of the stability measurement submodule to end a measurement.
[0162] Step B5: The input method client submodule 1022 determines that a single measurement is completed, and notifies the stability measurement submodule 1021 to process the stability measurement parameters of this time.
[0163] Step B6: The stability measurement submodule 1021 reports the stability measurement parameters to the statistics submodule 1041 in the monitoring module 104 .
[0164] Similarly, the detailed description of steps B1-B6 can refer to the relevant description of steps A1-A6 in the above embodiment, which will not be repeated here. The difference is that the mobile phone 100 measures the stability measurement parameter of the first input method through the corresponding submodule in the input object application module 102.
[0165] Measurement based on the input method management module 103
[0166] According to some embodiments of the present application, the mobile phone 100 measures the stability measurement parameters of the first input method through the interaction of the various submodules in the input method management module 103. Figure 3 ,like Figure 9 As shown, the above step 604 can be implemented through the following steps C1-C6.
[0167] Step C1: When the input method management module 103 is started, the input method management service submodule 1032 initializes an instance of the stability measurement submodule 1031 .
[0168] Step C2: The stability measurement submodule 1031 sets a measurement callback to the input method management service submodule 1032.
[0169] Step C3 : The input method management service submodule 1032 calls back the measurement callback interface Pc of the stability measurement submodule at the interface P3 of the input method framework submodule 1013 to start a measurement.
[0170] Step C4: upon receiving the result of calling the interface P3 returned by the input method framework submodule 1013, the input method management service submodule 1032 calls back the measurement callback interface Pc of the stability measurement submodule 1031 to complete a measurement.
[0171] Step C5 : When the input method management service submodule 1032 receives the crash parameters from the crash notification of the communication submodule 1014 , it calls back the measurement callback interface Pc of the stability measurement submodule 1031 to perform statistics.
[0172] Step C6: The input method management service submodule 1032 determines that a single measurement is completed, and notifies the stability measurement submodule 1031 to process the stability measurement parameters of this measurement.
[0173] Step C7: The stability measurement submodule 1031 reports the stability measurement parameters to the statistics submodule 1041 in the monitoring module 104 .
[0174] Similarly, the detailed description of steps C1-C7 can refer to the relevant description of steps A1-A6 in the above embodiment, and the similarities are not repeated here. The difference is that the mobile phone 100 measures the stability measurement parameters of the first input method through the corresponding submodule of the input method management module 103, and the input method management service submodule 1032 additionally receives the crash parameters of the crash notification sent by the communication submodule 1014 and reports them to the statistics submodule 1041 for statistical analysis.
[0175] Input method management process based on input method management module 103
[0176] In some embodiments, the mobile phone 100 determines the stability level of the first input method through each submodule in the input method management module 103, and notifies the input method management module 103 to perform management operations. Figure 10 As shown, the above step 605 can be based on Figure 3 The structure shown is achieved through the following steps D1-D4.
[0177] D1. The statistics submodule 1041 receives the stability measurement parameters sent by the stability measurement submodule 1011, the stability measurement submodule 1021 and the stability measurement submodule 1031 respectively.
[0178] D2. The statistics submodule 1041 calculates the stability level of the first input method according to the received stability measurement parameters, and reports the stability level information to the arbitration submodule 1042 to request arbitration.
[0179] D3. The arbitration submodule 1042 arbitrates the stability level information, determines that the stability level of the first input method is the target stability level, and notifies the execution submodule 1043 of the arbitration result of executing the management operation corresponding to the target stability level.
[0180] For example, if the stability measurement parameter of the first input method obtained by the statistics submodule 1041 is that the input method key response delay exceeds 100ms, then the target stability level of the first input method is 2, and the management operation is to automatically switch the current first input method to another input method (such as a second input method) and prompt the user to switch the input method. The second input method can be an input method that is not isolated, such as any input method in the list of available input methods.
[0181] D4. The execution submodule 1043 calls the interface Pd of the input method management service submodule 1032 in the input method management module 103 to perform a management operation corresponding to the target stability level on the first input method.
[0182] For example, when the stability level of the first input method is 2, the execution submodule 1043 may call the input method management service submodule 1032 to perform a management operation of automatically switching the first input method to the second input method, and display prompt information.
[0183] In addition, in other embodiments, when the statistical submodule 1041 in the mobile phone 100 determines that the stability level of the first input method is 2, it can first display a list of available input methods, and the user can trigger the mobile phone 100 to switch the first input method to the second input method by selecting information about the second input method from the list of available input methods.
[0184] like Figure 11 FIG. 1 is a flow chart of another method for managing input methods provided by an embodiment of the present application. In the scenario where a user downloads an input method, Figure 11 The method shown includes steps 1001 to 1107:
[0185] Steps 1101-1105 are the same as the above steps 601-605 and will not be repeated here.
[0186] Step 1106 : The mobile phone 100 reports the stability level of the first input method to the server 200 via the arbitration submodule 1042 in the monitoring module 104 .
[0187] That is, the mobile phone 100 reports the stability level information of the first input method to the server 200 through the monitoring module 104 .
[0188] It is understood that the time sequence between step 1105 and step 1106 can be any time sequence. Figure 11 Step 1105 and step 1106 are merely taken as an example to be parallel steps.
[0189] According to some embodiments of the present application, in order to reduce the use of server resources, the mobile phone 100 reports to the server information about input method applications whose stability level is lower than a preset threshold value (e.g., 2), but does not report information about input method applications whose stability level is higher than or equal to the preset threshold value (e.g., 2). For example, when the stability level of a first input method is 1 (less than the preset threshold value 2), the mobile phone 100 reports to the server 200 information about the stability level of the first input method and application information of the first input method (e.g., the name of the first input method, "Input Method A").
[0190] Step 1107: At least one electronic device ( Figure 11 (In the figure, the mobile phone 100 is used as an example) respectively obtains the stability level information of the first input method from the server 200 through the application installation service, and displays the installation suggestion information of the first input method to the user.
[0191] In some embodiments, the at least one electronic device is any electronic device that supports the application installation service and interacts with the server 200. It is understood that the application installation service can be implemented by software such as an application store that supports electronic devices to install application programs.
[0192] Assuming that the application name of the first input method is "input method A", the at least one electronic device displays an application details interface for obtaining (or downloading) the first input method in the application store.
[0193] For example, in some embodiments, Figure 14 As shown, when the stability level of the first input method is 1, the mobile phone 100 can display the installation suggestion information "The stability level of the current input method is 1, and the stability is poor" on the application details interface of the first input method, that is, the installation suggestion information of the first input method is the information of the stability level of the first input method itself.
[0194] In other embodiments, Figure 15 As shown, when the stability level of the first input method is 1, the mobile phone 100 can display the installation suggestion information "The stability level of the current input method is poor, and installation is not recommended" on the application details interface of the first input method, that is, the installation suggestion information of the first input method not only includes the information of the stability level of the first input method, but also includes information indicating whether the user is recommended to install the input method.
[0195] In this way, the server can generate installation suggestion information for the input method based on the stability level information of the input method reported by the electronic device, which can serve as a reference for users to choose an input method with better stability, thereby avoiding users from downloading input methods with poor stability. This is conducive to reducing the probability of users installing input methods with poor stability, and ultimately driving the improvement of input method quality through the application ecosystem, thereby indirectly improving the user experience of using the input method.
[0196] Description of the system to which the input method management method is applied
[0197] The following combination Figure 2 and Figure 3 , the modules and sub-modules in the system in which the input method management method provided in the application embodiment is applied are specifically described.
[0198] 1) The input method application module 101 includes: a stability measurement submodule 1011 , an input method service submodule 1012 , an input method framework submodule 1013 , and a communication submodule 1014 .
[0199] The stability measurement submodule 1011 is used to support the input method application module 101 in measuring the stability measurement parameters of the input method currently bound and called by the mobile phone 100 system.
[0200] The input method service submodule 1012 is used to support the mobile phone 100 in executing input method input services, such as selecting corresponding candidate words based on characters input by the user.
[0201] The input method framework submodule 1013 is implemented based on the input method framework in the mobile phone 100 and is used to call the interface of the input method service submodule 1012 to execute the input service of the input method. It can be understood that since the input method framework submodule 1023 calls the input method service submodule 1012 to call the input method (such as the first input method), the interface through which the input method framework submodule 1023 calls the input method service submodule 1012 is the above-mentioned interface P1.
[0202] The communication submodule 1014 is used to detect and transmit (or only transmit) the crash of the input method application module 101 to indicate that the input method bound to the current system (such as the first input method mentioned above) has crashed.
[0203] 2) The input object application module 102 includes a stability measurement submodule 1021 and an input method client submodule 1022 .
[0204] Specifically, the stability measurement submodule 1021 is used to support the input object application module 102 to measure the stability measurement parameters of the input method currently bound and called by the mobile phone 100 system.
[0205] The input method client submodule 1022 is used to support the interaction between the input object application module 102 and the input method application module 101, and implement the input service of the input method currently bound to the mobile phone 100 system. Among them, the input method client submodule 1022 performs input services by calling the interface of the input method framework submodule 1013. Therefore, the interface called by the input method client submodule 1022 to the input method framework submodule 1013 is the above-mentioned interface P2.
[0206] 3) The input method management module 103 includes: a stability measurement submodule 1031 and an input method management service submodule 1032 .
[0207] The stability measurement submodule 1031 is used to support the input method management module 103 in measuring the stability measurement parameters of the input method currently bound and called by the mobile phone 100 system.
[0208] The input method management service submodule 1032 is used to support the input method management module 103 in calling the input method application module 101 to execute the input service of the input method currently bound to the mobile phone 100. Specifically, the input method management service submodule 1032 calls the interface of the input method framework submodule 1013 to execute the above input service, so this interface is the above interface P3.
[0209] 4) The monitoring module 104 includes: a statistics submodule 1041 , an arbitration submodule 1042 and an execution submodule 1043 .
[0210] The statistics submodule 1041 is used to comprehensively calculate the collected stability measurement parameters to determine the stability level of the input method currently bound to the system. For example, the statistics submodule 1041 is used to count the response delay of the input method application interface and determine the stability level of the input method application based on the number of counts.
[0211] The arbitration submodule 1042 is used to determine which management operation to perform on the input method based on the input method's stability level. For example, for an input method with a stability level of 1, the corresponding management operation may be to isolate (i.e., disable) the input method and prompt the user to switch input methods. Furthermore, for input methods with a stability level of 1-3, the arbitration submodule 1042 may also determine to report the input method's stability level to the server, indicating that the input method has a poor stability level of 1-3.
[0212] The execution submodule 1043 is used to execute management operations on the input method under the instruction of the arbitration submodule 1042, for example, for input methods with stability levels of 1-3, execute operations of isolating the input method or automatically switching the input method.
[0213] It is understandable that in the embodiment of the present application, the mobile phone 100 can call the application layer interface of the input method currently bound to the system through some submodules in the above-mentioned input method application module 101, input object application module 102, and input method management module 103 to call the input method. In some embodiments, the above-mentioned input method application module 101, input object application module 102, and input method management module 103 can realize input method calling, that is, running the input method, by cooperating with the input method framework (such as IMF) in the mobile phone 100. For example, the input method calling process can be: the user presses the key in the input window of the input method currently bound in the mobile phone 100, and this key event is passed to the input method application module 101 through the input method management service module 103, and triggers the input method application module 101 to execute the command in this key event or generate characters according to the input string in the key time. After the input method application module 101 executes the operation corresponding to the key event, it sends a notification message to the input object application module 102, that is, the current client, to display the execution result of the key event based on the current client.
[0214] In addition, the above-mentioned server 200 is also used to provide a cloud server / distributed service, which is specifically used to generate and share the installation suggestion information of the input method with other devices based on the information of the stability level of the input method reported by the monitoring module 104. Accordingly, the other device can provide an application installation download service, which is used to obtain and display the installation suggestion information of the input method from the server 200 to the user. In some embodiments, the other device can be any electronic device that has the input method installed, and the other device includes the mobile phone 100 or does not include the mobile phone 100. It can be understood that when the other device includes the mobile phone 100, the mobile phone 100 reports the information of the stability level of an input method to the server 200 through the monitoring module 104, and then obtains the installation suggestion information of the input method from the server 200 side.
[0215] Figure 16 A schematic structural diagram of the electronic device 100 is shown.
[0216] The electronic device 100 (such as the mobile phone 100 mentioned above) may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0217] It should be understood that the structure illustrated in the embodiments of the present invention does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0218] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent devices or integrated into one or more processors.
[0219] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.
[0220] A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that have just been used or are recycled by the processor 110. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. Repeated access is avoided, the waiting time of the processor 110 is reduced, and the efficiency of the system is improved. For example, the processor 110 may store instructions for executing an input method management method, such as instructions for triggering the electronic device 100 to measure a stability measurement parameter of a first input method, instructions for triggering the electronic device 100 to calculate a stability level of the first input method based on the stability measurement parameter, and instructions for performing corresponding management operations on the first input method based on the stability level of the first input method.
[0221] It is understood that the interface connection relationship between the modules illustrated in the embodiment of the present invention is merely an illustrative illustration and does not constitute a structural limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may also adopt different interface connection methods from the above embodiments, or a combination of multiple interface connection methods.
[0222] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0223] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.
[0224] The mobile communication module 150 can provide wireless communication solutions including 2G / 3G / 4G / 5G, etc., applied to the electronic device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, filter, amplify, and perform other processing on the received electromagnetic waves, and transmit them to the modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110. For example, the mobile phone 100 can report information about the stability level of the input method and application information of the input method to the server 200.
[0225] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 100. The wireless communication module 160 can be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2. For example, the electronic device 100 can report the stability level of the input method and the application information of the input method to the server 200.
[0226] Electronic device 100 implements display functions through a GPU, display screen 194, and an application processor. The GPU is a microprocessor for image processing and is connected to display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or change display information, such as the interface that automatically pops up when managing input methods to prompt the user to switch input methods, or the interface that includes a list of available input methods.
[0227] The internal memory 121 can be used to store computer executable program codes, which include instructions. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the electronic device 100 by running instructions stored in the internal memory 121 and / or instructions stored in a memory provided in the processor. For example, the processor 110 may store instructions for executing an input method management method, such as instructions for triggering the electronic device 100 to measure stability measurement parameters of the first input method, instructions for triggering the electronic device 100 to calculate the stability level of the first input method based on the stability measurement parameters, and instructions for performing corresponding management operations on the first input method based on the stability level of the first input method.
[0228] Keys 190 include a power button, a volume button, and the like. Keys 190 may be mechanical keys or touch-sensitive keys, such as keys on a virtual keyboard for the first input method displayed on electronic device 100. Electronic device 100 may receive key inputs and generate key signal inputs related to user settings and function control of electronic device 100.
[0229] The software system of the electronic device 100 can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture. In the embodiment of the present invention, the Android system with a layered architecture is used as an example to illustrate the software structure of the electronic device 100.
[0230] Figure 17 1 is a software structure block diagram of the electronic device 100 according to an embodiment of the present invention.
[0231] A layered architecture divides software into several layers, each with distinct roles and responsibilities. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.
[0232] The application layer can include a series of application packages.
[0233] like Figure 17 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, and input method or the client for calling the above input method.
[0234] The application framework layer provides an application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions.
[0235] like Figure 2 As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.
[0236] The window manager is used to manage window programs. The window manager can obtain the display size, determine whether there is a status bar, lock the screen, take screenshots, etc.
[0237] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0238] The view system includes visual controls, such as those for displaying text and images. The view system is used to build applications. A display interface can consist of one or more views. For example, a display interface containing a text notification icon might include a view for displaying text and a view for displaying images.
[0239] The phone manager is used to provide communication functions of the electronic device 100, such as management of call status (including answering, hanging up, etc.).
[0240] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0241] The Notification Manager allows applications to display notifications in the status bar. These messages can be displayed briefly and then disappear automatically without user interaction. For example, the Notification Manager is used to notify users of completed downloads and message reminders. The Notification Manager can also display notifications in the top status bar of the system as icons or scrolling text, such as notifications from background applications, or as dialog windows on the screen. Examples include text messages in the status bar, beeps, vibrations on electronic devices, and flashing indicator lights.
[0242] Android Runtime includes core libraries and a virtual machine. Android runtime is responsible for scheduling and management of the Android system.
[0243] The core library consists of two parts: one is the function that needs to be called by the Java language, and the other is the Android core library.
[0244] The application layer and application framework layer run in a virtual machine. The virtual machine executes Java files in the application layer and application framework layer as binary files. The virtual machine manages object lifecycles, stack management, thread management, security and exception management, and garbage collection.
[0245] The system library can include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
[0246] The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications.
[0247] The media library supports playback and recording of a variety of common audio and video formats, as well as static image files. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0248] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0249] A 2D graphics engine is a drawing engine for 2D drawings.
[0250] The kernel layer is the layer between hardware and software. The kernel layer includes at least display driver, camera driver, audio driver, and sensor driver.
[0251] The following is an example of the workflow of the software and hardware of the electronic device 100, combined with the input method management scenario. When the touch sensor 180K receives a touch operation, the corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, timestamp of the touch operation and other information). The raw input event is stored in the kernel layer. The application framework layer obtains the raw input event from the kernel layer and identifies the control corresponding to the input event. Taking the touch operation as a touch single-click operation, and the control corresponding to the single-click operation as the control that calls the first input method in the target client as an example, the target client calls the interface of the application framework layer, starts the first input method (i.e., the first input method application), and then displays the interface where the virtual keyboard of the first input method is located by calling the display driver.
[0252] The various embodiments of the mechanisms disclosed in this application can be implemented in hardware, software, firmware, or a combination of these implementation methods. The embodiments of the present application can be implemented as a computer program or program code executed on a programmable system, which includes at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.
[0253] Program code can be applied to input instructions to perform the functions described herein and generate output information. The output information can be applied to one or more output devices in a known manner. For purposes of this application, a processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application specific integrated circuit (ASIC), or a microprocessor.
[0254] Program code can be implemented with a high-level programming language or an object-oriented programming language to communicate with the processing system. Where necessary, program code can also be implemented in assembly language or machine language. In fact, the mechanism described in this application is not limited to the scope of any particular programming language. In either case, the language can be a compiled language or an interpreted language.
[0255] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, the instructions may be distributed over a network or through other computer-readable media. Therefore, a machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer), including but not limited to floppy disks, optical disks, optical discs, read-only memories (CD-ROMs), magneto-optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, flash memory, or a tangible machine-readable memory for transmitting information (e.g., carrier waves, infrared signals, digital signals, etc.) using the Internet in electrical, optical, acoustic, or other forms of propagation signals. Therefore, a machine-readable medium includes any type of machine-readable medium suitable for storing or transmitting electronic instructions or information in a form readable by a machine (e.g., a computer).
[0256] In the accompanying drawings, some structural or method features may be shown in a particular arrangement and / or order. However, it should be understood that such a particular arrangement and / or order may not be required. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. In addition, the inclusion of a structural or method feature in a particular figure does not imply that such feature is required in all embodiments, and in some embodiments, such features may not be included or may be combined with other features.
[0257] It should be noted that the units / modules mentioned in the various device embodiments of the present application are all logical units / modules. Physically, a logical unit / module can be a physical unit / module, or a part of a physical unit / module, or can be implemented as a combination of multiple physical units / modules. The physical implementation of these logical units / modules themselves is not the most important. The combination of functions implemented by these logical units / modules is the key to solving the technical problems raised by this application. In addition, in order to highlight the innovative part of this application, the above-mentioned device embodiments of this application do not introduce units / modules that are not closely related to solving the technical problems raised by this application. This does not mean that other units / modules do not exist in the above-mentioned device embodiments.
[0258] It should be noted that in the examples and description of this patent, relational terms such as first and second, etc. are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "including a" does not exclude the presence of other identical elements in the process, method, article or device that includes the element.
[0259] Although the present application has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the application.
Claims
1. A method for managing input methods, applied to electronic devices, characterized in that: include: detecting that the electronic device uses a first input method application; Obtaining a stability measurement parameter of the first input method application, wherein the stability measurement parameter represents an operating status of the first input method application; determining a management operation applied to the first input method based on the obtained stability measurement parameter; performing the determined management operation on the first input method application; The stability measurement parameter includes at least one of the following: a response parameter of the first interface, a response parameter of the second interface, and a response parameter of the third interface; The first interface is an application layer interface for the first input method application to be called by the input method framework; the second interface is an application layer interface for the first input method application to be called by the target client; and the third interface is an application layer interface for the first input method application to be called by the input method management service. The response parameters include at least one of the following: the duration of the response delay, the number of response timeouts, and the number of response errors; Reporting a stability measurement result of the first input method application to a server; receiving installation suggestion information corresponding to the first input method application sent by the server; The installation suggestion information is sent by the server to at least one device, the at least one device includes the electronic device, and the installation suggestion information is obtained according to the stability measurement result.
2. The method according to claim 1, characterized in that The management operation is at least one of the following preset operations: closing the input method application, restarting the input method application, switching the input method application, and isolating the input method application.
3. The method according to claim 1, characterized in that Also includes: In a case where it is determined that the management operation applied to the first input method is switching, prompt information prompting the user to switch the input method is displayed on the display screen of the electronic device.
4. The method according to claim 1, wherein The determining, based on the obtained stability measurement parameter, a management operation applied to the first input method includes: If the obtained stability measurement parameter meets the target condition, determining a preset operation corresponding to the target condition as the management operation applied to the first input method; The target condition is one of at least two preset conditions, different preset conditions indicate different abnormality levels of the operation of the first input method, and different preset conditions correspond to different preset operations.
5. The method according to claim 4, characterized in that The target condition includes at least one of the following: The response parameter of the first interface is greater than or equal to a first threshold, the response parameter of the second interface is greater than or equal to a second threshold, and the response parameter of the third interface is greater than or equal to a third threshold.
6. The method according to any one of claims 1 to 5, characterized in that Also includes: In a case where the management operation determined is to isolate the input method, the first input method application is deleted from an available list, where the input methods in the available list are input methods that support switching of the electronic device.
7. The method according to claim 6, characterized in that The performing the determined management operation on the first input method application includes: displaying said available list; In response to a user instruction of selecting a second input method from the available list, the running first input method application is switched to the second input method.
8. The method according to claim 1, characterized in that Before executing the determined management operation on the first input method application, the method further includes: Target prompt information is displayed, where the target prompt information is used to prompt the user to select whether to trigger execution of the determined management operation on the first input method application.
9. A device for managing input methods, characterized in that: include: A detection module, configured to detect that the electronic device uses a first input method application; an acquisition module, configured to acquire a stability measurement parameter of the first input method application, wherein the stability measurement parameter represents an operation status of the first input method application; a determining module, configured to determine a management operation applied to the first input method based on the stability measurement parameter acquired by the acquiring module; The stability measurement parameter includes at least one of the following: a response parameter of the first interface, a response parameter of the second interface, and a response parameter of the third interface; The first interface is an application layer interface for the first input method application to be called by the input method framework; the second interface is an application layer interface for the first input method application to be called by the target client; and the third interface is an application layer interface for the first input method application to be called by the input method management service. The response parameters include at least one of the following: the duration of the response delay, the number of response timeouts, and the number of response errors; The electronic device further comprises: a sending module, configured to report a stability measurement result of the first input method application to a server; a receiving module, configured to receive installation suggestion information corresponding to the first input method application sent by the server; The installation suggestion information is sent by the server to at least one device, the at least one device includes the electronic device, and the installation suggestion information is obtained according to the stability measurement result.
10. A readable medium, characterized in that The readable medium stores instructions, which, when executed on an electronic device, enable the electronic device to execute the method for managing input methods according to any one of claims 1 to 8.
11. An electronic device, characterized in that: include: The memory is used to store instructions executed by one or more processors of the electronic device, and the processor is one of the processors of the electronic device, which is used to execute the method for managing input methods according to any one of claims 1 to 8.
Citation Information
Patent Citations
Process control method and device for browser input control
CN105068866A