Android的文本和输入---拼写检查器
拼写检查器的清单和元数据
除代码之外,你还需要给拼写检查器提供对应的清单文件和元数据文件。
清单文件定义了应用程序、服务以及用于控制设置的Activity,如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.samplespellcheckerservice" >
<application
android:label="@string/app_name" >
<service
android:label="@string/app_name"
android:name=".SampleSpellCheckerService"
android:permission="android.permission.BIND_TEXT_SERVICE" >
<intent-filter >
<action android:name="android.service.textservice.SpellCheckerService" />
</intent-filter>
<meta-data
android:name="android.view.textservice.scs"
android:resource="@xml/spellchecker" />
</service>
<activity
android:label="@string/sample_settings"
android:name="SpellCheckerSettingsActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
</application>
</manifest>
注意,对于要使用的服务组件,必须申请BIND_TEXT_SERVICE权限来确保只有系统绑定到这个服务。该服务的定义还指定了spellchecker.xml元数据文件,该文件内容如下:
<spell-checker xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/spellchecker_name"
android:settingsActivity="com.example.SpellCheckerSettingsActivity">
<subtype
android:label="@string/subtype_generic"
android:subtypeLocale="en”
/>
<subtype
android:label="@string/subtype_generic"
android:subtypeLocale="fr”
/>
</spell-checker>
该元数据指定了拼写检查器用来控制设置的Activity。它还给拼写检查器定义了子类型,在本例中,子类型定义了拼写检查器能够处理的语言环境。
从客户端访问拼写检查器服务
使用TextView的应用程序会自动接收拼写检查,因为TextView会自动的使用拼写检查器,如下图所示:
图2.TextView中的拼写检查
但是,在某些情况下,你可能想要直接与拼写检查器的服务进行交互,下图显示了与拼写检查器的服务进行交互的控制流:
图3.与拼写检查器的服务进行交互
补充:移动开发 , Android ,