XMPP/facebook chat connection for android -
public class clientjabberactivity extends activity { private final static string server_host = "chat.facebook.com"; private final static int server_port = 5222; private final static string service_name = "chat.facebook.com"; private final static string login = "xxxxx@chat.facebook.com"; private final static string password = "xxxxxx"; private list<string> m_discussionthread; private arrayadapter<string> m_discussionthreadadapter; private xmppconnection m_connection; private handler m_handler; /** called when activity first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); m_handler = new handler(); try { initconnection(); } catch (xmppexception e) { e.printstacktrace(); } final edittext recipient = (edittext) this.findviewbyid(r.id.recipient); final edittext message = (edittext) this.findviewbyid(r.id.message); listview list = (listview) this.findviewbyid(r.id.thread); m_discussionthread = new arraylist<string>(); m_discussionthreadadapter = new arrayadapter<string>(this, r.layout.multi_line_list_item, m_discussionthread); list.setadapter(m_discussionthreadadapter); button send = (button) this.findviewbyid(r.id.send); send.setonclicklistener(new view.onclicklistener() { public void onclick(view view) { string = recipient.gettext().tostring(); string text = message.gettext().tostring(); message msg = new message(to, message.type.chat); msg.setbody(text); m_connection.sendpacket(msg); m_discussionthread.add("moi :"); m_discussionthread.add(text); m_discussionthreadadapter.notifydatasetchanged(); } }); } private void initconnection() throws xmppexception { //initialisation de la connexion connectionconfiguration config = new connectionconfiguration(server_host, server_port, service_name); m_connection = new xmppconnection(config); m_connection.connect(); m_connection.login(login, password); presence presence = new presence(presence.type.available); m_connection.sendpacket(presence); //enregistrement de l'écouteur de messages packetfilter filter = new messagetypefilter(message.type.chat); m_connection.addpacketlistener(new packetlistener() { public void processpacket(packet packet) { message message = (message) packet; if (message.getbody() != null) { string fromname = stringutils.parsebareaddress(message .getfrom()); m_discussionthread.add(fromname + ":"); m_discussionthread.add(message.getbody()); m_handler.post(new runnable() { public void run() { m_discussionthreadadapter.notifydatasetchanged(); } }); } } }, filter); } }
this code used make connection facebook chat, connection can not established don't know why . works gmail
02-18 16:06:20.178: error/androidruntime(453): java.lang.illegalstateexception: not connected server. 02-18 16:06:20.178: error/androidruntime(453): @ org.jivesoftware.smack.xmppconnection.sendpacket(xmppconnection.java:665) 02-18 16:06:20.178: error/androidruntime(453): @ com.developpez.florentgarin.android.clientjabberactivity$1.onclick(clientjabberactivity.java:61) 02-18 16:06:20.178: error/androidruntime(453): @ android.view.view.performclick(view.java:2485) 02-18 16:06:20.178: error/androidruntime(453): @ android.view.view$performclick.run(view.java:9080) 02-18 16:06:20.178: error/androidruntime(453): @ android.os.handler.handlecallback(handler.java:587) 02-18 16:06:20.178: error/androidruntime(453): @ android.os.handler.dispatchmessage(handler.java:92) 02-18 16:06:20.178: error/androidruntime(453): @ android.os.looper.loop(looper.java:123) 02-18 16:06:20.178: error/androidruntime(453): @ android.app.activitythread.main(activitythread.java:3647) 02-18 16:06:20.178: error/androidruntime(453): @ java.lang.reflect.method.invokenative(native method) 02-18 16:06:20.178: error/androidruntime(453): @ java.lang.reflect.method.invoke(method.java:507) 02-18 16:06:20.178: error/androidruntime(453): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:839) 02-18 16:06:20.178: error/androidruntime(453): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:597) 02-18 16:06:20.178: error/androidruntime(453): @ dalvik.system.nativestart.main(native method) 02-18 16:06:43.167: error/installd(35): eof 02-18 16:06:43.167: error/installd(35): failed read size 02-18 16:07:11.857: error/zygote(470): setreuid() failed. errno: 17 02-18 16:07:16.408: error/batteryservice(477): usbonlinepath not found 02-18 16:07:16.408: error/batteryservice(477): batteryvoltagepath not found 02-18 16:07:16.408: error/batteryservice(477): batterytemperaturepath not found 02-18 16:07:16.477: error/surfaceflinger(477): couldn't open /sys/power/wait_for_fb_sleep or /sys/power/wait_for_fb_wake 02-18 16:07:16.758: error/sensorservice(477): couldn't open device module sensors (invalid argument)
change:
private final static string login = "xxxxx@chat.facebook.com";
to:
private final static string login = "xxxxx";
well not ;). idea though..
xmpp spec facebook not include @server.here login. either include in username string or delete server string entirely.
Comments
Post a Comment