/** * 好友信息监听 */ public void requestListener() { //条件过滤 StanzaFilter filter = new AndFilter(); StanzaListener listener = new StanzaListener() { @Override public void processPacket(Stanza packet) { Presence p = (Presence) packet; Log.e("TAG", "--" + p.getFrom() + "--" + p.getType()); if (p.getType().toString().equals("subscrib")) { RxBus.getInstance().post(new FriendListenerEvent(p.getFrom(), "subscrib", "MainActivity")); } else if (p.getType().toString().equals("subscribed")) { RxBus.getInstance().post(new FriendListenerEvent(p.getFrom(), "subscribed", "MainActivity")); } else if (p.getType().toString().equals("unsubscribe")) { RxBus.getInstance().post(new FriendListenerEvent(p.getFrom(), "unsubscribe", "MainActivity")); } } }; connection.addAsyncStanzaListener(listener, filter); }
@Override protected void onStart() { if (logger.isInfoEnabled()) { logger.info("Starting XMPP receiver [" + connection.getUser() + "]"); } packetListener = new WebServicePacketListener(); StanzaFilter packetFilter = new StanzaTypeFilter(Message.class); connection.addAsyncStanzaListener(packetListener, packetFilter); }
@Override protected void onStart() { if (logger.isInfoEnabled()) { logger.info("Starting XMPP receiver [" + connection.getUser() + "]"); } packetListener = new WebServicePacketListener(); StanzaFilter packetFilter = new StanzaTypeFilter(Message.class); connection.addAsyncStanzaListener(packetListener, packetFilter); }
@Override protected void onStart() { if (logger.isInfoEnabled()) { logger.info("Starting XMPP receiver [" + connection.getUser() + "]"); } packetListener = new WebServicePacketListener(); StanzaFilter packetFilter = new StanzaTypeFilter(Message.class); connection.addAsyncStanzaListener(packetListener, packetFilter); }
private StanzaTypeFilter serverFilter; private StanzaListener stanzaListener = null; private XMPPTCPConnection mConnection; registerStanzaListener(); // where you init connection public void registerStanzaListener() { serverFilter = new StanzaTypeFilter(Message.class); if (stanzaListener != null) { mConnection.removeAsyncStanzaListener(stanzaListener); } stanzaListener = new StanzaListener() { @Override public void processPacket(Stanza packet) throws SmackException.NotConnectedException { processMessage((Message) packet); } }; mConnection.addAsyncStanzaListener(stanzaListener, serverFilter); } }
xmppConn.addAsyncStanzaListener(this, stanza -> stanza.hasExtension(Util.FCM_ELEMENT_NAME, Util.FCM_NAMESPACE));