android在活动到服务之间交换数据
我正在为android创建一个xmpp聊天客户端。与asmack相关的一切都已完成,我可以检索并显示主活动中的好友列表。我还可以从朋友那里收到聊天信息。我无法从聊天窗口向服务发送数据。这样我就可以回复和发送聊天信息给我的朋友。我已经研究了一些例子,但没有人确切地知道我想要什么。请注意,我不能使用onbind方法,因为该服务没有绑定到任何特定的活动,但许多活动可以向该服务发送数据。 一个合乎逻辑的解释就好了。如果有人知道一些代码样本,这将是伟大的。 当xmpp连接收到聊天信息时,我还需要从服务更新聊天窗口android在活动到服务之间交换数据,android,service,xmpp,Android,Service,Xmpp,我正在为android创建一个xmpp聊天客户端。与asmack相关的一切都已完成,我可以检索并显示主活动中的好友列表。我还可以从朋友那里收到聊天信息。我无法从聊天窗口向服务发送数据。这样我就可以回复和发送聊天信息给我的朋友。我已经研究了一些例子,但没有人确切地知道我想要什么。请注意,我不能使用onbind方法,因为该服务没有绑定到任何特定的活动,但许多活动可以向该服务发送数据。 一个合乎逻辑的解释就好了。如果有人知道一些代码样本,这将是伟大的。 当xmpp连接收到聊天信息时,我还需要从服务更新
提前感谢您可以将广播接收器定义为服务,并可以通过任意数量的活动发送广播消息,也可以将广播接收器定义为活动,这可能是侦听服务发送的消息。您必须覆盖服务中的onStart方法。onStart方法您可以获得活动的意图。如果要将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");
}
你好,谢谢你的回复。但该活动已经在android boot上启动,并将继续运行。每当某个聊天窗口活动发送此意图时,是否每次都会调用此onstart方法?另外,一次会有多个聊天窗口,所以我有点不清楚在活动生命周期中何时调用onstart方法