Share via


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.EditText提供android.widget.TextView的标准交互。

实现输入法的用户通常应通过派生自 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 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

字段

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)

扩展方法

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

适用于