dn小小 2014-08-05 04:02 采纳率: 0%
浏览 3843

asmack获取好友状态Type可以,Mode却在available获取为null

asmack在登陆设置Presence.Type.available、Presence.Mode.available后,Roster获得presence没有Mode数据。

    Presence presence = new Presence(Presence.Type.available, "online", 0, Presence.Mode.available);
    FlyChatManager.instance().Login(username, username.split("@")[0], presence);

下面是登陆函数

public boolean Login(String account, String password, Presence presence){
    if(account.length() < 1 || password.length() < 1){
        Log.i(TAG, "账号或密码过短!");
        return false;
    }

    XMPPConnection conn = FlyChatService.instance().getXMPPConnection();

    if(conn == null || !conn.isConnected()){
        Log.i(TAG, "连接器没初始化,或还没有和服务器连接上!");
        return false;
    }

    try {
        conn.login(account, password);
    } catch (XMPPException e) {
        e.printStackTrace();
    }

    conn.sendPacket(presence);

    return true;
}

RosterListener的监听回调函数

    @Override
public void presenceChanged(Presence presence) {
    String from = presence.getFrom();
    Log.i(TAG, "好友:" + from + "在线状态改变!");
    Presence bestPresence;

    if(nIsListenOneFriend){
        if(from.equals(nOneFriend) || from.split("/")[0].equals(nOneFriend)){
            bestPresence = nRoster.getPresence(from.split("/")[0]);
        }else{
            return;
        }
    }else{
        bestPresence = nRoster.getPresence(from);
    }
    android.os.Message msg = new android.os.Message();
    msg.what = 1;
    msg.obj = bestPresence;
    nUIHandler.sendMessage(msg);
}

通过presenceChanged函数得到的数据Log是
08-04 23:31:29.533: I/LogInActivity(2173): online0
08-04 23:31:29.533: I/LogInActivity(2173): 2222@192.168.10.251/Smack is online
08-04 23:31:29.533: I/LogInActivity(2173): mode = null

有大神出来解决一下,或者指点一下吗? 小弟先谢谢了!!

  • 写回答

1条回答 默认 最新

  • dn小小 2014-08-05 04:34
    关注

    漏了一跳LOG
    08-04 23:31:29.533: I/LogInActivity(2173):< presence id="1z929-10" to="1111@192.168.10.251/Smack" from="2222@192.168.10.251/Smack">online0

    评论

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择