Отправить сообщение из Активность в Сервис - Android - PullRequest
1 голос
/ 17 ноября 2011

Я пишу приложение для замены клавиатуры для Android, и мне нужно было настроить клавиатуру настолько, чтобы мне нужно было запускать ее в Activity, а не сохранять в классе InputMethodService.Вот как я вызываю клавиатуру из моего InputMethodService класса:

    @Override public void onStartInputView(EditorInfo attribute, boolean restarting) {
    super.onStartInputView(attribute, restarting);

    Intent intent = new Intent(this, Keyboard.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    context.startActivity(intent);

}

Я столкнулся с проблемой, что не могу обновить текстовое поле, куда должен вводиться ввод с клавиатуры.Я попытался создать статический InputConnection в своем классе обслуживания, а затем обновить его из Activity, но ничего не произошло.

Так что, я думаю, вот мой вопрос: я смог найти много информации о том, как отправить данные из Сервиса в Активность, но ничего об отправке данных из Активности в Сервис (особенно метод вводаоказание услуг).Кто-нибудь знает, как это сделать?

1 Ответ

1 голос
/ 17 ноября 2011

Для этого используйте Binder.

Этот урок о сервисе музыкального проигрывателя является хорошим примером http://www.helloandroid.com/tutorials/musicdroid-audio-player-part-ii

Особенно эта строка

mpInterface.addSongPlaylist(file.getName());
...