原本是一个回调的过程,需要等服务器响应数据后才能返回结果,用此种方式可以让线程停止,成为阻塞形式,一定等到返回结果后再进行下一步操作。
参考例子可见:麻将项目,PresencePacketListener类中。
UserSearchIQ inviteToUserSearchIQ = new UserSearchIQ(uid);
PacketCollector collector = XmppClient.getInstance().getConnection().createPacketCollector(new PacketIDFilter(inviteToUserSearchIQ.getPacketID()));
XmppClient.getInstance().sendPacket(inviteToUserSearchIQ);
UserSearchIQ response = (UserSearchIQ) collector.nextResult(SmackConfiguration.getPacketReplyTimeout());
mFriendInfo = response.getFrendInfo();
collector.cancel();
参考例子可见:麻将项目,PresencePacketListener类中。
UserSearchIQ inviteToUserSearchIQ = new UserSearchIQ(uid);
PacketCollector collector = XmppClient.getInstance().getConnection().createPacketCollector(new PacketIDFilter(inviteToUserSearchIQ.getPacketID()));
XmppClient.getInstance().sendPacket(inviteToUserSearchIQ);
UserSearchIQ response = (UserSearchIQ) collector.nextResult(SmackConfiguration.getPacketReplyTimeout());
mFriendInfo = response.getFrendInfo();
collector.cancel();