从活动发送消息到服务 - Android

时间:2011-11-17 15:28:54

标签: android service android-activity textinput

我正在为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 个答案:

答案 0 :(得分:1)

使用Binder。

关于音乐播放器服务的本教程是一个很好的样本http://www.helloandroid.com/tutorials/musicdroid-audio-player-part-ii

特别是这一行

mpInterface.addSongPlaylist(file.getName());