IInputMethod 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
輸入方法介面代表一種輸入法,能產生關鍵事件與文字,例如數位、電子郵件、中日韓字元、其他語言字元等。
[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 |
回傳包裹實例的 |
| JniManagedPeerState |
管理貴族的狀況。 (繼承來源 IJavaPeerable) |
| JniObjectReferenceControlBlock |
輸入方法介面代表一種輸入法,能產生關鍵事件與文字,例如數位、電子郵件、中日韓字元、其他語言字元等。 (繼承來源 IJavaPeerable) |
| JniPeerMembers |
成員存取與召喚支援。 (繼承來源 IJavaPeerable) |
| PeerReference |
回傳JniObjectReference包裹後的 Java 物件實例。 (繼承來源 IJavaPeerable) |
方法
| 名稱 | Description |
|---|---|
| AttachToken(IBinder) |
輸入法建立後第一時間呼叫,提供與系統服務會話中唯一的標記。 |
| BindInput(InputBinding) |
將新的應用程式環境綁定到輸入法中,使其之後能開始或停止輸入處理。 |
| ChangeInputMethodSubtype(InputMethodSubtype) |
通知輸入法子類型正在同一輸入法中更改。 |
| CreateSession(IInputMethodSessionCallback) |
建立一個 |
| Disposed() |
當實例被處理後才被召喚。 (繼承來源 IJavaPeerable) |
| DisposeUnlessReferenced() |
如果沒有未解決的參考資料,則 |
| Finalized() |
當實例完成後才會被通知。 (繼承來源 IJavaPeerable) |
| HideSoftInput(Int32, ResultReceiver) |
請求將輸入法中任何軟輸入部分隱藏給使用者。 |
| RestartInput(IInputConnection, EditorInfo) |
當需要重置該輸入法的狀態時,會呼叫此方法。 |
| RevokeSession(IInputMethodSession) |
停用並銷毀先前用 建立的 |
| SetJniIdentityHashCode(Int32) |
將回傳的值設為 |
| SetJniManagedPeerState(JniManagedPeerStates) |
輸入方法介面代表一種輸入法,能產生關鍵事件與文字,例如數位、電子郵件、中日韓字元、其他語言字元等。 (繼承來源 IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
將回傳的值設為 |
| SetSessionEnabled(IInputMethodSession, Boolean) |
控制特定輸入法會話是否處於啟用狀態。 |
| ShowSoftInput(ShowSoftInputFlags, ResultReceiver) |
請求顯示輸入法中任何軟輸入部分。 |
| StartInput(IInputConnection, EditorInfo) |
當應用程式開始接收文字,並準備好讓輸入法處理接收事件並將結果文字回傳給應用程式時,就會呼叫此方法。 |
| UnbindInput() |
解綁應用程式環境,當先前設定 |
| UnregisterFromRuntime() |
取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。 (繼承來源 IJavaPeerable) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
輸入方法介面代表一種輸入法,能產生關鍵事件與文字,例如數位、電子郵件、中日韓字元、其他語言字元等。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |