从 Activity 向服务发送消息 - Android

Posted

技术标签:

【中文标题】从 Activity 向服务发送消息 - Android【英文标题】:Send message from Activity to Service - Android 【发布时间】:2011-12-31 11:15:28 【问题描述】:

我正在为 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】:

为此使用活页夹。

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

尤其是这一行

mpInterface.addSongPlaylist(file.getName());

【讨论】:

我们也可以使用广播将消息从活动发送到服务吗??

以上是关于从 Activity 向服务发送消息 - Android的主要内容,如果未能解决你的问题,请参考以下文章

从一个活动向另一个活动发送消息[重复]

如何从主(winsock)向服务器发送消息?

如何从 ejabberd 服务器向多个客户端发送消息

如何从.net核心应用程序向服务总线主题发送消息

无法从客户端向服务器发送消息

如何在 Qt 中从服务器向连接的客户端发送消息