zoukankan      html  css  js  c++  java
  • asmack xmpp 获取离线消息

    原文:http://plplum.blog.163.com/blog/static/31032400201503015345948/

    注意事项:

    1、登录前要将状态设置为离线:

    ConnectionConfiguration connectionConfig = new ConnectionConfiguration(192.168.1.82, 5222, "");
    connectionConfig.setSendPresence(false);
    ASmackMainActivity.connection = new XMPPConnection(connectionConfig);

    2、接收完离线数据后,要将离线数据清除:

    offlineManager.deleteMessages();

    3、最后要将用户状态设置为在线。

    ConnectionConfiguration connectionConfig = new ConnectionConfiguration(192.168.1.82, 5222, "");
    connectionConfig.setSendPresence(false);
    ASmackMainActivity.connection = new XMPPConnection(connectionConfig);

    connection.login(用户名,密码);

    OfflineMessageManager offlineManager = new OfflineMessageManager(ASmackMainActivity.connection);
            Iterator<org.jivesoftware.smack.packet.Message> it = offlineManager.getMessages();
                while(it.hasNext()){
                    org.jivesoftware.smack.packet.Message message = it.next();
                    Log.e(TAG, "收到离线消息, Received from 【" + message.getFrom() + "】 message: " + message.getBody());
                }
                //删除离线消息
                offlineManager.deleteMessages();
                //将状态设置成在线
                Presence presence = new Presence(Presence.Type.available);
                ASmackMainActivity.connection.sendPacket(presence);

  • 相关阅读:
    Java内存区域
    高并发
    集合框架
    面向对象基础概念
    java synchronized详解
    java使用DOM操作XML
    二、认识Xcode(第一个工程:Hello world)
    菜鸟手下的iOS开发笔记(swift)
    一、iOS开发环境搭建
    一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(十)使用JRTPLIB传输RTP数据
  • 原文地址:https://www.cnblogs.com/shihaiming/p/5945446.html
Copyright © 2011-2022 走看看