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.与拼写检查器的服务进行交互

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值