i have create chat simple chat application using asmack lib, , openfire, when i'm testing on emulator i'm getting presence status unavailable, same user available on openfire server.
i have tested code talk.google.com server work seamlessly, when i'm testing open fire unavailable presence status. have tried various things, set subscription option both in openfire setting.
i have written following code setting presence status:
presence presence = new presence(presence.type.available); presence.setstatus("online, programmatically!"); presence.setpriority(24); presence.setmode(presence.mode.available); connection.sendpacket(presence); try { thread.sleep(10000); } catch (interruptedexception e1) { // todo auto-generated catch block e1.printstacktrace(); } but when run following code presence status unavailable:
roster roster = connection.getroster(); roster.setdefaultsubscriptionmode(roster.subscriptionmode.accept_all); roster.addrosterlistener(new rosterlistener() { // ignored events public void entriesadded(collection<string> addresses) {} public void entriesdeleted(collection<string> addresses) {} public void entriesupdated(collection<string> addresses) {} public void presencechanged(presence presence) { system.out.println("presence changed: " + presence.getfrom() + " " + presence); } @override public void entriesadded(collection<string> arg0) { // todo auto-generated method stub} }); try { thread.sleep(5000); } catch (interruptedexception e) { } collection<rosterentry> entries = roster.getentries(); (rosterentry entry : entries) { presence subscribed = new presence(presence.type.subscribed); subscribed.setto(entry.getuser()); connection.sendpacket(subscribed); log.d("jwp", "rosterentry " + entry); log.d("jwp", "user: " + entry.getuser()); log.d("jwp", "name: " + entry.getname()); log.d("jwp", "status: " + entry.getstatus()); log.d("jwp", "type: " + entry.gettype()); presence entrypresence = roster.getpresence(entry.getuser()); log.d("jwp", "presence status: "+ entrypresence.getmode()); log.d("jwp", "presence type: " + entrypresence.gettype()); presence.type type = entrypresence.gettype(); if (type == presence.type.available){ log.d("jwp", "presence avialable"); log.d("jwp", "presence : " + entrypresence); } } why happen? have tried different things, haven't found exact solution.
Comments
Post a Comment