我正在为android创建一个xmpp聊天客户端。与asmack相关的所有内容都已完成,我可以检索并显示主要活动中的好友列表。我也能收到朋友的聊天消息。我无法从聊天窗口向服务发送数据。这样我就可以回复并向朋友发送聊天消息。我已经研究了一些例子,但没有人完全符合我的要求。请注意,我无法使用onbind方法,因为该服务并未特别绑定到任何活动,但许多活动可以将数据发送到服务。 一个合乎逻辑的解释是好的。如果有人知道一些代码样本,那么这将是非常好的。 当xmpp连接收到聊天消息时,我还需要从服务更新聊天窗口。
提前致谢
答案 0 :(得分:0)
您可以将BroadcastReceiver定义为Service,并且可以通过任意数量的活动发送广播消息,您也可以将广播接收器定义为Activity,这可能是收听服务发送的消息。
答案 1 :(得分:0)
你必须在service.OnStart方法中覆盖onStart方法,你可以获得Activity的意图。如果要将ArrayList从activity传递给service,可以将arraylist转换为array。
在你的活动中
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");
}