Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android在活动到服务之间交换数据_Android_Service_Xmpp - Fatal编程技术网

android在活动到服务之间交换数据

android在活动到服务之间交换数据,android,service,xmpp,Android,Service,Xmpp,我正在为android创建一个xmpp聊天客户端。与asmack相关的一切都已完成,我可以检索并显示主活动中的好友列表。我还可以从朋友那里收到聊天信息。我无法从聊天窗口向服务发送数据。这样我就可以回复和发送聊天信息给我的朋友。我已经研究了一些例子,但没有人确切地知道我想要什么。请注意,我不能使用onbind方法,因为该服务没有绑定到任何特定的活动,但许多活动可以向该服务发送数据。 一个合乎逻辑的解释就好了。如果有人知道一些代码样本,这将是伟大的。 当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方法