Я пытаюсь сделать что-то подобное. Решение, с которым я столкнулся, состояло в том, чтобы использовать SpellCheckerSession и проверить, получилось ли точное соответствие в onGetSentenceSuggestions.
public class SpellChecker implements SpellCheckerSessionListener {
public SpellChecker(Activity a)
{
final TextServicesManager tsm = (TextServicesManager) a.getSystemService(
Context.TEXT_SERVICES_MANAGER_SERVICE);
SpellCheckerSession scs = tsm.newSpellCheckerSession(null, null, this, true);
TextInfo[] tia = {new TextInfo("trewgjj"), new TextInfo("great")};
scs.getSentenceSuggestions(tia, 3);
}
@Override
public void onGetSuggestions(SuggestionsInfo[] results) {
// TODO Auto-generated method stub
}
@Override
public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] results) {
for (int i = 0; i < results.length; ++i) {
// Returned suggestions are contained in SuggestionsInfo
for (int j = 0; j < results[i].getSuggestionsCount(); ++j) {
SuggestionsInfo si = results[i].getSuggestionsInfoAt(j);
if ((si.getSuggestionsAttributes() & SuggestionsInfo.RESULT_ATTR_IN_THE_DICTIONARY) != 0)
Log.d("", "EXACT MATCH FOUND");
}
}
}
}
Единственная проблема в том, если вы хотите, чтобы проверить слова против пользовательского словаря. Я не верю, что они включены в эту систему проверки орфографии, поэтому вам, возможно, придется вручную проверять эти слова.