CN113741708B - Input method and electronic equipment - Google Patents

Input method and electronic equipment Download PDF

Info

Publication number
CN113741708B
CN113741708B CN202010481577.4A CN202010481577A CN113741708B CN 113741708 B CN113741708 B CN 113741708B CN 202010481577 A CN202010481577 A CN 202010481577A CN 113741708 B CN113741708 B CN 113741708B
Authority
CN
China
Prior art keywords
input
operating system
input method
window
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010481577.4A
Other languages
Chinese (zh)
Other versions
CN113741708A (en
Inventor
任建宝
王乃玄
罗朴良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010481577.4A priority Critical patent/CN113741708B/en
Priority to PCT/CN2021/097049 priority patent/WO2021244459A1/en
Publication of CN113741708A publication Critical patent/CN113741708A/en
Application granted granted Critical
Publication of CN113741708B publication Critical patent/CN113741708B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The embodiment of the application discloses an input method and electronic equipment, wherein the method is to create a daemon in a client operating system, the daemon can receive input information from an input method at a host operating system side through a high-performance communication channel such as a socket or a binder, then the daemon acquires the input channel of an input window at a current focus and sends the input information from the input method at the host operating system side to the input channel, and the input window can receive and display the input from the input method at the host operating system side. According to the application, the input window in the client operating system can simultaneously acquire the input information from the input method at the host operating system side and the input information from the input method at the client operating system side, and the input methods at the two sides do not need to be set and switched, so that the input efficiency and the stability of the service state of the input method are improved, a friendly input operating environment is provided for a user, and the use experience of the user is improved.

Description

Input method and electronic equipment
Technical Field
The present invention relates to the field of computer software, and in particular, to an input method and an electronic device.
Background
The computer desktop operating system currently mainstream in the market comprisesMainstream mobile operating systems have/>Because the running mechanisms of the application programs on different operating systems are different, barriers for communication and interaction exist between the different operating systems, and simple and effective coordination and unification and interface fusion cannot be achieved in many aspects. Thus, in general, an application on operating system A is not able to be installed and run on operating system B, e.g./>Applications in an operating system cannot be installed and run directly on/>Operating system above. In some cases, the user needs to run/>, on the computer sideOr/>Application of the system we can implement it through virtual machine (virtualmachine) or virtualization (virtualization) techniques, such as using android simulator (/ >)Simulator), android container (/ >A container), and the like. For example, the user may first initiateAndroid simulator in operating system, running/>Subsystem, again from/>The subsystem initiates the application.
In this case, we can call the computer a Host machine, and the underlying operating system running is the Host operating system (Host OS). The operating system running in a simulator or container or the like on the host machine may be referred to as a Guest operating system (Guest OS). At this time, the guest operating system may run on the host machine, which makes it run in the virtual hardware environment on the host machine and not different from the actual hardware by virtualizing a set of virtual hardware environments (including processors, memories, I/O devices, etc.) independent of the actual hardware for the emulator or container, etc.
Because of barriers for communication and interaction among different operating systems, a client operating system positioned in a simulator or a container and the like is isolated from a host operating system of a host machine, and the client operating system and the host operating system respectively use an input method in the own system for text input.
If text is to be entered in an input box of a client operating system in a host machine, one method is to install a separate input method program in the client operating system to implement text entry, and when a user clicks the text box, the input method program will be automatically invoked by the client operating system to display an input interface, and the user enters characters into the input box through the input in the client operating system.
The disadvantages of the above method are: 1. the input method is required to be independently installed in a client operating system, such as an android container, and when the input method at the client operating system side is called, a mouse is required to click a virtual keyboard for text input, so that the input efficiency is low compared with that of a physical keyboard; 2. the input method in the host operating system is different from the input method in the client operating system, and a user may need to face the use habit of two different input methods, and word libraries of the two input methods cannot be shared; 3. the pop-up of the virtual keyboard of the input method in the client operating system can shield the display interface, and the use experience of a user is affected.
Disclosure of Invention
The application provides an input method and electronic equipment, which are used for solving the problems that an input method at a host operating system side and an input method at a client operating system side cannot be operated simultaneously and the service state of the input method is possibly disordered when text is input in the client operating system.
The above and other objects are achieved by the features of the independent claims. Further implementations are presented in the dependent claims, the description and the figures.
In a first aspect, an embodiment of the present invention provides an input method applied to an electronic device, where a host operating system and a client operating system run on the electronic device, where the method includes:
The electronic device displays a first user interface of the host operating system, a second user interface of a first application program is displayed in the first user interface, the first application program is loaded in the client operating system, and the second user interface can comprise a first input window. The electronic device detects a first user operation in the first input window, then the electronic device can display an input focus in the first input window, and then the electronic device can acquire an input channel corresponding to the first input window. The electronic equipment can acquire a first input object through a first input method at the host operating system side. An input daemon in the guest operating system may obtain the aforementioned first input object on the host operating system side, and then pass the first input object to the first input window through the aforementioned input channel. The electronic device may thereby display the first input object in the first input window. The host operating system may be a mainstream PC desktop system, such as Operating System,/>Operating System (/ >)Kernel), the guest operating system may be the mainstream mobile system, such as/>An operating system. In some embodiments, the first user interface of the host operating system may be, for example/>Desktop of operating System,/>Application program/>The Android version, i.e. the first application of the guest operating system, may be for example an application/>Android version, the second user interface of the first application may be, for example/>The Android user interface includes a first input window in the second user interface, where the first input window may be, for example/>Chat input box in session interface. The input focus representation is the location where the input is currently possible and may be displayed as a blinking cursor. The input channel is an input interface between an input method used by a user at the client operating system side and the first application program, and can be used for transmitting an input object (such as text) acquired by the input method to the first application program. The first input object may specifically be text, a picture, an expression, etc.
When the method of the first aspect is implemented, a user can input text on a client operating system by using an input method of a host operating system side, and the input method of the client operating system side is not required to be installed; in addition, the user can input by using the input method of the host operating system side and the input method of the client operating system side at the same time, so that the input efficiency and the stability of the service state of the input method are improved.
In combination with the first aspect, in some embodiments, a host operating system of the electronic device has a first process running thereon for loading a mirror image of a guest operating system and running the guest operating system. In some embodiments, the first process may be an android simulator, and the first process may also be an android container.
With reference to the first aspect, in some embodiments, the method may further include: the electronic device may pass the first input object to the input daemon through a window instance of the first application on the host operating system side.
With reference to the first aspect, in some embodiments, the method may further include: the input daemon may transfer the first input object to the input channel, the input channel may transfer the first input object to the first application, and the first application may transfer the first input object to the view corresponding to the first input window.
With reference to the first aspect, in some embodiments, the method may further include: if an input channel is detected to be available for the first input method, the input daemon may pass the first input object to the input channel.
With reference to the first aspect, in some embodiments, the method may further include: if the input channel is not occupied by the second input method on the guest operating system side, the electronic device may determine that the input channel is available for the first input method.
With reference to the first aspect, in some embodiments, the method may further include: if the input channel is occupied by a second input method at the client operating system side, but the first input method obtains the first input object with a higher priority than the second input method obtains the second input object, the electronic device may determine that the input channel is available for the first input method.
With reference to the first aspect, in some embodiments, the method may further include: when the first input method occupies the input channel, if the first input method is not detected to acquire the first input object in a first time, such as five minutes, the electronic device can cancel that the first input method occupies the input channel.
With reference to the first aspect, in some embodiments, the method may further include: when the first input method occupies the input channel but does not transmit the first input object, the electronic device can cancel that the first input method occupies the input channel once the second input method is detected to acquire the second input object.
With reference to the first aspect, in some embodiments, the method may further include: when the first input method is detected to occupy the input channel, the electronic device can display first indication information in the second user interface, wherein the first indication information is used for indicating that the electronic device can realize input in the second user interface by using the first input method.
With reference to the first aspect, in some embodiments, the method may further include: when the display input focus is detected in the second user interface, the electronic device may display second indication information in the second user interface, where the second indication information is used to indicate that the electronic device is capable of implementing input in the second user interface using the second input method.
With reference to the first aspect, in some embodiments, the method may further include: the electronic device may cancel display of the second indication information in the second user interface when a second user operation to exit the input state is detected in the second user interface.
With reference to the first aspect, in some embodiments, the second user operation may include one or more of: clicking on a location outside of the input window in the second user interface, clicking on a location outside of the second user interface in the first user interface, exiting the second user interface, and so forth.
With reference to the first aspect, in some embodiments, the first user operation is an operation to select the first input window, and the first user operation may include one or more of: mouse click operation of selecting the first input window, touch operation acting on the touch panel, voice instruction operation, space gesture operation, and the like.
With reference to the first aspect, in some embodiments, the method may further include: when the first input window detects a first user operation, the electronic device may display a virtual input keyboard of the second input method.
With reference to the first aspect, in some embodiments, the method may further include: the electronic equipment detects that a first key in the virtual input keyboard is clicked, the electronic equipment can acquire a second input object generated by clicking the first key through a second input method, the electronic equipment can transmit the second input object to the first input window by using the input channel, and the electronic equipment can display the second input object in the first input window.
With reference to the first aspect, in some embodiments, the first input method obtaining the first input object includes one or more of: input objects received through a physical keyboard of the electronic device, input objects received through a soft keyboard of the first input method, input objects received through a voice command, input objects received through a touch pad, input objects received through a touch screen, and the like.
In a second aspect, an embodiment of the present invention provides an electronic device, including: the electronic device includes a memory and a processor coupled to the memory, where the memory stores computer executable instructions for invoking the instructions to cause the electronic device to perform any of the functions as the electronic device in the first aspect, and details are not repeated herein.
In a third aspect, embodiments of the present invention provide a computer storage medium having stored therein a computer program comprising executable instructions which, when executed by a processor, cause the processor to perform operations corresponding to the method provided in the first aspect.
According to the technical scheme of the application, when a user inputs text on a client operating system, the input method at the host operating system side can be used for inputting, and the input method at the client operating system side is not required to be installed; in addition, the user can input by using the input method of the host operating system side and the input method of the client operating system side at the same time, so that the input efficiency and the stability of the service state of the input method are improved, a friendly input operating environment is provided for the user, and the use experience of the user is improved.
Drawings
In order to more clearly describe the embodiments of the present application or the technical solutions in the background art, the following description will describe the drawings that are required to be used in the embodiments of the present application or the background art.
Fig. 1 is a schematic diagram of a hardware structure of an electronic device according to an embodiment of the present invention;
FIG. 2 is a block diagram of a software architecture provided by an embodiment of the present invention;
FIG. 3 is a block diagram of one prior art input method;
FIG. 4 is a schematic diagram of a user interface provided by an embodiment of the present invention;
FIG. 5 is a schematic diagram of a user interface provided by an embodiment of the present invention;
FIG. 6A is a schematic diagram of a user interface provided by an embodiment of the present invention;
FIG. 6B is a schematic diagram of a user interface provided by an embodiment of the present invention;
FIG. 7 is a schematic diagram of a user interface provided by an embodiment of the present invention;
FIG. 8 is a schematic diagram of an input implementation flow provided by an embodiment of the present invention;
FIG. 9A is a flow chart of an input method provided by an embodiment of the present invention;
fig. 9B is a flowchart of an input method according to an embodiment of the present invention.
Detailed Description
Embodiments of the present application will be described in detail below with reference to the accompanying drawings. The terminology used in the following embodiments of the application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in the specification of the present application and the appended claims, the singular forms "a," "an," "the," and "the" are intended to include the plural forms as well, unless the context clearly indicates to the contrary. It should also be understood that the term "and/or" as used in this disclosure refers to and encompasses any or all possible combinations of one or more of the listed items.
The application provides an input method and electronic equipment, which are used for solving the problem that a host operating system side cannot be used for inputting texts into a client operating system, and solving the problems that the input method at the host operating system side and the input method at the client operating system side cannot be operated simultaneously and the service state of the input method is possibly disordered when the input is carried out in the client operating system. The input method is an input method application program, also called an input method editor (English: input MethodEditor), and is software for realizing information input on a display screen. The entered information includes, but is not limited to, kanji, characters, numbers, pictures, and the like. The application aims at creating an input daemon in a client operating system, the input daemon can accept text input from an input method at a host operating system side through a high-performance communication channel such as a socket or a binder, then when the input daemon acquires an input channel of an input window at a current focus, the input daemon can send input information from the input method at the host operating system side to the input window at the current focus through the input channel of the input window, and the input window can accept and display the input information from the input method at the host operating system side. The focus refers to a position where input can be performed, and can be represented as a flashing cursor, the input window refers to a window where input focus can be obtained, input content can be accepted, contained and edited, and specifically, the input window can be an input frame, a text frame, a picture frame, an address bar, a search frame, an editable page (such as a notepad and a word page), a table (such as an excel table) where input content can be contained, and the like. In addition, in other embodiments, the input daemon for obtaining the input text from the host operating system side may be another type of process or program, such as a background process or another application program, which is not limited in this respect by the present application.
According to the technical scheme of the application, when a user inputs text on a client operating system, the input method at the host operating system side can be used for inputting, and the input method at the client operating system side is not required to be installed; in addition, the user can input by using the input method of the host operating system side and the input method of the client operating system side at the same time, so that the input efficiency and the stability of the service state of the input method are improved, a friendly input operating environment is provided for the user, and the use experience of the user is improved.
In the embodiment of the application, when a Guest operating system (Guest OS) is running in a simulator or a container on a Host machine, the Host operating system (Host OS) can run in the virtual hardware environment on the Host operating system (Host OS) for the Guest operating system by virtualizing a set of virtual hardware environments (including a processor, a memory, an I/O device and the like) independent of actual hardware for the Guest operating system (Guest OS), so that the Guest operating system is not different from the virtual hardware environment on the actual hardware.
The term "User Interface (UI)" in the embodiments of the present application is a media interface for interaction and information exchange between an application program or an operating system and a user, and it implements conversion between an internal form of information and a form acceptable to the user. The user interface of the application program is a source code written in a specific computer language such as java, extensible markup language (extensible markup language, XML) and the like, the interface source code is analyzed and rendered on the terminal equipment, and finally the interface source code is presented as content which can be identified by a user, such as a control of pictures, words, buttons and the like. Controls (controls), also known as parts (widgets), are basic elements of a user interface, typical controls being a toolbar (toolbar), menu bar (menu bar), text box (text box), button (button), scroll bar (scrollbar), picture and text. The properties and content of the controls in the interface are defined by labels or nodes, such as XML specifying the controls contained in the interface by nodes < TextView >, < ImgView >, < VideoView >, etc. One node corresponds to a control or attribute in the interface, and the node is rendered into visual content for a user after being analyzed and rendered. In addition, many applications, such as the interface of a hybrid application (hybrid application), typically include web pages.
A commonly used presentation form of a user interface is a graphical user interface (graphic user interface, GUI), which refers to a graphically displayed user interface that is related to computer operations. It may be an interface element such as an icon, a window, a control, etc. displayed in a display screen of the electronic device, where the control may include a visual interface element such as an icon, a button, a menu, a tab, a text box, a dialog box, a status bar, a navigation bar, a Widget, etc.
In the embodiment of the present application, the operating system types of the host operating system and the guest operating system are not limited. The input method provided by the embodiment of the application is applied to the electronic equipment 100, the electronic equipment 100 can be called a host machine, a host operating system is installed, and a client operating system can be loaded on the host operating system. Exemplary embodiments of the present application use the host operating system as the host operating systemOperating System,/>An operating system, a client operating system isAn operating system is an example to illustrate the embodiments of the present application. Those skilled in the art will appreciate that embodiments of the present application may be implemented in other operating systems, and that the present application is not limited in any way.
An exemplary electronic device 100 provided in the present embodiment is described below. The electronic device 100 may be equipped with an operating system of some kind, and the operating system can be, but is not limited to, a common oneOperating System,/>An operating system,Operating System,/>Operating system, etc., the electronic device 100 may be a desktop computer, a notebook computer, a tablet computer, etc.
Fig. 1 shows a schematic hardware configuration of an electronic device 100.
The electronic device 100 may include a processor 110, an internal memory 120, an external memory interface 121, a universal serial bus (universal serial bus, USB) interface 130, a charge management module 140, a power management module 141, a battery 142, a display 151, keys 152, a camera 153, an indicator 154, an audio module 160, a speaker 161, a receiver 162, a microphone 163, an ear-piece interface 164, a wired communication module 171, a wireless communication module 172, an antenna 1, a sensor module 180, and the like. The sensor module 180 may include a pressure sensor 180A, a fingerprint sensor 180B, a temperature sensor 180C, a touch sensor 180D, an ambient light sensor 180E, and the like.
It should be understood that the illustrated structure of the embodiment of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the application, electronic device 100 may include more or fewer components than shown, or certain components may be combined, or certain components may be split, or different arrangements of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware. For example, in some embodiments, the electronic device 100 may have a motor, a mobile communication module (2G/3G/4G/5G), a SIM card interface, an eSIM chip, and the like in addition to the hardware described above. Thus, with respect to a particular hardware structure of the electronic device 100, it may include more or fewer components than shown, or combine certain components, or split certain components, or a different arrangement of components, as the case may be.
The processor 110 may include one or more processing units, such as: the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (IMAGE SIGNAL processor, ISP), a controller, a memory, a video codec, a digital signal processor (DIGITAL SIGNAL processor, DSP), a baseband processor, and/or a neural Network Processor (NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors.
The controller may be a neural hub and a command center of the electronic device 100, among others. The controller can generate operation control signals according to the instruction operation codes and the time sequence signals to finish the control of instruction fetching and instruction execution.
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 hold instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to reuse the instruction or data, it can be called directly from the memory. Repeated accesses are avoided and the latency of the processor 110 is reduced, thereby improving the efficiency of the system.
In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an integrated circuit (inter-INTEGRATED CIRCUIT, I2C) interface, an integrated circuit built-in audio (inter-INTEGRATED CIRCUIT SOUND, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver transmitter (universal asynchronous receiver/transmitter, UART) interface, a mobile industry processor interface (mobile industry processor interface, MIPI), a general-purpose input/output (GPIO) interface, a subscriber identity module (subscriber identity module, SIM) interface, and/or a universal serial bus (universal serial bus, USB) interface, among others.
The USB interface 130 is an interface conforming to the USB standard specification, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, or the like. The USB interface 130 may be used to connect a charger to charge the electronic device 100, and may also be used to transfer data between the electronic device 100 and a peripheral device. The interface may also be used to connect other electronic devices, such as AR devices, etc.
It should be understood that the interfacing relationship between the modules illustrated in the embodiments of the present application is only illustrative, and is not meant to limit the structure of the electronic device 100. In other embodiments of the present application, the electronic device 100 may also employ different interfacing manners in the above embodiments, or a combination of multiple interfacing manners.
The internal memory 120 may be used to store computer executable program code including instructions. The processor 110 executes various functional applications of the electronic device 100 and data processing by executing instructions stored in the internal memory 120. The internal memory 120 may include a storage program area and a storage data area. The storage program area may store an application program (such as a sound playing function, an image playing function, etc.) required for at least one function of the operating system, etc. The storage data area may store data created during use of the electronic device 100, etc. In addition, the internal memory 120 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash memory (universal flash storage, UFS), and the like.
The external memory interface 121 may be used to connect an external memory card, such as a removable hard disk, to enable expansion of the memory capabilities of the electronic device 100. The external memory card communicates with the processor 110 through an external memory interface 121 to implement data storage functions. For example, files such as music, video, etc. are stored in an external storage hard disk.
The charge management module 140 is configured to receive a charge input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charge management module 140 may receive a charging input of a wired charger through the USB interface 130. In some wireless charging embodiments, the charge management module 140 may receive wireless charging input through a wireless charging coil of the electronic device 100. The charging management module 140 may also supply power to the electronic device through the power management module 141 while charging the battery 142.
The power management module 141 is used for connecting the battery 142, and the charge management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and/or the charge management module 140 to power the processor 110, the internal memory 120, the external memory 121, the display 151, the camera 153, the wireless communication module 172, and the like. The power management module 141 may also be configured to monitor battery capacity, battery cycle number, battery health (leakage, impedance) and other parameters. In other embodiments, the power management module 141 may also be provided in the processor 110. In other embodiments, the power management module 141 and the charge management module 140 may be disposed in the same device.
The electronic device 100 implements display functions through a GPU, a display screen 151, an application processor, and the like. The GPU is a microprocessor for image processing, and is connected to the display screen 151 and an application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
The display screen 151 is used to display images, videos, and the like. The display 151 includes a display panel. The display panel may employ a Liquid Crystal Display (LCD) CRYSTAL DISPLAY, an organic light-emitting diode (OLED), an active-matrix organic LIGHT EMITTING diode (AMOLED), a flexible light-emitting diode (FLED), miniled, microLed, micro-oLed, a quantum dot LIGHT EMITTING diode (QLED), or the like. In some embodiments, the electronic device 100 may include 1 or N display screens 151, N being a positive integer greater than 1.
The keyboard 152 may include a physical keyboard, a touch-type keyboard, and the like. The electronic device 100 may receive input from a keyboard, generating key signal inputs related to user settings and function control of the electronic device 100. It should be noted that, in the embodiment of the present application, the keys on the keyboard may be divided into character keys and non-character keys; when the user clicks or presses the character key, an operation command corresponding to the character key is generated, and the device can generate text content according to the operation command corresponding to the character key. Character keys may include, in particular, numeric keys 9 (0-9), alphabetic keys (a-z), punctuation keys (e.g.,,, |,. And non-character keys refer to keys other than character keys on the keyboard. Specifically, the keyboard includes non-character keys such as control (Ctrl), shift (Shift), shift (Alt), caps Lock (Caps Lock), insert (Insert), start (Home), end (End), delete (Del), upper page (PgUp), lower page (PgDn), enter (Enter), backSpace (BackSpace), and direction key. The user can generate corresponding operation commands through the operation of clicking or pressing the non-character keys of the keyboard. The operation command may perform operations such as cursor displacement, case-to-case switching, insertion, deletion, line feed, and transmission within an input frame in which an input focus is obtained.
The electronic device 100 may implement a photographing function through an ISP, a camera 153, a video codec, a GPU, a display 151, an application processor, and the like.
The camera 153 is used to capture still images or video. The object generates an optical image through the lens and projects the optical image onto the photosensitive element. The photosensitive element may be a charge coupled device (charge coupled device, CCD) or a Complementary Metal Oxide Semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, which is then transferred to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV, or the like format. In some embodiments, the electronic device 100 may include 1 or N cameras 153, N being a positive integer greater than 1.
The digital signal processor is used for processing digital signals, and can process other digital signals besides digital image signals. For example, when the electronic device 100 selects a frequency bin, the digital signal processor is used to fourier transform the frequency bin energy, or the like.
Video codecs are used to compress or decompress digital video. The electronic device 100 may support one or more video codecs. In this way, the electronic device 100 may play or record video in a variety of encoding formats, such as: dynamic picture experts group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
The NPU is a neural-network (NN) computing processor, and can rapidly process input information by referencing a biological neural network structure, for example, referencing a transmission mode between human brain neurons, and can also continuously perform self-learning. Applications such as intelligent awareness of the electronic device 100 may be implemented through the NPU, for example: image recognition, face recognition, speech recognition, text understanding, etc.
The network communication function of the electronic device 100 may be implemented by the wired communication module 171, the wireless communication module 172, the antenna 1, a modem processor, a baseband processor, and the like.
The antenna 1 is used for transmitting and receiving electromagnetic wave signals. Each antenna in the electronic device 100 may be used to cover a single or multiple communication bands. Different antennas may also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed into a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The modem processor may include a modulator and a demodulator. The modulator is used for modulating the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used for demodulating the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low frequency baseband signal to the baseband processor for processing. The low frequency baseband signal is processed by the baseband processor and then transferred to the application processor. The application processor outputs sound signals through an audio device (not limited to the speaker 161, the receiver 162, etc.), or displays images or videos through the display screen 151. In some embodiments, the modem processor may be a stand-alone device.
The wired communication module 171 may provide a solution for wired communication including ethernet, a local area network, the internet, etc., applied to the electronic device 100. The wired communication module 171 may be one or more devices integrating at least one communication processing module.
The wireless communication module 172 may provide solutions for wireless communications including wireless local area networks (wireless local area networks, WLAN) (e.g., wireless fidelity (WIRELESS FIDELITY, wi-Fi) networks), bluetooth (BT), global navigation satellite systems (global navigation SATELLITE SYSTEM, GNSS), frequency modulation (frequency modulation, FM), near field communication (NEAR FIELD communication, NFC), infrared (IR), and the like, as applied to the electronic device 100. The wireless communication module 172 may be one or more devices that integrate at least one communication processing module. The wireless communication module 172 receives electromagnetic waves via the antenna 1, modulates the electromagnetic wave signals, filters the electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 172 may also receive a signal to be transmitted from the processor 110, frequency modulate it, amplify it, and convert it to electromagnetic waves for radiation via the antenna 1.
The electronic device 100 may implement audio functions through an audio module 160, a speaker 161, a receiver 162, a microphone 163, an ear-headphone interface 164, an application processor, and the like. Such as music playing, recording, etc.
The audio module 160 is used to convert digital audio information into an analog audio signal output and also to convert an analog audio input into a digital audio signal. The audio module 160 may also be used to encode and decode audio signals. In some embodiments, the audio module 160 may be disposed in the processor 110, or some functional modules of the audio module 160 may be disposed in the processor 110.
The speaker 161, also called "horn", is used to convert an audio electrical signal into a sound signal. The electronic device 100 may listen to music, or to hands-free conversations, through the speaker 161.
A receiver 162, also known as a "earpiece", is used to convert the audio electrical signal into a sound signal. When electronic device 100 is answering a telephone call or voice message, voice may be heard by placing receiver 162 in close proximity to the human ear.
A microphone 163, also called "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or transmitting voice information, the user can sound near the microphone 163 through the mouth, inputting a sound signal to the microphone 163. The electronic device 100 may be provided with at least one microphone 163. In other embodiments, the electronic device 100 may be provided with two microphones 163, and may implement a noise reduction function in addition to collecting sound signals. In other embodiments, the electronic device 100 may also be provided with three, four, or more microphones 163 to enable collection of sound signals, noise reduction, identification of sound sources, directional recording functions, etc.
The earphone interface 164 is used to connect a wired earphone. The earphone interface 164 may be a USB interface 130 or a 3.5mm open mobile electronic device platform (open mobile terminal platform, OMTP) standard interface, a american cellular telecommunications industry association (cellular telecommunications industry association of the USA, CTIA) standard interface.
The sensor module 180 may include a pressure sensor 180A, a fingerprint sensor 180B, a temperature sensor 180C, a touch sensor 180D, an ambient light sensor 180E, and the like.
The pressure sensor 180A is used to sense a pressure signal, and may convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be provided to the display screen 151. The pressure sensor 180A is of various types, such as a resistive pressure sensor, an inductive pressure sensor, a capacitive pressure sensor, and the like. The capacitive pressure sensor may be a capacitive pressure sensor comprising at least two parallel plates with conductive material. The capacitance between the electrodes changes when a force is applied to the pressure sensor 180A. The electronic device 100 determines the strength of the pressure from the change in capacitance. When a touch operation is applied to the display 151, the electronic apparatus 100 detects the intensity of the touch operation according to the pressure sensor 180A. The electronic device 100 may also calculate the location of the touch based on the detection signal of the pressure sensor 180A. In some embodiments, touch operations that act on the same touch location, but at different touch operation strengths, may correspond to different operation instructions.
The fingerprint sensor 180B is used to collect a fingerprint. The electronic device 100 may utilize the collected fingerprint feature to unlock the fingerprint, access the application lock, photograph the fingerprint, answer the incoming call, etc.
The temperature sensor 180C is used to detect temperature. In some embodiments, the electronic device 100 performs a temperature processing strategy using the temperature detected by the temperature sensor 180C. For example, when the temperature reported by temperature sensor 180C exceeds a threshold, electronic device 100 performs a reduction in the performance of a processor located in the vicinity of temperature sensor 180C in order to reduce power consumption to implement thermal protection. In other embodiments, when the temperature is below another threshold, the electronic device 100 heats the battery 142 to avoid the low temperature causing the electronic device 100 to be abnormally shut down. In other embodiments, when the temperature is below a further threshold, the electronic device 100 performs boosting of the output voltage of the battery 142 to avoid abnormal shutdown caused by low temperatures.
The touch sensor 180D, also referred to as a "touch panel". The touch sensor 180D is used to detect a touch operation acting thereon or thereabout. The touch sensor may communicate the detected touch operation to the application processor to determine the touch event type. Visual output related to a touch operation may be provided through the display screen 151.
The ambient light sensor 180E is used to sense ambient light level. The electronic device 100 may adaptively adjust the brightness of the display 151 according to the perceived ambient light level. The ambient light sensor 180E may also be used to automatically adjust white balance when captured by the camera 153.
The software system of the electronic device 100 may employ a layered architecture, an event driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture. The embodiment of the invention takes a client operating system as a client operating systemThe operating system is illustrated by way of example as a hierarchical architecture. It should be noted that the embodiments of the present application are only/>Operating system to illustrate the software environment required by the technical solution of the present embodiment, those skilled in the art will understand that the embodiments of the present application may also be implemented with other operating systems.
FIG. 2 is a schematic illustration of an embodiment of the applicationA software architecture block diagram of an operating system.
The layered architecture divides the software into several layers, each with distinct roles and branches. The layers communicate with each other through a software interface. In some embodiments, it willThe operating system is divided into four layers, namely an application program layer, an application program framework layer, a function library layer and a kernel layer from top to bottom.
1. Application layers
The application layer is the top layer of the operating system and may include a series of application packages. As shown in FIG. 2, the application package may include applications such as input methods, WLAN, calendar, bluetooth, gallery, browser, music, etc. Of course, for a developer, the developer may write an application and install it to that layer.
In the embodiment of the application, one or more input method applications are installed in the application program layer, for exampleInput method,/> Input method, etc., and the embodiments of the present application are not limited in this respect.
Generally, applications are developed using the Java language by calling an application programming interface (application programming interface, API) provided by the application framework layer.
2. Application framework (application framework) layer
The application framework layer provides an application programming interface (application programming interface, API) and programming framework for the application of the application layer. The application framework layer includes a number of predefined functions. The developer may interact with the underlying layers of the operating system (e.g., libraries of functions,Kernel, etc.) to develop their own applications. The application framework is mainly/>A series of services and management systems for the operating system.
As shown in FIG. 2, the application framework layer may include a window manager, a content provider, an input method manager, a content aware service, a view system, a notification manager, a resource manager, and the like.
The window manager is used for managing window programs. The window manager can acquire the size of the display screen, judge whether a status bar exists, lock the screen, intercept the screen and the like.
The content provider is used to store and retrieve data and make such data accessible to applications. The data may include video, images, audio, browsing history and bookmarks, phone books, etc.
The view system includes visual controls, such as controls to display text, controls to display pictures, and the like. The view system may be used to build applications. It specifically includes various types such as a list (list), a grid (grid), a text (text), a button (button), and a picture (image). The display interface may be composed of one or more views.
The notification manager allows the application to display notification information in a status bar, can be used to communicate notification type messages, can automatically disappear after a short dwell, and does not require user interaction. Such as notification manager is used to inform that the download is complete, message alerts, etc. The notification manager may also be a notification in the form of a chart or scroll bar text that appears on the system top status bar, such as a notification of a background running application, or a notification that appears on the screen in the form of a dialog window. For example, a text message is presented in a status bar, a presentation sound is emitted, and the like.
The resource manager provides various resources for the application program, such as localization strings, icons, pictures, layout files, video files, and the like.
As shown in FIG. 2, the application framework layer also comprises an input method manager (input method manager, IMM), and the implementation of the input method needsThe participation of various layers of the operating system. For user input, various driving supports of a Linux kernel layer are needed to be identified; an application program needing to call an input method runs on an application program layer; the application framework layer is used for displaying the content, user Interface (UI), notification and the like of the application; the function library layer provides function support for the operation of the input method, such as analysis of codes, support of fonts and graphics, display of input animation effects, and the like.
Specifically, the input method framework (input method framework, IMF) isA system component of the operating system, a developer may develop an input method application based on IMF. Referring to fig. 3, the imf mainly includes three parts: an input method manager, an input method editor, and a client application.
(1) The input method manager (inputmethodmanager, IMM) is a central point that manages interactions between other parts of the IMF. It can be seen as a client API, which exists in the context of various applications, for communicating with a global system service that manages all inter-process interactions.
(2) Input method editor (input method editor, IME): to implement a specific interaction model that allows the user to generate text, processing the user's input. The system binds an input method currently in use, causes it to be created and run, and decides when the input method hides or displays its UI. Only one IME can be operated at a time.
(3) The client application (client applications, CA) refers to the application that is currently calling the input method, e.g., And the like, controlling the states of the input focus and IME through IMM. Only one client application can use the IME at a time.
The three parts need to cooperate together to complete the input method. For example, an application program requiring an input method is opened, and when the input box obtains an input focus, the CA notifies the IMM to open the input method, and then the IMM views the currently selected IME and invokes the IME. When the user submits an input, the IME will pass the input information to the CA to complete the input.
The interaction of the IMF three parts is explained below in connection with fig. 3.
IMM: and (3) binding the IME and the CA, and simultaneously performing some parameter setting and safety control on the input method module to play a role of intermediate coordination. Wherein inputmethodmanagerservice in the IMM is the total control center related to the input method in the whole system, and the CA requests to call the input method is through the process; windowmanagerservice is responsible for displaying the input method, receiving a user event, and obtaining focus authentication. The inputmethodmanagerservice process in the IMM can acquire the information of the currently bound CA, such as the input box type, through the inputmethodclient process of the CA; the inputmethodmanagerservice processes in the IMM will launch, modify, hide the IME through the inputview process of the IME.
IME: and receiving key input information of the user, and calling a client interface to transmit the input information to the CA. The inputview process may obtain the input information of the user from the keyboard, or may process the text information of the CA through the inputcontext (inputconnection) process of the CA, such as deleting a character, replacing a character, controlling a cursor position, and so on.
CA: for displaying user input information while providing the IME with the contents of the current text box. Wherein, the inputmethodmanager process of the CA indirectly controls the display or hiding of the IME through the inputmethodmanagerservice process of the IMM; the inputmethodmanager process of the CA provides the state of the current text box for the IME through the inputmethodsession (inputmethodsession wrapper) process of the IME, such as cursor change and other information, so that the IME can adjust the input state; the UI control can process some key information which is not processed by IME, such as home key information, so that the key information directly reaches the CA; the inputcontext (inputconnection) process can display the input information on the user interface after the interaction of the CA and the IME is completed; inputmethodclient is implemented as a client of an input method management service for identifying a current client application and receiving a state change from the management server.
In general, input method applications in the application layer may support multiple types of virtual keyboards (or called soft keyboards). For example, in the application of the input method, a nine-square type pinyin keyboard, a full-keyboard type pinyin keyboard, an english keyboard, a numeric keyboard, an expression keyboard, or a voice keyboard is provided, which is not limited in any way by the embodiment of the present application.
For example, the expression keyboard may include elements such as expressions, symbols, pictures, or moving pictures. For example, the expressive keyboard that can be displayed in the display interface is an emoji keyboard, and the emoji keyboard includes multiple expressive elements; the expression keyboard which can be displayed in the display interface is a pigment character (kaomoji) keyboard, and the pigment character keyboard comprises expressions consisting of symbol elements; the expression keyboard which can be displayed in the display interface is an expression package keyboard, and the expression package keyboard can comprise pictures or moving pictures.
In some embodiments of the present application, the electronic device may detect the type of the input content required in the input window, and provide a suitable virtual keyboard according to the type, for example, when the electronic device detects that the input content required in the displayed input window is of text type, the input method application may display a pinyin keyboard of full keyboard type, and when the electronic device detects that the input content required in the displayed input window is of numeric type, the input method application may display a numeric keyboard.
The virtual keyboard provided by the input method application can also comprise a switching button for switching the keyboard type. The switching button can be used for switching among different types of keyboards, and a user can sequentially switch the currently displayed virtual keyboards according to a certain sequence by clicking the switching button for multiple times.
In addition, as shown in fig. 2, in the embodiment of the present application, a content aware service (content sensor service) that is open to the input method application is also provided in the application framework layer. The content aware service is used to obtain chat-like applications (e.g.) Chat messages or types of chat messages within the chat interface. Such as text type chat messages, voice type chat messages, or picture type chat messages, etc.
The input method application may be registered in the content aware service in advance. For example, an input method application may register its package name with a content aware service and request a content aware service pairAnd monitoring newly generated chat messages in the chat interface. Thus, when a new chat message is generated in the chat interface, the content aware service can extract the chat message and determine the particular type of chat message. Furthermore, the content aware service may send a specific type of chat message to the input method application, so that the input method application may display a corresponding type of virtual keyboard in the chat interface according to the specific type. For example, when the most recent chat message is of a voice type, the input method application may correspondingly display a voice keypad; when the latest chat message is expression type, the input method application can correspondingly display expression keyboards and the like.
That is, the electronic device may automatically display a virtual keyboard matching the type of the last chat message based on the last chat message, so as to reduce the operation of frequently switching the virtual keyboard in the process of inputting information by using the input method, and improve the input efficiency of the terminal and the input experience of the user.
In some embodiments of the present application, the input method application may also invoke the content aware service to actively obtain the most recent chat message or type of chat message. For example, the input method application may click on the userThe content aware service is invoked to obtain the most recent chat message when the box is entered. Or the content perception service can actively send the latest chat message to the input method application when the virtual keyboard of the input method is not packed, so that the input method application can timely switch the type of the virtual keyboard according to the type of the latest chat message in the process of displaying the virtual keyboard. The specific display method of the input method virtual keyboard can be described in the following embodiments, and thus will not be described herein.
3. Library (library) layer
The function library layer is the support of the application program framework and is used for connecting the application program framework layer with the application program frameworkImportant bands of the kernel layer. The function library layer includes function libraries compiled from the computer program C language or C++ language that can be used by different components in the operating system to provide services to the developer through the application framework layer.
In particular, the function library layer may include a plurality of functional modules. For example: interface management Libraries (surface manager), multimedia Libraries (Media Libraries), three-dimensional graphics processing Libraries (e.g., openGL ES), two-dimensional graphics engines (e.g., SGL), etc.
The interface management library is used for managing the display subsystem and mainly responsible for managing access to the display system, particularly for managing interaction between display and access operation when executing a plurality of application programs, and is also used for carrying out display synthesis on 2D drawing and 3D drawing, thereby providing fusion of 2D and 3D layers for the plurality of application programs.
Multimedia libraries support a variety of commonly used audio, video format playback and recording, still image files, and the like. The media library may support a variety of audio and video encoding formats, such as MPEG4, h.264, MP3, AAC, AMR, JPG, PNG, etc.
The three-dimensional graphic processing library is used for realizing three-dimensional graphic drawing, image rendering, synthesis, layer processing and the like.
The two-dimensional graphics engine is a drawing engine for 2D drawing.
The function library layer may further include other function libraries for implementing various functions of the mobile phone, for example: SGL (scalable graphics library): a XML (extensible markup language) file-based 2D graphics image processing engine; SSL (secure sockets layer): the system is positioned between the TVP/IP protocol and various application layer protocols, and provides support for data communication; etc.
Android run time is one type of processThe running environment on the operating system is/>A new virtual machine used by the operating system. Android run times may include a library of core functions and virtual machines. The kernel function library comprises two parts: one part is a function which needs to be called by java language, and the other part is a core library of android. Android run is responsible for scheduling and management of the Android system. In Android run time, an AOT (ahead-of-time) technology is adopted, when an application program is installed for the first time, the bytecode of the application program is compiled into machine code in advance, the application program becomes a real local application, and then the application program runs again, so that the compiling step is omitted, and the starting and executing can be faster.
In some embodiments of the application, android run times may be replaced by core libraries (dalvik virtual machine) and dalvik virtual machines (dalvik virtual machine). The kernel function library provides most of the functions in the Java language API, mainly by way of Java native interface (Java NATIVE INTERFACE, JNI) to provide an interface for the application framework layer to call the underlying library. Some core APIs of the operating system are also included, such as android. Os, android. Net, android. Media, and so on. dalvik the virtual machine uses a mechanism of JIT (just-in-time) runtime compilation, each time a process is started, the virtual machine needs to recompile byte code in the background, which has a certain influence on the starting speed. Each application runs in an instance that is a dalvik virtual machine, and each dalvik virtual machine instance is a separate process space. dalvik virtual machines are designed to efficiently run multiple virtual machines on one device. The dalvik virtual machine executable file format is a. Dex, which is a compression format designed specifically for dalvik, and is suitable for systems with limited memory and processor speed. It should be noted that dalvik virtual machines rely on the linux kernel to provide basic functions (threads, underlying memory management). It can be appreciated that Android run times, dalvik belong to different types of virtual machines, and those skilled in the art can choose different forms of virtual machines under different conditions.
The application layer and the application framework layer run in a virtual machine. The virtual machine executes java files of the application program layer and the application program framework layer as binary files. The virtual machine can be used for performing the functions of object life cycle management, stack management, thread management, security and exception management, garbage collection and the like.
4. Kernel layer
The kernel layer provides core system services of the operating system, such as security, memory management, process management, network protocol stack and driving model, and the like, based on the kernel layerAnd a kernel. /(I)The kernel also acts as an abstraction layer between the hardware and software stacks. This layer has many drivers associated with the mobile device, the main drivers being: a display drive; a keyboard driver as an input device; flash driving based on memory technology equipment; wi-Fi drive; an audio drive; bluetooth driving; driving a camera; based onFrame buffer driving of (c), etc.
The following describes a man-machine interaction scenario related to an embodiment of the present application with reference to the accompanying drawings.
In this embodiment, as shown in fig. 4, the electronic device 100 is a desktop computer, and the electronic device 100 may include an input/output device: a display 401, a physical keyboard 402, a mouse 403, and the like, and a user can realize text input by an operation 404 of clicking the keyboard.
The operating system installed on the electronic device 100 isThe operating system, i.e., the host operating system, is also installed on the electronic device 100 with an android simulator (/ >)Simulator) android simulator is loaded with/>The operating system, i.e., the guest operating system. The user may click on the application icon 405 of the android simulator displayed on the display 401, open the application, and at this time, the user interface 406 of the android simulator will be displayed on the display 401, where the android simulator operatesAn operating system.
In one example, as shown in FIG. 4, an android simulator is installed and run withApplication program/>Is a chat application. There is/>, displayed in the android simulator user interface 406The session interface 407 of the application may display/>, in the top status bar of the android simulator (information such as network status, power, time, etc. may be displayed)A small icon 408 indicates that the foreground is running/>Application. The user may interact in the user interface of the android simulator by manipulating the mouse pointer 410. At/>The application session interface 407 also includes an input field 411, where the input field 411 may include an input box 412, which may be used for text input, and the input field 411 may also include a control for inputting content such as voice, expression, and picture.
In the present embodiment of the present invention,The Chinese input method installed in the operating system may be/>The pinyin input method interface may include an input window 413 and a status bar 414. The input window 413 is used for displaying input characters and candidate texts of a user, and is displayed when the input method is in a state of inputting characters, and may include the input pinyin characters of the upper row and the candidate characters of the next row, and inputting digits corresponding to the required candidate characters, that is, inputting the word into the input box 412, or pressing a space key after selecting to input the word into the input box 412. The status bar 414 is used to display the current input method status, for example, the small icons in the status bar 414 shown represent, in order from left to right: /(I)The status bar 414 may be hidden from view by the identity of the pinyin input method, the chinese/english input status, chinese/english punctuation, expressions, voice input, soft keyboards, skin, setup menus. In addition, when enabled/>Input method as current/>Input methods used by operating systems are described in the/>The taskbar in the lower right corner of the desktop may also display/>An identification 415 of the input method. Shown in FIG. 4/>The input window 413 and the status bar 414 of the pinyin input method are only an example, and different input method interfaces may be displayed in other embodiments, which is not limited by the present application.
In addition, the input method is not limited to the pinyin input method, and the input method installed in the operating system is not limited in type, and can be an English input method, a five-stroke input method, a Zhuyin input method, a voice input method, a handwriting input method or an input method mixed by the above input methods.
In this embodiment, the user may use the external physical keyboard 402 to input text in the input box 412 of the android simulator, where the input method isInstalled in operating System/>A pinyin input method. In some embodiments, there may be no installation/>, in the android simulatorThe input method of the operating system side can be used as a default input method by the android simulator, so that a user can conveniently input by using a physical keyboard. In addition, the user can also install and set the default input method as the input method of the host operating system side by himself, and the input method set options in the set interface can display the input method options installed on the android operating system side.
Default input method in android simulator is/>, In an operating SystemIn the pinyin input method, a user can use an external physical keyboard 402 to realize text input in the android simulator, as shown in fig. 4, an identifier 409, also called first indication information, of the keyboard can be displayed in a status bar at the top of the android simulator, and the text input can be performed in the android simulator by using an input method at the host operating system side. The user manipulates the mouse to click on the input box 412, and a cursor 416 appears in the input box 412, indicating that the input box 412 is in an inputtable state at this time. The user may then enter characters by tapping the keyboard at operation 404, responsive to user operation,/>Operating System side/>The Pinyin input method is called to display the sameThe input window 413 of the pinyin input method is used for inputting candidate words into the input box 412 after the user selects the candidate words. The manner in which the input method on the host operating system side is used may also include, without limitation, mouse click soft keyboard input, voice input, etc., as is not limited to operation 404 in which the user taps the keyboard.
In this embodiment, the android simulator may also have its own input method, and in the example of fig. 5, the android simulator has its own input methodMobile phone input method,/>Installed in the operating System is/>A pinyin input method. />, displayed on display 501There may be/>, displayed in the desktopStatus bar 512 of Pinyin input method/>Display in taskbar in lower right corner of desktop/>An identification 513 of the input method. /(I)The virtual keyboard provided by the operating system side can comprise a plurality of types of keyboards such as a text keyboard, a numeric keyboard, a symbol keyboard, an expression keyboard, a voice keyboard, a handwriting keyboard and the like, the text keyboard can also comprise a plurality of types of keyboards such as a Chinese keyboard, an English keyboard and the like, the expression keyboard can also comprise a plurality of types of keyboards such as an emoji keyboard, a pigment-text keyboard or an expression package keyboard and the like, the application is not limited in any way, and keys can be arranged in the virtual keyboard to trigger the switching of the keyboards among different types.
Default input method in android simulator is/>, In an operating SystemIn the mobile phone input method, a user can realize text input in an android simulator by using an external physical keyboard 502, and can also realize text input by controlling an operation 504 of a mouse 503. In one example, as shown in FIG. 5, there is/>, running in an android simulatorApplication inAt the bottom of the application's session interface 505 is an input box 508, which can be used for text input. The user manipulates the mouse pointer to click on the input box 508, a cursor 509 appears in the input box 508, and/>The virtual keyboard 510 of the mobile phone input method indicates that the input box 508 is in an inputtable state at this time. At this point in the top status bar of the android simulator, the identity 506 (also called first indication) and/>, of the keyboard may be displayedThe identifier 507 (also called as second indication information) of the mobile phone input method indicates that the android simulator can use the input method at the host operating system side to input text and use the self-installed/>, under the current input stateAnd the mobile phone input method is used for inputting the text.
In some embodiments, the electronic device may cancel display of the second indication information in the second user interface when a second user operation to exit the input state is detected in the second user interface. The second user operation may include one or more of the following: clicking on a location outside of the input window in the second user interface, clicking on a location outside of the second user interface in the first user interface, exiting the second user interface.
In the example of FIG. 5, the user manipulates the mouse pointer to click on input box 508, a cursor 509 appears in input box 508, andVirtual keyboard 510 of the mobile phone input method represents/>, in the client operating systemThe cell phone input method is invoked. The user may then enter characters by clicking on virtual keys indicated in virtual keyboard 510, at which time the/>, will be displayed in virtual keyboard 510The input window 511 of the mobile phone input method is used for displaying input characters and candidate texts of a user, for example, the input characters are displayed in the upper row, the candidate texts are displayed in the next row, the position where the required candidate texts are located is clicked by a mouse, or the required candidate texts are selected by using a keyboard and a space key is tapped, so that the word can be input into the input box 508.
In the embodiment of the application, when the user uses the input method of the client operating system side, such asWhen the mobile phone input method is used for inputting, a background process is still in a resident state at the client operating system side, so that input information of a user at the host operating system side can be received at any time, such as acquisition/>The input box 508 can obtain the input information from the input method of the host operating system side and the input information from the input method of the client operating system side at the same time, and the input methods on two sides do not need to be set and switched, so that the input efficiency and the stability of the service state of the input method are improved, a friendly input operating environment is provided for a user, and the use experience of the user is improved.
In this embodiment, as shown in fig. 6A, a default input method is installed and set as the android simulatorIn the case of a mobile phone input method, the user may still enter text in the input box 609 by using the external physical keyboard 604, and does not need to change the default input method to an input method on the host operating system side. In one example, as in FIG. 6A, the/>, displayed on display 601There may be/>, displayed in the desktopStatus bar 614 of Pinyin input methodDisplay in taskbar in lower right corner of desktop/>An identification 615 of the input method. Running the have/>, in an android simulatorApplication inAt the bottom of the application's session interface 605 is an input box 608, which may be used for text input. The user manipulates the mouse 603 to click on the input box 608, a cursor 609 appears in the input box 608, and/>The virtual keyboard 610 of the mobile phone input method indicates that the input box 608 is in an inputtable state at this time. At this point in the top status bar of the android simulator there may be displayed an identification 606 of the keyboard (also called first indication information) and/>The identifier 607 (also called as second indication information) of the mobile phone input method indicates that the android simulator can use the input method at the host operating system side to input text and use the self-installed/>, under the current input state And the mobile phone input method is used for inputting the text.
The upper portion of the virtual keyboard 610 may be displayed withThe status bar 611 of the mobile phone input method, the small icons in the status bar 611 in fig. 6A, from left to right, represent: /(I)Identification, expression, voice input, keyboard type selection, toolbox, search and virtual keyboard collection of a mobile phone input method.
As shown in FIG. 6A, upon detecting operation 604 of the user striking the keyboard, the android simulator will invokeOperating System side/>Pinyin input method, at which time the/>, will be displayedThe input window 612 of the pinyin input method is used for displaying characters and candidate texts input by a user through a physical keyboard, for example, the input window 612 can comprise the pinyin characters input by the previous row and the candidate characters of the next row, and the number corresponding to the required candidate characters can be input into the input box 612, or after selection, the word can be input into the input box 612 by pressing a space key. It may be noted that, when the user uses the input method of the host operating system side to perform input, the background process of the input method of the client operating system side may be in a resident state, so that the input operation of the user may be accepted at any time. /(I)
Upon detecting that the user clicks the collapse virtual keyboard icon 613, the android simulator will collapse the virtual keyboard 610, with reference to FIG. 6B. In another embodiment, the android simulator can automatically retract the virtual keyboard 610 when detecting that the user uses the physical keyboard to perform input operation, so that a visual user interface is increased, and unnecessary situations that the keyboard obstructs a conversation interface are avoided. Or the developer sets the virtual keyboard 610 not to be displayed automatically, and the user is required to actively select the display to be displayed. The application is not limited with respect to triggering events in which virtual keyboard 610 is stowed.
In the view of figure 6B of the drawings,The virtual keyboard 610 of the mobile phone input method is hidden, the user performs input operation through the operation 604 of clicking the keyboard, and the android simulator obtains the input data from/>, through a daemon processOperating System side/>Text of Pinyin input method, at this time/>Operating System side/>The pinyin input method is the input source for the input window 612. When the user taps the keyboard,/>, will be displayed in the display 601The input window 612 of the pinyin input method is used for displaying characters and candidate texts input by a user through a keyboard, for example, the input window 612 can comprise the input pinyin characters of the upper row and the candidate characters of the next row, and a number corresponding to a required candidate character is input, so that the word can be input into the input box 612, or after selection, the word can be input into the input box 612 by pressing a space key.
As in fig. 6B, an identification 606 (also referred to as a first indication) of the keyboard and a display of the keyboard may be displayed in the top status bar of the android simulatorThe identifier 607 (also called as second indication information) of the mobile phone input method indicates that the android simulator can use the input method of the host operating system side to input text or use the self-installed input method in the current input stateText input by mobile phone input method,/>The mobile phone input method and the daemon for acquiring the input information of the host operating system side are in an active state at present.
In addition, considering that the situation that the host side input method and the client side input method input simultaneously may occur, the text input by the host side input method is displayed, the text input by the client side input method is displayed, or the text input by the client side input method is not displayed, or both sides are displayed, or the input channel occupation priority of the input method, the input process and the like can be set by a developer to prevent the input confusion, and the application is not limited in any way.
In yet another embodiment, as shown in fig. 7, the electronic device 100 is a desktop computer, and the electronic device 100 may include an input/output device: display 701, physical keyboard 702, mouse 703, etc., the user may effect text entry by tapping operation 704 of the keyboard.
In the present embodiment, the host operating system installed on the electronic device 100 isOperating System,/>The operating system is to/>As a kernel operating system, the lower left corner of the desktop displayed by display 701 may be displayed withMenu control 705. The electronic device 100 may also be provided with an android container, in which an operation may be performedThe operating system, the guest operating system, is in/>An operating system may be installed with/>An application program. In this embodiment, at/>The application program is/>And an Android version is taken as an example, and the content of the embodiment is described. The user may click on the/>, displayed on the display 701An Android application icon 706 is opened, and the application program is displayed on the display screen 701/> Android version of user interface 708.
Is a chat application program, as shown in figure 7, at/>The Android version of the user interface 708 displays the/>Title bar 707 and/>, of Android versionApplication session interface 709, where the user can navigate mouse pointer 710 at/>To achieve interaction. At/>The session interface 709 of the application also includes an input field 711, where the input field 711 may include an input box 712, may be used for text input, and the input field 711 may also include controls for inputting content such as voice, expression, and picture.
In the present embodiment of the present invention,The Chinese input method installed in the operating system may be/>Pinyin input method, the input method interface may include an input window 714 and a status bar 715. The input window 714 is used for displaying the input characters and candidate text of the user, and is displayed when the input method is in a state of inputting characters, and may include the pinyin characters input in the upper row and the candidate characters in the next row, and the digits corresponding to the required candidate characters are input, so that the word can be input to the input box 712, or the space key can be pressed to input the word to the input box 712 after the selection. The status bar 715 is used to display the current input method status, for example, the small icons in the status bar 715 shown are shown in order from left to right: /(I)The status bar 715 may be hidden from view for the identification of pinyin input methods, chinese/english input status, chinese/english punctuation, expressions, voice input, soft keyboards, skin, setup menus. In addition, when enabled/>Input method as current/>Input methods used by operating systems are described in the/>The taskbar in the lower right corner of the desktop may also display/>An identification 716 of the input method. Shown in FIG. 7/>The pinyin input method input window 714 and status bar 715 are merely examples, and in other embodiments, different input method interfaces may be displayed, as the application is not limited in this respect.
In addition, the input method is not limited to the pinyin input method, and the input method installed in the operating system is not limited in type, and can be an English input method, a five-stroke input method, a Zhuyin input method, a voice input method, a handwriting input method or an input method mixed by the above input methods.
In this embodiment, the user may use the external physical keyboard 702 to input text in the input box 712 of the android simulator, where the input method isInstalled in operating System/>A pinyin input method. In some embodiments,/> There may be no installation/>, in Android versionInput method at operating System side, at this time/>The Android version can take the input method of the host operating system as a default input method, so that a user can conveniently input by using a physical keyboard. In addition, the user can also install and set the default input method as the input method of the host operating system side by himself, and the input method set options in the set interface can display the input method options installed on the android operating system side.
At the position ofDefault input method of Android version is/>/>, In an operating SystemIn the pinyin input method, the user can use the external physical keyboard 702 to input the pinyin input methodText input is realized in Android version, a user controls a mouse to click on an input box 712, and a blinking cursor 713 appears in the input box 712 to indicate that the input box 712 is in an inputtable state at the moment. The user may then enter characters by tapping the keyboard at operation 704, responsive to user operation,/>Operating System side/>The pinyin input method is invoked, displaying the/>The input window 714 of the pinyin input method, after the user selects a candidate word, the candidate word is input into the input box 712. The manner in which the input method on the host operating system side is used may also include, without limitation, mouse click soft keyboard input, voice input, and the like, as well as operation 704 in which the user taps the keyboard.
At the position ofOperating System/>In the case of input using the Android input method in the Android version, reference may be made to the embodiment illustrated in fig. 5 and in/>Operating System/>In the Android version, the scenario in which the host operating system side and the two-side input method of the client operating system side perform input simultaneously may refer to the embodiments described in fig. 6A and fig. 6B, which are not described herein again.
In this embodiment, one or more android simulators or android containers may be deployed on the electronic device 100 to runThe operating system, which is not limited in this embodiment.
Based on the foregoing embodiments, an input implementation process of one embodiment of the present application is described in connection with fig. 8.
Referring to FIG. 8, the following 9 steps may be involved in entering content into the input window of the guest operating system using the input of the host operating system, in this embodiment the guest operating system The first application is/>An example is described. It is to be understood that this embodiment is merely an example, and that in other embodiments, more or fewer steps may be included as the case may be, and the application is not limited in any way. /(I)
Step ①: user clickSide/>Chat input boxes in applications.
Step ②: host operating system orientationThe side sends a message related to triggering clicking on the chat input box,The Window Manager service on the side updates the View (View) in which the current focus is located as/>, based on the messageIs a chat input box of (1).
Step ③: windowManager the service sends a message to Input Method Manager that triggers recording in Input Method Manager the Input Channel (Input Channel) of the View currently in focus.
Step ④: user input normal through host systemText is entered in the input box of the side WeChat application.
Step ⑤: the window instance on the host system side corresponding to the side WeChat application interface first receives an input text from the host system input method. An instance may include one or more processes.
Step ⑥: the window instance in step ⑤ described above sends the input text on the host side to the host side via a high-performance communication mechanism (e.g., socket, binder, etc.)A side Input Daemon (Input Daemon). The daemon serves a non-Android input method, so that other input method programs can be installed on the Android side, and the other input method programs on the Android side can be set as default input methods. In other embodiments, the input daemon for obtaining input text to the host operating system may be another type of process or program, such as a background process or other application program, as the application is not limited in this regard.
Step ⑦: after the Input Daemon accepts the Input text passed on the sink side, the Input Daemon requests InputChannel from InputMethodManager services to get the View of the current focus.
Step ⑧: input Daemon obtains InputChannel of View of the current focus.
Step ⑨: input Daemon passes the Input text from the host system Input method to the View in the current focus through InputChannel.
It may be noted that the host system input normal is used throughout the aboveIn the process of View input of the side application program, modification/> isnot neededSide default input method, also need not be directed/>The system registers for relevant input method services.
The following describes an input method provided by the present application with reference to the above embodiments and the corresponding drawings.
Referring to fig. 9A and 9B, fig. 9A and 9B are schematic flow diagrams of an input method according to an embodiment of the present application. In this embodiment, the electronic device 100 has a host operating system and a guest operating system running therein, and in some embodiments, the host operating system may beAn operating system, a guest operating system may be/>An operating system, embodiments described with reference to fig. 4, 5, 6A, and 6B. In other embodiments, the host operating system may also be/>Operating System (/ >)Kernel), guest operating system may be/>An operating system, the embodiment described with reference to fig. 7. A first process is running on a host operating system of the electronic device, where the first process is used to load a mirror image of a guest operating system and run the guest operating system, and in some embodiments, the first process may be, for example, an android simulator, an android container, and the like. In other embodiments, the host operating system and the guest operating system may be other types of operating systems as well, and the application is not limited.
A connection may be established between the host operating system and the guest operating system that enables communication between the host operating system and the guest operating system. The nature of the connection is such that the communicating parties use a commonly accepted mechanism for data transmission. The application is not limited in any way as to the manner in which the host operating system establishes a connection with the guest operating system. Optionally, in an implementation manner of this embodiment, a host operating system and a client operating system may communicate through a socket (socket) mechanism, where a socket is a communication manner commonly used between application processes, and is an abstraction layer between an application layer and a transport layer, which abstracts complex operations of a TCP/IP layer into several simple interface supply application layer calls, so as to facilitate communication between application processes. The host operating system and the guest operating system may communicate with each other through a high-performance communication mechanism such as a pipe mechanism or a binder mechanism, which is not limited in any way by the present application.
In this embodiment, there may be two cases where the input is performed in the first input window of the guest operating system, case 1: the user inputs by using a first input method at the host operating system side; case 2: the user inputs using a second input method on the guest operating system side.
The implementation procedures of case 1 and case 2 are described below.
Case 1 (S101 to S113): the user inputs using a first input method on the host operating system side.
As shown in fig. 9A, case 1 of the method may specifically include:
S101, the host operating system displays a first user interface of the host operating system, wherein a second user interface of a first application program of the client operating system is displayed in the first user interface, and the second user interface comprises a first input window.
In a guest operating system, there may be a case where user interfaces of a plurality of applications are displayed in parallel, and the present embodiment is not limited.
The first input window refers to a window capable of acquiring an input focus, accepting, accommodating and editing input content, and specifically may be an input box, a text box, a picture box, an address bar, a search box, an editable page (such as a notepad and a word page), a table capable of accommodating input content (such as an excel table), and the like. It should be noted that the foregoing is merely illustrative, and not exhaustive, of the first input window.
In connection with the embodiment shown in FIG. 7, the electronic device 100 has a host operating system running therein, i.eAn operating system, a first user interface hosting the operating system may be, for example/>Desktop of operating System,/>Application program/>The Android version, i.e. the first application of the guest operating system, may be, for example, an applicationAndroid version, the second user interface of the first application may be, for example/>Android version of the user interface 708, the second user interface includes a first input window, which may be, for example/>Chat input box 712 in the session interface.
S102, the host operating system detects that a mouse click event occurs in the second user interface.
In one example, the user may use the mouse to position a mouse pointer to the location of the first input window in the second user interface in the guest operating system and click, at which point the host operating system may detect that a mouse click event has occurred in the second user interface in the guest operating system. The user may select a user operation such as a touch pad control, a physical keyboard control, or a voice control to click or select a certain position, not limited to the mouse control.
S103, the host operating system sends a mouse click event and a first position of a mouse pointer to the client operating system.
In one example, when the electronic device 100 detects that the first location in the second user interface is clicked, the host operating system may send a mouse click event and a message of the first location of the mouse pointer to the guest operating system. The message may be used for notificationThe window management service (windowmanagerservice) of the operating system updates the input window in which its current input focus is located.
S104, the client operating system determines that the first input window in the second user interface is clicked according to the first position.
In connection with the embodiment shown in fig. 7, an application programAndroid version can be determined according to coordinates of first positionChat input box 712 in the session interface is clicked. The clicking operation is also called a first user operation, and the first user operation may be a position where the user clicks the first input window by using a mouse, or a position where the user clicks the first input window by clicking a touch screen or a touch pad with a finger, or a voice instruction operation or a space gesture operation.
S105, the client operating system displays an input focus in the first input window.
After the first input window is clicked, the first input window may acquire the input focus and display the input focus, for example, the input focus may be displayed as a blinking cursor, and when the input focus is displayed in the first input window, it may indicate that the first input window is currently in an inputtable state.
In connection with the embodiment shown in fig. 7, for example, when the user manipulates the mouse to click on the input box 712, a blinking cursor 713 appears in the input box 712, indicating that the input box 712 is in an inputtable state.
S106, the client operating system acquires an input channel corresponding to the first input window.
The input channel is an input interface between an input method used by a user at the client operating system side and the first application program, and can be used for transmitting an input object (such as text) acquired by the input method to the first application program.
In one example, upon detecting that the first input window is clicked, the window management service of the android operating system may send a message to the input method management service (inputmethodmanagerservice, IMMS) for registering with the input method management service an input channel of the first input window currently obtaining input focus, i.e., the first input window is registered as a target window of the input channel. The input channel is a communication channel between the input method at the client operating system side and the first application program, and can transmit an input object (such as text) acquired by the input method to the first application program.
S107, the host operating system detects that a key (e.g., key "Q") in the physical keyboard on the host operating system side is struck.
In this embodiment, the user may perform an input operation by clicking a key in a physical keyboard of the electronic device 100.
In connection with the embodiment shown in FIG. 7, a user may perform an input operation by, for example, tapping operation 704 of physical keyboard 702.
Specifically, the user may manipulate the input device of the electronic device 100 to input text or the like into the first input window on the client operating system side. It will be readily appreciated that the electronic device 100 has an input device, such as a personal computer, the conventional input device of which is a keyboard. For another example, a mobile phone, its input device is its touch screen. In addition, a microphone, a scanner, a camera, or the like may also be used as an input device of the electronic device 100.
The input device may be self-contained or external to the electronic device 100. For example, when the electronic device 100 is a notebook computer, the input device may be a keyboard, a camera, a microphone, or the like, or may be an external keyboard, a camera, a microphone, or the like.
In some embodiments, the input device may be a physical keyboard. The user may generate a corresponding operation command by clicking or pressing a character key on the keyboard, so that the electronic device 100 may generate text content according to the operation command, so as to obtain the content to be displayed.
In some embodiments, the input device may be a touch screen or a touch pad. The user can generate a corresponding operation command by clicking character keys represented on a virtual keyboard in the touch screen, so that text contents to be displayed are obtained.
In some embodiments, the input device may be a microphone. A user may input speech to the electronic device 100 through a microphone. The electronic device 100 converts the user input speech into text resulting in input content.
In some embodiments, the input device may be a camera. The user can take pictures through the camera and input content to the first electronic device. The electronic device 100 may extract text from a picture taken by a camera to obtain input content. Text extraction may be performed using optical character recognition (optical character recognition, OCR) techniques. The electronic device 100 may also extract an image from a picture taken by a camera and serve as input content.
In some embodiments, the input device may be a scanner. A user may input content to the electronic device 100 through a scanner. The electronic device 100 may extract text from the scanned picture input through the scanner to obtain the content to be displayed. Text extraction may be performed specifically using OCR techniques. The electronic device 100 may also extract an image from the scanned picture to obtain the content to be displayed.
In some embodiments, the input device may be a tablet or stylus, and the text content or image for transmission to the electronic device 100 is text or image entered via the tablet or stylus.
S108, the host operating system displays an interface (optional) of the first input method at the side of the host operating system.
When the host operating system detects that the physical keyboard is knocked by the user, the input method application manager of the host operating system provides an input method management service, and the input method management service can call a first input method selected by the user or selected by the system (namely default) at the side of the host operating system.
Optionally, when the host operating system detects that a key in the physical keyboard is struck, the input method application runs in the foreground, and at this time, an interface of the first input method may be displayed in the first user interface. For example, in connection with the embodiment shown in FIG. 7,The first input method installed in the operating system may be/>Pinyin input method/>The interface of the pinyin input method may include an input window 714 and a status bar 715. The input window 714 is used for displaying the input characters and candidate text of the user, and is displayed when the input method is in a state of inputting characters, and may include the pinyin characters input in the upper row and the candidate characters in the next row, and the digits corresponding to the required candidate characters are input, so that the word can be input to the input box 712, or the space key can be pressed to input the word to the input box 712 after the selection. The status bar 715 is used to display the current input method status, for example, the small icons in the status bar 715 shown are shown in order from left to right: /(I)The status bar 715 may be hidden from view for the identification of pinyin input methods, chinese/english input status, chinese/english punctuation, expressions, voice input, soft keyboards, skin, setup menus. In addition, when enabled/>Input method as current/>Input methods used by operating systems are described in the/>The taskbar in the lower right corner of the desktop may also display/>An identification 716 of the input method.
It may be noted that, when the user uses the first input method of the host operating system side to perform input, the background process of the second input method of the client operating system side is in a resident state, so that the user's input operation can be accepted at any time.
Optionally, when the host operating system detects that a key in the physical keyboard is struck, an interface of the first input method may not be displayed in the first user interface, for example, when the physical keyboard is used for inputting english characters, the interface of the first input method may not be displayed, and the first input method may directly convert "Q" represented by the key in the physical keyboard into the english character "Q", and does not need to additionally display the interface of the first input method.
S109, the host operating system obtains a first input object (such as English character "Q") generated by the key (such as key "Q") being struck through a first input method at the host operating system side.
The first input method may convert a key that is struck in the physical keyboard into a corresponding first input object, e.g., clicking a key that displays "Q" in the physical keyboard, the first input method may convert it into an english character "Q".
The first input object may specifically be text, picture, expression, etc., which is not limited in this embodiment.
S110, the client operating system obtains a first input object (such as English character Q) from the host operating system through the input daemon.
The input daemon (inputdaemon) on the guest operating system side may be in a resident state at all times, acquiring the first input object from the host operating system at any time.
In other embodiments, the input daemon for obtaining the first input object from the host operating system may be another type of process or program, such as a background process or another application program, which is not limited in this regard by the present application.
S111, the client operating system confirms whether the input channel is in an available state (optional).
Optionally, after the input daemon of the guest operating system acquires the first input object from the host operating system, it may query whether the input channel is currently in an available state. If the result of the query is that the input channel is currently in an available state, step S112 is performed.
In some embodiments, if the input channel is not occupied by a second input method on the guest operating system side, it may be determined that the input channel is available for the first input method.
In some embodiments, if the input channel is occupied by a second input method on the guest operating system side, but the first input method obtains the first input object with a higher priority than the second input method obtains the second input object, it may be determined that the input channel is available for the first input method.
In some embodiments, the input channel may be in an unavailable state, where the input channel may be in an unavailable state, for example, the input channel may be set to not accept text from an input method on the host operating system side, such as setting a keyboard input on the host side to be disabled currently, or the input channel may be in an occupied state, such as inputting by an input method on the guest operating system side, occupying the input channel, and the like, which are not limited herein.
If the query results in that the input channel is currently in the unavailable state, the processing result may be various, for example, the current input operation may be cancelled, the first input object may be temporarily stored, and the input may be retried when the input channel is detected to be in the available state again, which is not limited in this embodiment.
In some embodiments, when the first input method occupies the input channel, the electronic device may cancel that the first input method occupies the input channel if the first input method does not detect that the first input method has acquired the first input object within the first time. The first time may be, for example, 5 minutes.
In some embodiments, when the first input method occupies the input channel but does not transfer the first input object, the electronic device may cancel that the first input method occupies the input channel upon detecting that the second input method acquires the second input object.
The above-described cases are merely examples of the "occupancy policy" of the input channel, and do not limit the embodiments of the present application.
S112, the guest operating system uses the input channel to transfer the first input object (e.g., english character "Q") acquired by the input daemon to the first input window.
The input daemon of the client operating system obtains the use right of the input channel and sends a first input object to the input channel, the first input object is transmitted to a first application program through the input channel, and the first application program transmits the first input object to a first input window which currently obtains an input focus.
S113, the guest operating system displays a first input object (e.g., english character "Q") in a first input window of the first application.
Case 2 (S201-S213): the user inputs using a second input method on the guest operating system side.
As shown in fig. 9B, case 2 of the method may specifically include:
S201, the host operating system displays a first user interface of the host operating system, wherein a second user interface of a first application program of the client operating system is displayed in the first user interface, and the second user interface comprises a first input window.
Reference is made to the aforementioned step S101.
S202, the host operating system detects that a mouse click event occurs in the second user interface.
Reference is made to the aforementioned step S102.
S203, the host operating system sends a mouse click event and a first position of a mouse pointer to the client operating system.
Reference is made to the aforementioned step S103.
S204, the client operating system determines that the first input window in the second user interface is clicked according to the first position.
Reference is made to the aforementioned step S104.
S205, the guest operating system displays the input focus in the first input window.
Reference is made to the aforementioned step S105.
S206, the client operating system acquires an input channel corresponding to the first input window.
Reference is made to the aforementioned step S106.
S207, the client operating system displays a virtual input keyboard (optional) of the second input method at the client operating system side.
Optionally, after the user clicks the first input window, the input method application manager of the android operating system may provide an input method management service (inputmethodmanagerservice, IMMS), where the input method management service may call a second input method selected by the user or selected by the system (i.e. default) on the android operating system side. And after the input method management service of the android operating system calls the second input method, a virtual input keyboard of the second input method is pulled up and displayed in the second user interface.
In connection with the embodiment shown in FIG. 5, for example, a user manipulating a mouse pointer to click on input box 508, a cursor 509 appears in input box 508, and on the client operating system sideVirtual keyboard 510 of the mobile phone input method represents/>, in the client operating systemThe cell phone input method is invoked. The user may then enter characters by clicking on virtual keys indicated in virtual keyboard 510, at which time the/>, will be displayed in virtual keyboard 510The input window 511 of the mobile phone input method is used for displaying input characters and candidate texts of a user, for example, the input characters are displayed in the upper row, the candidate texts are displayed in the next row, the position where the required candidate texts are located is clicked by a mouse, or the required candidate texts are selected by using a keyboard and a space key is tapped, so that the word can be input into the input box 508.
Alternatively, the virtual input keyboard of the second input method may not be displayed, for example, the user may select to hide the virtual input keyboard of the second input method, or the virtual input keyboard may be automatically folded when it is detected that the user uses the physical keyboard on the host side to perform input.
The virtual keyboard provided by the operating system side can comprise a plurality of types of text keyboards, numeric keyboards, symbol keyboards, expression keyboards, voice keyboards, handwriting keyboards and the like, the text keyboards can also comprise a plurality of types of keyboards such as Chinese keyboards, english keyboards and the like, the Chinese keyboards can also comprise pinyin keyboards, five-stroke keyboards, phonetic keyboards and the like, the Chinese pinyin keyboards can also comprise nine-grid type pinyin keyboards, full-keyboard type pinyin keyboards and the like, the expression keyboards can also comprise emoji keyboards, pigment-character keyboards or expression package keyboards and the like, the application is not limited in any way, and keys can be used for triggering switching among different types of keyboards in the virtual keyboards.
S208, the host operating system detects that a mouse click event occurs in the second user interface.
In one example, the user may use the mouse to position a mouse pointer to the location of the virtual input keyboard in the second user interface in the guest operating system and click, at which point the host operating system may detect that a mouse click event has occurred in the second user interface in the guest operating system. The user may select a user operation such as a touch pad control, a physical keyboard control, or a voice control to click a certain position, not limited to the mouse control.
S209, the host operating system sends a mouse click event and a second position of the mouse pointer to the client operating system.
In one example, when the electronic device 100 detects that the second location in the second user interface is clicked, the host operating system may send a mouse click event and the second location of the mouse pointer to the guest operating system.
S210, the client operating system determines that a key (such as a key "S") in the virtual input keyboard is clicked according to the second position.
In one example, a second input method in the guest operating system may determine that a first key (e.g., key "S") in a virtual input keyboard of the second input method is clicked based on coordinates of the second location.
S211, the client operating system acquires a second input object (such as English character S) generated by clicking a key (such as the key S) through a second input method at the client operating system side.
The second input method may convert the clicked key in the virtual input keyboard into a corresponding second input object, for example, clicking a key in the virtual input keyboard that displays "S", and the second input method may convert it into an english character "S".
The second input object may be text, picture, expression, etc., which is not limited in this embodiment.
S212, the client operating system uses the input channel to transmit a second input object (such as English character S) acquired by the second input method to the first input window.
And the second input method of the client operating system sends the acquired second input object to the input channel, the second input object is transmitted to the first application program through the input channel, and the first application program transmits the second input object to the first input window which acquires the input focus currently.
S213, the guest operating system displays a second input object (e.g., english character "S") in the first input window of the first application.
By implementing the embodiment of the method, a user can input texts into the client operating system by using the host operating system side, and an input window for obtaining an input focus in the client operating system can simultaneously obtain the input information from the input method of the host operating system side and the input information from the input method of the client operating system side, and the input methods on two sides do not need to be set for switching, so that the input efficiency and the stability of the service state of the input method are improved, a friendly input operating environment is provided for the user, and the use experience of the user is improved.
The foregoing embodiments have been provided for the purpose of illustrating the general principles of the present invention in further detail, and are not to be construed as limiting the scope of the invention, but are merely intended to cover any modifications, equivalents, improvements, etc. based on the teachings of the invention.
It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, magnetic disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (25)

1. An input method is applied to electronic equipment, and a host operating system and a client operating system are operated on the electronic equipment, and is characterized in that a first input method is installed on the host operating system, and a second input method is installed on the client operating system, and the method comprises the following steps:
The electronic equipment displays a first user interface of the host operating system, a second user interface of a first application program is displayed in the first user interface, the first application program is loaded in the client operating system, and the second user interface comprises a first input window; the first user interface also displays the indication information of the first input method and the indication information of the second input method; the second user interface is also provided with a virtual keyboard of the second input method;
the electronic device detects a first user operation in the first input window;
the electronic device displays an input focus in the first input window;
In response to input operation detected by input equipment of the electronic equipment, the electronic equipment acquires a first input object generated by the input operation through the first input method, an input daemon in the client operating system acquires the first input object on the host operating system side, and if an input channel corresponding to the first input window is in an available state, the input daemon transmits the first input object to the first input window through the input channel corresponding to the first input window; the electronic device displays the first input object in the first input window; wherein the availability status includes: the input channel is not occupied by the second input method, or the input channel is occupied by the second input method but the first input method has a higher priority than the second input method;
In response to a key in a virtual keyboard of the second input method being clicked, the electronic device acquires a second input object generated by the fact that the key is clicked through the second input method, and the client operating system transmits the second input object to the first input window by using the input channel; the electronic device displays the second input object in the first input window.
2. The method of claim 1, wherein a first process is running on a host operating system of the electronic device, the first process to load a mirror image of the guest operating system and run the guest operating system.
3. The method as recited in claim 1, further comprising:
The electronic device transmits the first input object to the input daemon through a window instance of the first application program on the host operating system side.
4. The method as recited in claim 2, further comprising:
The electronic device transmits the first input object to the input daemon through a window instance of the first application program on the host operating system side.
5. The method of claim 1, wherein the input daemon passes the first input object to the first input window through an input channel corresponding to the first input window, specifically comprising:
the input daemon passing the first input object to the input channel;
the input channel passes the first input object to the first application;
the first application program transmits the first input object to a view corresponding to the first input window.
6. The method of claim 2, wherein the input daemon passes the first input object to the first input window through an input channel corresponding to the first input window, specifically comprising:
the input daemon passing the first input object to the input channel;
the input channel passes the first input object to the first application;
the first application program transmits the first input object to a view corresponding to the first input window.
7. The method of claim 3, wherein the input daemon passes the first input object to the first input window through an input channel corresponding to the first input window, specifically comprising:
the input daemon passing the first input object to the input channel;
the input channel passes the first input object to the first application;
the first application program transmits the first input object to a view corresponding to the first input window.
8. The method of claim 4, wherein the input daemon passes the first input object to the first input window through an input channel corresponding to the first input window, specifically comprising:
the input daemon passing the first input object to the input channel;
the input channel passes the first input object to the first application;
the first application program transmits the first input object to a view corresponding to the first input window.
9. The method as recited in claim 1, further comprising:
when the first input method occupies the input channel, if the first input method is not detected to acquire the first input object in the first time, the electronic equipment cancels that the first input method occupies the input channel.
10. The method as recited in claim 2, further comprising:
when the first input method occupies the input channel, if the first input method is not detected to acquire the first input object in the first time, the electronic equipment cancels that the first input method occupies the input channel.
11. A method as recited in claim 3, further comprising:
when the first input method occupies the input channel, if the first input method is not detected to acquire the first input object in the first time, the electronic equipment cancels that the first input method occupies the input channel.
12. The method as recited in claim 4, further comprising:
when the first input method occupies the input channel, if the first input method is not detected to acquire the first input object in the first time, the electronic equipment cancels that the first input method occupies the input channel.
13. The method as recited in claim 5, further comprising:
when the first input method occupies the input channel, if the first input method is not detected to acquire the first input object in the first time, the electronic equipment cancels that the first input method occupies the input channel.
14. The method as recited in claim 6, further comprising:
when the first input method occupies the input channel, if the first input method is not detected to acquire the first input object in the first time, the electronic equipment cancels that the first input method occupies the input channel.
15. The method as recited in claim 7, further comprising:
when the first input method occupies the input channel, if the first input method is not detected to acquire the first input object in the first time, the electronic equipment cancels that the first input method occupies the input channel.
16. The method as recited in claim 8, further comprising:
when the first input method occupies the input channel, if the first input method is not detected to acquire the first input object in the first time, the electronic equipment cancels that the first input method occupies the input channel.
17. The method of any one of claims 1-16, further comprising:
When the first input method occupies the input channel but the first input object is not transmitted, the electronic device cancels that the first input method occupies the input channel once the second input method is detected to acquire the second input object.
18. The method of any one of claims 1-16, further comprising:
And when the second user operation exiting the input state is detected in the second user interface, the electronic equipment cancels displaying the indication information of the second input method in the second user interface.
19. The method as recited in claim 17, further comprising:
And when the second user operation exiting the input state is detected in the second user interface, the electronic equipment cancels displaying the indication information of the second input method in the second user interface.
20. The method of claim 18, wherein the second user operation comprises one or more of: clicking on a location outside of the first input window in the second user interface, clicking on a location outside of the second user interface in the first user interface, exiting the second user interface.
21. The method of claim 19, wherein the second user operation comprises one or more of: clicking on a location outside of the first input window in the second user interface, clicking on a location outside of the second user interface in the first user interface, exiting the second user interface.
22. The method of claim 1, wherein the first user operation is an operation to select the first input window, the first user operation comprising one or more of: and selecting the mouse clicking operation of the first input window, the touch operation acted on the touch panel, the voice instruction operation and the space gesture operation.
23. The method of claim 1, wherein the first input method obtaining a first input object comprises one or more of: an input object received through a physical keyboard of the electronic device, an input object received through a soft keyboard of the first input method, an input object received through a voice command, an input object received through a touch pad, and an input object received through a touch screen.
24. An electronic device having a host operating system and a guest operating system running thereon, the electronic device comprising: a memory and a processor coupled to the memory, the memory having stored therein computer executable instructions for invoking the instructions to cause the electronic device to perform the method of any of claims 1-23.
25. A computer storage medium having stored therein a computer program comprising executable instructions which when executed by a processor cause the processor to perform operations corresponding to the method of any of claims 1-23.
CN202010481577.4A 2020-05-31 2020-05-31 Input method and electronic equipment Active CN113741708B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010481577.4A CN113741708B (en) 2020-05-31 2020-05-31 Input method and electronic equipment
PCT/CN2021/097049 WO2021244459A1 (en) 2020-05-31 2021-05-29 Input method and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010481577.4A CN113741708B (en) 2020-05-31 2020-05-31 Input method and electronic equipment

Publications (2)

Publication Number Publication Date
CN113741708A CN113741708A (en) 2021-12-03
CN113741708B true CN113741708B (en) 2024-06-11

Family

ID=78727907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010481577.4A Active CN113741708B (en) 2020-05-31 2020-05-31 Input method and electronic equipment

Country Status (2)

Country Link
CN (1) CN113741708B (en)
WO (1) WO2021244459A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918227A (en) * 2021-09-10 2022-01-11 北京鲸鲮信息***技术有限公司 Input method setting method and device, input method and electronic equipment
CN114489350B (en) * 2021-12-27 2023-04-28 荣耀终端有限公司 Input method calling method and related equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104740872A (en) * 2015-04-13 2015-07-01 北京奇虎科技有限公司 Method and device for operating and controlling game program in simulated Android environment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6546431B1 (en) * 1999-03-12 2003-04-08 International Business Machines Corporation Data processing system and method for sharing user interface devices of a provider assistive technology application with disparate user assistive technology applications
CN102427448B (en) * 2011-11-03 2017-07-14 南京中兴软件有限责任公司 Method, terminal and the service end of client input are used in virtual desktop
US9300720B1 (en) * 2013-05-21 2016-03-29 Trend Micro Incorporated Systems and methods for providing user inputs to remote mobile operating systems
CN104142851A (en) * 2014-08-04 2014-11-12 福州靠谱网络有限公司 Method for using computer input method in android simulator
CN107179952B (en) * 2016-03-11 2021-03-23 思杰***有限公司 Collaborative Input Method Editor (IME) activity between virtual application clients and servers
CN112968991B (en) * 2019-06-20 2022-07-29 华为技术有限公司 Input method, electronic equipment and screen projection system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104740872A (en) * 2015-04-13 2015-07-01 北京奇虎科技有限公司 Method and device for operating and controlling game program in simulated Android environment

Also Published As

Publication number Publication date
WO2021244459A1 (en) 2021-12-09
CN113741708A (en) 2021-12-03

Similar Documents

Publication Publication Date Title
WO2021129326A1 (en) Screen display method and electronic device
CN112269527B (en) Application interface generation method and related device
WO2021139768A1 (en) Interaction method for cross-device task processing, and electronic device and storage medium
CN110597512B (en) Method for displaying user interface and electronic equipment
US20220413695A1 (en) Split-screen display method and electronic device
CN110362244B (en) Screen splitting method and electronic equipment
WO2021115194A1 (en) Application icon display method and electronic device
WO2021110133A1 (en) Control operation method and electronic device
WO2021196970A1 (en) Method for creating application shortcuts, electronic device, and system
EP4206884A1 (en) Method for interaction between multiple applications
CN114816167B (en) Application icon display method, electronic device and readable storage medium
US20220357818A1 (en) Operation method and electronic device
WO2023124141A1 (en) Input method calling method and related device
WO2021244459A1 (en) Input method and electronic device
CN110865765A (en) Terminal and map control method
WO2022213831A1 (en) Control display method and related device
EP4195095A1 (en) Method for translating interface of application, and related device
WO2022002213A1 (en) Translation result display method and apparatus, and electronic device
WO2022052961A1 (en) Method for performing biometric authentication when multiple application interfaces are simultaneously displayed
WO2024104094A1 (en) Screenshot sharing method and electronic device
WO2023098417A1 (en) Interface display method and apparatus
WO2024149089A1 (en) Display method, display apparatus, and electronic device
WO2023241544A1 (en) Component preview method and electronic device
CN118260742A (en) Cross-system information processing method and electronic equipment
CN118276719A (en) Information collection method and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant