我正在使用asmack作为android IM应用程序,其中我正在使用带有AIDL接口的远程服务。如何在Android服务中处理保持活动连接服务
onStartCommand
我的服务方法我写代码如下。我创建连接,然后使用它登录。当我的应用程序主要活动的方法onCreate
里面运行我的应用程序的任何人运行我的服务getApplicationContext.StartService(serviceIntent)
。它工作正常,但几分钟后(有时10分钟和一些时间超过10)我附加在服务里面的messageListener
停止接收消息。但我知道这个连接是存在的,因为我同时使用xmppConnection
来发送消息给用户B发送消息,但是它没有收听来自用户B的消息。我不知道为什么我的听众停止了听到消息。
public int onStartCommand(final Intent intent, final int flags, final int startId) {
ConnectionConfiguration config = new ConnectionConfiguration(URL, MyPort, Host);
xmppConnection = new XMPPConnection(config);
xmppConnection.connect();
xmppConnection.login("[email protected]", "testpass");
xmppConnection.addPacketListener(myMessageListener, new PacketTypeFilter(Message.class));
return START_STICKY;
}
private PacketListener myMessageListener = new PacketListener() {
public void processPacket(Packet packet) {
Message msg = (Message) packet;
}
}
请指导。
请格式化您的代码,并为您的文章选择一个好标题。 – Flow 2012-08-16 06:23:37
问题是我的连接存在,但它停止侦听Packet.using连接我打电话sendPacket工作正常,但不知道为什么它停止监听传入的数据包。我检查我的服务也运行在后端,因为我可以sendPacket从服务发送消息包,请指导。 我面临着与下面的链接一样的问题。 http://stackoverflow.com/questions/5040852/packet-listener-in-android-service – aftab 2012-08-18 00:37:51
您发布的链接似乎被回答----> http://stackoverflow.com/questions/5040852/packet-listener -in-android-service – sascha10000 2012-08-18 01:36:20