語言

IInputMethod 介面

定義

輸入方法介面代表一種輸入法,能產生關鍵事件與文字,例如數位、電子郵件、中日韓字元、其他語言字元等。

[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
衍生
屬性
實作

備註

輸入方法介面代表一種輸入法,能產生關鍵事件與文字,如數位、電子郵件地址、中日韓文字、其他語言字元等,同時處理各種輸入事件,並將文字回傳給請求文字輸入的應用程式。 關於架構的一般資訊請參見 InputMethodManager

應用程式通常不會自行使用此介面,而是依賴由 和 android.widget.TextView提供的android.widget.EditText標準互動。

實作輸入法的人通常應該從其子類別或其子類別中推導 InputMethodService 出來。 實作輸入法時,包含該輸入法的服務元件也必須提供 #SERVICE_META_DATA 一個元資料欄位,參考提供輸入法詳細資訊的 XML 資源。 所有輸入法也必須要求用戶端持有 才能 android.Manifest.permission#BIND_INPUT_METHOD 與服務互動;若無此要求,系統將不會使用該輸入法,因為無法信任該輸入法未被入侵。

InputMethod 介面實際上分為兩部分:這裡的介面是輸入法的頂層介面,提供所有存取權限,只有系統能存取(因為需要BIND_INPUT_METHOD權限)。 此外,其方法 #createSession(android.view.inputmethod.InputMethod.SessionCallback) 也可以被呼叫來實例化次要 InputMethodSession 介面,這是用戶端用來與輸入法溝通的介面。

Java 文件 android.view.inputmethod.InputMethod

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

欄位

名稱 Description
ServiceInterface

這是實作輸入法的服務應該說明的介面名稱——也就是說,這是它用於意圖過濾器的動作。

ServiceMetaData

輸入方法服務元件用來發佈自身資訊的名稱。

屬性

名稱 Description
Handle

取得底層 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
JniIdentityHashCode

回傳包裹實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
JniManagedPeerState

管理貴族的狀況。

(繼承來源 IJavaPeerable)
JniObjectReferenceControlBlock

輸入方法介面代表一種輸入法,能產生關鍵事件與文字,例如數位、電子郵件、中日韓字元、其他語言字元等。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取與召喚支援。

(繼承來源 IJavaPeerable)
PeerReference

回傳JniObjectReference包裹後的 Java 物件實例。

(繼承來源 IJavaPeerable)

方法

名稱 Description
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)session 。

SetJniIdentityHashCode(Int32)

將回傳的值設為 JniIdentityHashCode

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

輸入方法介面代表一種輸入法,能產生關鍵事件與文字,例如數位、電子郵件、中日韓字元、其他語言字元等。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

將回傳的值設為 PeerReference

(繼承來源 IJavaPeerable)
SetSessionEnabled(IInputMethodSession, Boolean)

控制特定輸入法會話是否處於啟用狀態。

ShowSoftInput(ShowSoftInputFlags, ResultReceiver)

請求顯示輸入法中任何軟輸入部分。

StartInput(IInputConnection, EditorInfo)

當應用程式開始接收文字,並準備好讓輸入法處理接收事件並將結果文字回傳給應用程式時,就會呼叫此方法。

UnbindInput()

解綁應用程式環境,當先前設定 #bindInput 的資訊不再適用於該輸入法時,該環境會被呼叫。

UnregisterFromRuntime()

取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。

(繼承來源 IJavaPeerable)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

輸入方法介面代表一種輸入法,能產生關鍵事件與文字,例如數位、電子郵件、中日韓字元、其他語言字元等。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於