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

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题