Packet Listener in Android Service -
i trying create service chat widget using xmpp, picks chat messages when sent user.
i have created service, , in onstart use asynctask connect chat server, , sets packetlistener.
here's code packer listener:
public void setconnection(xmppconnection connection) { if (connection != null) { // add packet listener messages sent packetfilter filter = new messagetypefilter(message.type.chat); connection.addpacketlistener(new packetlistener() { public void processpacket(packet packet) { message message = (message) packet; if (message.getbody() != null) { string fromname = stringutils.parsebareaddress(message .getfrom()); log.v(tag, "got:" + message.getbody()); // messages.add(fromname + ":"); // messages.add(message.getbody()); } } }, filter); } }
the problem seems stop listening after being idle while. if send chat messages straight away output.
is service getting stopped somehow? right place put packerlistener?
thanks
i have created service, , in onstart use asynctask connect chat server, , sets packetlistener.
i not recommend that. create own thread, not asynctask
. asynctask
designed things end in milliseconds or seconds, not minutes or hours.
is service getting stopped somehow?
quite possibly. use adb logcat
, ddms, or ddms perspective in eclipse examine logcat , see tells code.
you should using startforeground()
in service, particularly if plan on keeping service running when chat client activity not in foreground.
Comments
Post a Comment