Android принимает приглашение в групповой чат с помощью xmpp
Я использую ниже, чтобы получить приглашение в xmpp для группового чата, а также успешно получить приглашение, но где-то при принятии приглашения не смог принять приглашение.
Это мой код для приглашения и принятия группового чата:
public static void addMUC() {
MultiUserChat.addInvitationListener(connection, new InvitationListener() {
@Override
public void invitationReceived(Connection conn, final String room, String invitor,
String reason, String password, Message message) {
Constant.showGroupChatInvitationAlert(Constant.MESSAGE_GROUP_CHAT, reason,
room,conn,invitor, _sPrefs.getString("USERNAME", ""), _sPrefs.getString("PASSWORD", ""));
}
});
}
public static void showGroupChatInvitationAlert(final String title, final String message,
final String roomname,final Connection conn,final String inviter, final String user,final String password) {
new Thread(new Runnable() {
public void run() {
joinMultiUserChat(Constant.userName, Constant.password, roomname.split("@")[0]);
}
}).start();
}
public static MultiUserChat joinMultiUserChat(String user, String password, String roomsName) {
try {
XMPPSmackConnection.getInstance();
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
// Create a MultiUserChat window using XMPPConnection
MultiUserChat muc = new MultiUserChat(XMPPSmackConnection.connection, roomsName
+ "@conference." + XMPPSmackConnection.connection.getServiceName());
// The number of chat room services will decide to accept the historical record
DiscussionHistory history = new DiscussionHistory();
history.setMaxStanzas(0);
//history.setSince(new Date());
// Users to join in the chat room
muc.join(user, password, history, SmackConfiguration.getPacketReplyTimeout());
System.out.println("The conference room success....");
return muc;
} catch (XMPPException e) {
e.printStackTrace();
System.out.println("The conference room to fail....");
return null;
}
}