android - Unable to send and receive XMPP messages -
i trying send , recieve xmpp messages through smack library in android. failed same. connected server , online users also. unable send or receive text messages. please suggest solution regarding same.
code: xmpp establish connection:
try { connectionconfiguration config = new connectionconfiguration("chat.spectratech.in"); config.settruststorepath("/system/etc/security/cacerts.bks"); if (build.version.sdk_int >= build.version_codes.ice_cream_sandwich) { config.settruststoretype("androidcastore"); config.settruststorepassword(null); config.settruststorepath(null); } else { config.settruststoretype("bks"); string path = system.getproperty("javax.net.ssl.truststore"); if (path == null) path = system.getproperty("java.home") + file.separator + "etc" + file.separator + "security" + file.separator + "cacerts.bks"; config.settruststorepath(path); } mxmppconnection = new xmppconnection(config); mxmppconnection.connect(); mxmppconnection.login(username, password); chatapp.setmxmppconnection(mxmppconnection); } catch (final xmppexception e) { log.e(tag, "could not connect xmpp server.", e); return; } if (!mxmppconnection.isconnected()) { log.e(tag, "could not connect xmpp server."); return; } log.i(tag, "yey! we're connected xmpp server!"); toast.maketext(this, "connected", toast.length_short).show(); mxmppconnection.getchatmanager().addchatlistener(new chatmanagerlistener() { @override public void chatcreated(final chat chat, final boolean createdlocally) { if (!createdlocally) { chat.addmessagelistener(new mymessagelistener()); } } });
send , receive messages:
if (app.getmxmppconnection() != null) { // add packet listener messages sent packetfilter filter = new messagetypefilter(message.type.chat); app.getmxmppconnection().addpacketlistener(new packetlistener() { @override public void processpacket(packet packet) { message message = (message) packet; if (message.getbody() != null) { string fromname = stringutils.parsebareaddress(message .getfrom()); log.i("xmppchatdemoactivity", "text recieved " + message.getbody() + " " + fromname); msgs.add(fromname + ": " + message.getbody()); //messages.add(fromname + ":"); //messages.add(message.getbody()); // add incoming message list view mhandler.post(new runnable() { public void run() { adapter.notifydatasetchanged(); } }); } } }, filter); } btnsend.setonclicklistener(new view.onclicklistener() { @override public void onclick(view arg0) { string text = edmsgs.gettext().tostring(); message msg = new message(to, message.type.chat); msg.setbody(text); if(app.getmxmppconnection()!=null){ app.getmxmppconnection().sendpacket(msg); msgs.add(text); adapter.notifydatasetchanged(); } } });
first need login server.
link class message
sending messages: use xmppconnection class send sendpacket.
string message = "hello friend"; message msg = new message(touserid, message.type.chat); msg.setbody(message); connection.sendpacket(msg);
receiving messages:
i use of packetfilter class recive chat message. use of xmppconnection class add listner when message comming.
packetfilter chatfilter = new messagetypefilter(message.type.chat); connection.addpacketlistener(chatpacketlistener, chatfilter); packetlistener chatpacketlistener = new packetlistener() { @override public void processpacket(packet packet) { try { message message = (message) packet; string body = message.getbody(); string = stringutils.parsebareaddress(message.getfrom()); } catch (exception e) {} } };
i hope you.
Comments
Post a Comment