# android.service.textservice

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

# android.service.textservice

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/service/textservice/package-summary "View this page in Kotlin") \|Java

Provides classes that allow you to create spell checkers in a manner similar to the
input method framework (for IMEs).

To create a new spell checker, you must implement a service that extends [SpellCheckerService](https://developer.android.com/reference/android/service/textservice/SpellCheckerService) and extend the [SpellCheckerService.Session](https://developer.android.com/reference/android/service/textservice/SpellCheckerService.Session) class to provide spelling suggestions based
on text provided by the interface's callback methods. In the [SpellCheckerService.Session](https://developer.android.com/reference/android/service/textservice/SpellCheckerService.Session) callback methods, you must return the
spelling suggestions as [SuggestionsInfo](https://developer.android.com/reference/android/view/textservice/SuggestionsInfo) objects.

Applications with a spell checker service must declare the [BIND_TEXT_SERVICE](https://developer.android.com/reference/android/Manifest.permission#BIND_TEXT_SERVICE) permission as required by the service. The service
must also declare an intent filter with `<action
android:name="android.service.textservice.SpellCheckerService" />` as the intent\\u2019s action and should
include a `<meta-data>` element that declares configuration information for the spell
checker. For example:  

```
 <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>
 
```

For example code, see the sample [Spell
Checker service](https://developer.android.com/resources/samples/SpellChecker/SampleSpellCheckerService) app, and the sample [Spell
Checker client](https://developer.android.com/resources/samples/SpellChecker/HelloSpellChecker) app.

## Classes

|--------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|
| [SpellCheckerService](https://developer.android.com/reference/android/service/textservice/SpellCheckerService)                 | SpellCheckerService provides an abstract base class for a spell checker.                  |
| [SpellCheckerService.Session](https://developer.android.com/reference/android/service/textservice/SpellCheckerService.Session) | This abstract class should be overridden by a concrete implementation of a spell checker. |

-

  ## Classes

  - [SpellCheckerService](https://developer.android.com/reference/android/service/textservice/SpellCheckerService)
  - [SpellCheckerService.Session](https://developer.android.com/reference/android/service/textservice/SpellCheckerService.Session)