0

我正在为 android 创建一个 xmpp 聊天客户端。与 asmack 相关的一切都已完成,我可以在主要活动中检索并显示朋友列表。我也可以收到朋友的聊天消息。我无法将数据从聊天窗口发送到服务。这样我就可以回复并向我的朋友发送聊天消息。我研究了一些例子,但没有人有我想要的。请注意,我不能使用 onbind 方法,因为该服务没有特别绑定到任何活动,但是许多活动可以将数据发送到服务。一个合乎逻辑的解释会很好。如果有人知道某些代码示例正是这样做的,那就太好了。当 xmpp 连接收到聊天消息时,我还需要从服务更新聊天窗口。

提前致谢

4

2 回答 2

0

可以在Service中定义一个BroadcastReceiver,可以通过任意数量的Activity发送Broadcast消息,也可以在Activity中定义一个Broadcast Receiver,可以监听服务发送的消息。

于 2012-06-15T04:16:03.737 回答
0

您必须在 service.OnStart 方法中覆盖 onStart 方法,您可以获得 Activity 的意图。如果您想将 ArrayList 从活动传递到服务,您可以将您的 ArrayList 转换为数组。

在你的活动中

Intent intent=new Intent(ActivityName.this,Service.class);         
Bundle b=new Bundle()
b.putStringArray("Array", your_array)
intent.putExtras(b);
startService(intent);

为您服务

public void onStart(Intent intent, int startid){
    super.onStart(intent, startid);
    Bundle b=intent.getExtras();
    String[] Array = b.getStringArray("Array");
}
于 2012-06-15T04:50:49.457 回答