A parte central de um IME é um componente de serviço, uma classe que estende InputMethodService. Além de implementar o ciclo de vida normal do serviço, essa classe tem callbacks para fornecer a IU do seu IME, processar a entrada do usuário e enviar texto para o campo em foco no momento. Por padrão, a classe InputMethodService fornece a maior parte da implementação para gerenciar o estado e a visibilidade do IME e se comunicar com o campo de entrada atual.
Define o canal de comunicação de um InputMethod para o aplicativo que está recebendo a entrada. Você pode usá-lo para ler o texto ao redor do cursor, confirmar o texto para a caixa de texto e enviar eventos de chave brutos para o aplicativo. Os splicativos precisam estender essa classe, em vez de implementar a interface base InputConnection.