簡體   English   中英

如何從xmpp服務器smack庫獲取聊天記錄

[英]how to get chat history from xmpp server smack library

我想獲得一對一聊天和群聊的聊天記錄。 經過一些研究后,我才知道我可以通過Message Archive Management來做到這一點。 但它沒有提供任何示例來將舊消息輸入到Android客戶端。 我想從服務器獲取較舊的消息聊天歷史記錄,但我不知道如何從xmpp服務器中提取舊消息。 這里有很多關於這方面的問題,但沒有得到任何適當的解決方案。 到目前為止我所做的是連接並向其他用戶發送消息。 誰能幫助我從xmpp服務器獲取聊天記錄?

XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
                    .setUsernameAndPassword("user1", "password")
                    .setHost(getString(R.string.domain))
                    .setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)
                    .setServiceName(getString(R.string.domain))
                    .setPort(5222)
                    .setDebuggerEnabled(true) // to view what's happening in detail
                    .build();

XMPPTCPConnection conn1 = new XMPPTCPConnection(config);
            conn1.setUseStreamManagement(true);
            XMPPTCPConnection.setUseStreamManagementDefault(true);
            conn1.setUseStreamManagementResumption(true);


//            ReconnectionManager.getInstanceFor(this.conn1).enableAutomaticReconnection();
            conn1.setPacketReplyTimeout(10000);
            try {
                conn1.connect();
                if(conn1.isConnected()) {
                    Log.w("app", "conn done");
                }
                conn1.login();

                if(conn1.isAuthenticated()) {
                    Log.w("app", "Auth done");
                }
            }
            catch (Exception e) {
                Log.w("app", e.toString());
            }

            ChatManager chatmanager = ChatManager.getInstanceFor(conn1);


            Chat newChat = chatmanager.createChat("user2@"+getString(R.string.domain));

            try {
                newChat.sendMessage("Test Msg from user1!!!");
            }
            catch (SmackException.NotConnectedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

我會使用Smack的MamManager 例如MamManager.queryArchive(Integer)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM