0

I am using below to get invitation in xmpp for group chat and also successfully getting invitation but somewhere in acceptance of invitation not able to accept the invitation.

This is my code for invitation and acceptance of group chat:

     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;  
        }  
    }
Anjali Tripathi
  • 1,477
  • 9
  • 28

1 Answers1

0

add this extension manager to ProviderManager before connecting to server

ProviderManager.getInstance().addExtensionProvider("x", "http://jabber.org/protocol/muc#user",  new MUCUserProvider());

I hope it help you...

Rakesh Kalashetti
  • 1,049
  • 8
  • 8