Android accept invitation of group chat by using xmpp

ぐ巨炮叔叔 提交于 2019-12-01 12:55:53

问题


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;  
        }  
    }

回答1:


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...



来源:https://stackoverflow.com/questions/25384627/android-accept-invitation-of-group-chat-by-using-xmpp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!