FileDocCategorySizeDatePackage
InputMethodSession.javaAPI DocAndroid 5.1 API7496Thu Mar 12 22:22:10 GMT 2015android.view.inputmethod

InputMethodSession

public interface InputMethodSession
The InputMethodSession interface provides the per-client functionality of {@link InputMethod} that is safe to expose to applications.

Applications will not normally use this interface themselves, instead relying on the standard interaction provided by {@link android.widget.TextView} and {@link android.widget.EditText}.

Fields Summary
Constructors Summary
Methods Summary
public voidappPrivateCommand(java.lang.String action, android.os.Bundle data)
Process a private command sent from the application to the input method. This can be used to provide domain-specific features that are only known between certain input methods and their clients.

param
action Name of the command to be performed. This must be a scoped name, i.e. prefixed with a package name you own, so that different developers will not create conflicting commands.
param
data Any data to include with the command.

public voiddispatchGenericMotionEvent(int seq, android.view.MotionEvent event, android.view.inputmethod.InputMethodSession$EventCallback callback)
This method is called when there is a generic motion event.

If the input method wants to handle this event, return true, otherwise return false and the caller (i.e. the application) will handle the event.

param
event The motion event.
return
Whether the input method wants to handle this event.
see
android.view.MotionEvent

public voiddispatchKeyEvent(int seq, android.view.KeyEvent event, android.view.inputmethod.InputMethodSession$EventCallback callback)
This method is called when a key is pressed. When done with the event, the implementation must call back on callback with its result.

If the input method wants to handle this event, return true, otherwise return false and the caller (i.e. the application) will handle the event.

param
event The key event.
return
Whether the input method wants to handle this event.
see
#dispatchKeyUp
see
android.view.KeyEvent

public voiddispatchTrackballEvent(int seq, android.view.MotionEvent event, android.view.inputmethod.InputMethodSession$EventCallback callback)
This method is called when there is a track ball event.

If the input method wants to handle this event, return true, otherwise return false and the caller (i.e. the application) will handle the event.

param
event The motion event.
return
Whether the input method wants to handle this event.
see
android.view.MotionEvent

public voiddisplayCompletions(CompletionInfo[] completions)
Called by a text editor that performs auto completion, to tell the input method about the completions it has available. This can be used by the input method to display them to the user to select the text to be inserted.

param
completions Array of text completions that are available, starting with the best. If this array is null, any existing completions will be removed.

public voidfinishInput()
This method is called when the application would like to stop receiving text input.

public voidtoggleSoftInput(int showFlags, int hideFlags)
Toggle the soft input window. Applications can toggle the state of the soft input window.

param
showFlags Provides additional operating flags. May be 0 or have the {@link InputMethodManager#SHOW_IMPLICIT}, {@link InputMethodManager#SHOW_FORCED} bit set.
param
hideFlags Provides additional operating flags. May be 0 or have the {@link InputMethodManager#HIDE_IMPLICIT_ONLY}, {@link InputMethodManager#HIDE_NOT_ALWAYS} bit set.

public voidupdateCursor(android.graphics.Rect newCursor)
This method is called when cursor location of the target input field has changed within its window. This is not normally called, but will only be reported if requested by the input method.

param
newCursor The rectangle of the cursor currently being shown in the input field's window coordinates.

public voidupdateCursorAnchorInfo(CursorAnchorInfo cursorAnchorInfo)
This method is called when the cursor and/or the character position relevant to text input is changed on the screen. This is not called by default. It will only be reported if requested by the input method.

param
cursorAnchorInfo Positional information relevant to text input, such as text insertion point and composition string.

public voidupdateExtractedText(int token, ExtractedText text)
Called by a text editor to report its new extracted text when its contents change. This will only be called if the input method calls {@link InputConnection#getExtractedText(ExtractedTextRequest, int) InputConnection.getExtractedText()} with the option to report updates.

param
token The input method supplied token for identifying its request.
param
text The new extracted text.

public voidupdateSelection(int oldSelStart, int oldSelEnd, int newSelStart, int newSelEnd, int candidatesStart, int candidatesEnd)
This method is called when the selection or cursor in the current target input field has changed.

param
oldSelStart The previous text offset of the cursor selection start position.
param
oldSelEnd The previous text offset of the cursor selection end position.
param
newSelStart The new text offset of the cursor selection start position.
param
newSelEnd The new text offset of the cursor selection end position.
param
candidatesStart The text offset of the current candidate text start position.
param
candidatesEnd The text offset of the current candidate text end position.

public voidviewClicked(boolean focusChanged)
This method is called when the user tapped a text view. IMEs can't rely on this method being called because this was not part of the original IME protocol, so applications with custom text editing written before this method appeared will not call to inform the IME of this interaction.

param
focusChanged true if the user changed the focused view by this click.