Android 平台提供拼字檢查工具架構 在應用程式中實作及存取拼字檢查功能架構是 文字服務 API。
如要在應用程式中使用這個架構,您必須建立 Android 服務, 會產生拼字檢查工具 session 物件。根據您提供的文字 工作階段物件會傳回拼字檢查產生的拼字建議 檢查工具
拼字檢查工具生命週期
下圖顯示拼字檢查工具服務的生命週期:
為了啟動拼字檢查功能,應用程式會開始實作拼字檢查 檢查服務應用程式中的用戶端,例如活動或個別 UI 元素,向服務要求拼字檢查工具工作階段,然後使用 取得文字建議用戶端終止作業後, 的拼字檢查工具如有需要,應用程式可以關閉拼字檢查功能 檢查服務。
實作拼字檢查工具服務
如要在應用程式中使用拼字檢查工具架構,請新增拼字檢查工具服務 元件,其中含有工作階段物件定義的。並新增 選擇性活動,以便控制設定。新增 XML 中繼資料檔案 ,然後將適當的元素加入 資訊清單檔案
拼字檢查工具類別
使用下列類別定義服務和工作階段物件:
-
- 的子類別
SpellCheckerServiceSpellCheckerService會同時導入Service以及拼字檢查工具架構介面在子類別中 實作以下方法:createSession()-
將
SpellCheckerService.Session物件新增至用戶端 想要檢查拼字。
- 的子類別
-
- 實作
SpellCheckerService.Session- 拼字檢查工具服務提供給用戶端的物件 應用程式會將文字傳遞至拼字檢查工具並取得建議。在 類別,請實作下列方法:
onCreate()- 由系統呼叫以回應
createSession()。在此方法中 通知SpellCheckerService.Session物件 目前的語言代碼和其他詳細資料 onGetSentenceSuggestionsMultiple()- 實際執行拼字檢查。這個方法會傳回
SentenceSuggestionsInfo包含所傳遞語句的建議
您也可以選擇實作
onCancel(), 會處理取消拼字檢查的要求onGetSuggestions(), 處理字詞建議要求或onGetSuggestionsMultiple(), 這個 API 可處理批次字詞建議要求 ,瞭解如何調查及移除這項存取權。
- 實作
拼字檢查工具資訊清單和中繼資料
除了程式碼之外,請提供適當的資訊清單檔案和中繼資料 檔案。
資訊清單檔案會定義應用程式、服務和 控制設定,如以下範例所示:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.samplespellc>hecke<rservice" application @ android:labe>l="s<tring/app_name" servi@ce android:label="string/app_name" android:name=".SampleSpellCheckerService" android:>permission=&q<uot;android.pe>rmission.BIND_TEX<T_SERVICE" intent-filter action andr>oid:name=&quo<t;android.serv>ice.textservic<e.SpellCheckerService" / /intent-filter meta-data android:@name="android.>view.text<service.>scs" < android:resource=&qu@ot;xml/spellchecker" / /service activity andro>id:label=&quo<t;string/sampl>e_settings" < android:name="SpellCheckerSetting>sActivity&quo<t; > intent-<filter > < >span>act<ion andro>id:name="android.intent.action.MAIN" / /intent-filter /activity /application /manifest
要使用服務的元件必須要求權限
BIND_TEXT_SERVICE
確保只有系統繫結至服務。服務的定義
也會指定 spellchecker.xml 中繼資料檔案
下一節將說明。
中繼資料檔案 spellchecker.xml 包含以下內容:
XML:
<spell-checker xmlns:android="http://schemas.android.com/apk/res/android" andro@id:label="string/spellchecker_name" android:settingsActivity="com.example.Spel>lChec<kerSettingsActivity" subty@pe android:label="string/subtype_generic" > < android:subtypeLocale="en” @ / subtype android:label="string/subtype_gen>e<ric" > android:subtypeLocale="fr” / /spell-checker
中繼資料會指定拼字檢查工具用來控制的活動 可以管理叢集設定,像是節點 資源調度、安全性和其他預先設定項目同時也定義拼字檢查工具的子類型。在此情況下, 子類型會定義拼字檢查工具可處理的語言代碼。
透過用戶端存取拼字檢查工具服務
使用
「TextView」和
EditText
系統會自動套用拼字檢查功能,因為TextView
會自動使用拼字檢查工具:
EditText。
不過,我們建議您在 在其他情況下。下圖顯示互動的控制流程 提供的拼字檢查工具服務:
拉丁文 Android 開放原始碼計畫中的輸入法編輯器包含 拼字檢查