IInputMethod 接口

定义

InputMethod 接口表示可以生成关键事件和文本的输入方法,例如数字、电子邮件地址、CJK 字符、其他语言字符等。

[Android.Runtime.Register("android/view/inputmethod/InputMethod", "", "Android.Views.InputMethods.IInputMethodInvoker")]
public interface IInputMethod : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/view/inputmethod/InputMethod", "", "Android.Views.InputMethods.IInputMethodInvoker")>]
type IInputMethod = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
派生
属性
实现

注解

InputMethod 接口表示一种输入方法,该方法可以生成关键事件和文本,例如数字、电子邮件地址、CJK 字符、其他语言字符等,同时处理各种输入事件,并将文本发送回请求文本输入的应用程序。 有关体系结构的更多常规信息,请参阅 InputMethodManager

应用程序通常不会自行使用此接口,而是依赖于和android.widget.TextViewandroid.widget.EditText提供的标准交互。

实现输入法的那些通常应该派生自 InputMethodService 其子类或其中一个子类来实现。 实现输入法时,包含它的服务组件还必须提供 #SERVICE_META_DATA 元数据字段,引用 XML 资源,提供有关输入法的详细信息。 所有输入法还必须要求客户端保留 android.Manifest.permission#BIND_INPUT_METHOD 服务才能与服务交互;如果不需要,则系统不会使用该输入法,因为它不能信任它不会受到损害。

InputMethod 接口实际上分为两部分:此处的接口是输入方法的顶级接口,提供对输入法的所有访问权限,只有系统可以访问(由于BIND_INPUT_METHOD权限要求)。 此外,还可以调用其方法 #createSession(android.view.inputmethod.InputMethod.SessionCallback) 来实例化辅助 InputMethodSession 接口,这是客户端用来与输入法通信的接口。

适用于 . 的 android.view.inputmethod.InputMethodJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

字段

名称 说明
ServiceInterface

这是实现输入方法的服务应表示其支持的接口名称,即它是它用于其意向筛选器的操作。

ServiceMetaData

InputMethod 服务组件发布有关自身的信息的名称。

属性

名称 说明
Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
JniIdentityHashCode

返回包装实例的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
PeerReference

返回JniObjectReference包装的Java对象实例。

(继承自 IJavaPeerable)

方法

名称 说明
AttachToken(IBinder)

在创建输入法后首先调用,这将为它与系统服务一起提供的会话提供唯一令牌。

BindInput(InputBinding)

将新的应用程序环境绑定到输入方法,以便以后可以启动和停止输入处理。

ChangeInputMethodSubtype(InputMethodSubtype)

通知在同一输入法中正在更改输入法子类型。

CreateSession(IInputMethodSessionCallback)

创建一个新 InputMethodSession 应用程序,以便与输入法交互。

Disposed()

在释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则不执行任何操作。

(继承自 IJavaPeerable)
Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
HideSoftInput(Int32, ResultReceiver)

请求用户隐藏输入方法的任何软输入部分。

RestartInput(IInputConnection, EditorInfo)

当需要重置此输入法的状态时,将调用此方法。

RevokeSession(IInputMethodSession)

禁用和销毁以前创建的 #createSession(android.view.inputmethod.InputMethod.SessionCallback)会话。

SetJniIdentityHashCode(Int32)

设置由 JniIdentityHashCode. 返回的值。

(继承自 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

InputMethod 接口表示可以生成关键事件和文本的输入方法,例如数字、电子邮件地址、CJK 字符、其他语言字符等。

(继承自 IJavaPeerable)
SetPeerReference(JniObjectReference)

设置由 PeerReference. 返回的值。

(继承自 IJavaPeerable)
SetSessionEnabled(IInputMethodSession, Boolean)

控制特定输入法会话是否处于活动状态。

ShowSoftInput(ShowSoftInputFlags, ResultReceiver)

请求向用户显示输入方法的任何软输入部分。

StartInput(IInputConnection, EditorInfo)

当应用程序开始接收文本并且此输入方法已准备好处理收到的事件并将结果文本发送回应用程序时,将调用此方法。

UnbindInput()

取消绑定应用程序环境,当以前设置的信息 #bindInput 不再对此输入法有效时调用。

UnregisterFromRuntime()

取消注册此实例,使运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。

(继承自 IJavaPeerable)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

InputMethod 接口表示可以生成关键事件和文本的输入方法,例如数字、电子邮件地址、CJK 字符、其他语言字符等。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于