android中XMPP Asmack的问题

对XMPP Asmack不太熟,刚开始用

不知道怎么获取用户朋友的presence?(名单列表)

我用下面的代码实现:

Presence availability = roster.getPresence(user);
Mode userMode = availability.getMode();

还要修改什么来获取用户的当前状态?

谢谢

3

3个回答

Presence availability = roster.getPresence(user);
Mode userMode = availability.getMode();

       retrieveState_mode(availability.getMode(),availability.isAvailable());

 public static int retrieveState_mode(Mode userMode, boolean isOnline) {
            int userState = 0;
            /** 0 for offline, 1 for online, 2 for away,3 for busy*/
            if(userMode == Mode.dnd) {
                userState = 3;
            } else if (userMode == Mode.away || userMode == Mode.xa) {

                userState = 2;
            } else if (isOnline) {
                userState = 1;
            }
            return userState;
        }

如果还不能实现请告诉我。

0
u013339223
Fly_微笑 返回的是在线或者不在线,怎么获得,申请状态,如subscribe,unsubscribe,unsubscribed?
4 年多之前 回复

用这段代码:

userFromServer = con.getRoster().getPresence(userID);
userState = retrieveState(userFromServer.getMode(), userFromServer.isAvailable());

public int retrieveState(Mode userMode, boolean isOnline) {
    int userState = XmppFriend.OFFLINE; // default return value
    if (userMode == Mode.dnd) {
        userState = XmppFriend.BUSY;
    } else if (userMode == Mode.away || userMode == Mode.xa) {
        userState = XmppFriend.AWAY;
    } else if (isOnline) {
        userState = XmppFriend.ONLINE;
    }
    return userState;
}
0

返回的是在线或者不在线,怎么获得,申请状态,如subscribe,unsubscribe,unsubscribed?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android xmpp开发 asmack实现断线自动重连
android xmpp开发 asmack实现断线自动重连 asmack本身封装了断线重连机制,但是有一点需要注意 在设置链接属性钱,要加载ReconnectionManager这个类,否则没有效果。 直接上代码: 第一步 [java] view plaincopy try {        
Android xmpp开发 asmack获取离线在线添加好友讯息 及 好友上线下线通知
Android xmpp开发 asmack获取离线在线添加好友消息 及 好友上线下线通知 直接上代码,看注释应该很好理解,只是提供一种思路,不对的请大神指正: public class PresenceService extends Service { private _ConnectionControl cc = _ConnectionControl.getCC();//单例模式
XMPP(二)-基于asmack+openfire的安卓客户端(仿QQ)的介绍以及个人心得
关于XMPP第一篇-openfire的搭建写完后,就一直在赶本篇所要介绍的这个基于asmack+openfire的安卓客户端,费了不少精力,因为有不少同学在还在焦急的等待着(自恋了呵呵),所以紧赶慢赶,现在算做出来了一个比较初级的版本,很多功能还不完善,不过先放出来,供大家一起参考研究,提出问题,共同学习,当然,该项目本人是会不断完善,增加新功能,甚至到后来的群组,有兴趣的话,大家可以继续关注^-
Android的XMPP协议的smack开源框架
说到aSmack,自然要先提提Smack。Smack API是一个完整的实现了XMPP协议的开源API库,而aSmack则是Smack在Android上的构建版本,于2013年2月初迁移到 GitHub上,该资源库并不包含太多的代码,只是一个构建环境。开发者可以利用该API进行基于XMPP协议的即时消息应用程序开发。 aSmack (已过期) - buildsystem for Sm
Android基于XMPP实现用户注册、登录、修改密码和注销
需要用到以下几个工具: Openfire 最新版本(openfire 3.8.1) 下载地址:http://www.igniterealtime.org/downloads/index.jsp 安装配置可参考:http://www.cnblogs.com/hoojo/archive/2012/05/17/2506769.html Spark 最新版本(Spark 2.6.3) 下载地址:
asmack最新jar包地址
http://asmack.freakempire.de/ 用来备份~~~~
android之XMPP过程分析(连接、文件监听、登录、异常重连)
android之XMPP过程分析 XMPP协议簇            利用androidpn打印一次完整报文信息   (  非全部,   个别没有打印) RCVD: 客户端 SENT: 服务端 SENT: 服务端 RCVD: 客户端 RCVD: 客户端 123456123456 SENT: 服务端 RCVD: 客户端 123456 SENT: 服务端 1
Android xmpp 文字、表情、语音、发送图片一起的demo
一个结合文字、表情、语音、发送图片的例子,只需要改一下配置文件的ip地址,和服务器名;还有里面一个文件loginActivity里面我有个地方ip地址写死了,记得改一下;初学者一定要了解JID的格式;
安卓xmpp简单介绍(登录)以及自签名证书的使用
安卓xmpp简单介绍(登录)以及自签名证书的使用概念OSI七层模型开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。 它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,具体参考[百度百科](“h
Android中实现自定义XMPP消息包收发
在Android平台实现XMPP即时通讯主要是使用asmack这个包,asmack是XMPP协议的实现。但是asmack只能帮助我们实现一些基本消息包的收发,如果需要实现特定的自定义消息包收发需要我们自己处理。 一、asmack消息的发送和接收 发送Message消息:        发送一个message结的消息,可以使用sendMessage()发送消息,这个方法有两
安卓xmpp客户端AndroidStuido3编译过(基于asmack+openfire)
基于xmpp+asmack+openfire的安卓客户端,界面仿QQ,实现好友添加,消息收发(支持文本,动态表情,图片,及位置类型) 原来的版本Android studio3无法编译通过。修改了一些配置和图片资源 原作者博客地址: https://blog.csdn.net/baiyuliang2013/article/details/43073861
xmpp来回交换登录退出2个账号异常,还未解决
05-20 15:16:08.587 5116-5116/com.wqx.yq I/wangqx: com.wqx.yq.service.XXService@424d910 237 开始退出了,logout XXService 05-20 15:16:08.587 5116-5116/com.wqx.yq I/wangqx: com.wqx.yq.smack.SmackImpl@830b3922
Android基于XMPP Smack Openfire下学习开发IM(四)单人聊天和多人聊天(发送消息、接收消息)
很久没有写博客了,回顾了一下原先学习的,接着没有写完的继续写咯。(ps:告诉大家一个秘密,其实写写博客对自己的帮助是非常大的哦~) 好了废话不多说,进入主题吧。 一、单人聊天 1)发送消息: 首先要获取一个聊天窗口,getConnection()为获取连接connection的方法,调用getFriendChat()获取 private Map chatManage = n
安卓面试技术点之xmpp之Mina框架
我在第一章的时候,就说了,socket 是一种很少用的东西了,而且又是阻塞性的,所以原作者,就对于socket进行了第三次封装,mina就出现了。不用猜 也是Apache出品的.....  第二次是NIO 用法太过复杂,所以进行了第三次封装。 服务器端代码编写 package com.xiaoxin.socketServer; import java.io.IOException;
Xmpp发送自定义IQ包
  Xmpp发送自定义的iq包   因为需要做扩展业务,学习了插件开发,但是客户端的怎么构造packet发消息到服务器插件一直没有搞明白,于是各种百度未果后,准备自己摸索,最开始用的和服务器一样的dom4j构造了一个xml节点,如下: /** * 构建iq的扩展包,用于发送用户所在房间的名称。 */ Document document = DocumentHelper.c...
基于XMPP的Android即时通讯应用设计方案。
这个文章想写了好久没有动笔。感觉都有点生疏了。 之前在一片文章里提过Android Xmpp做IM的事。做了几个月自己有了更深的了解。 Android IM应用,方案 :openfire + asmack 对于大多数IM应用,这个方案还是不错的。我之前对这个XMPP适用移动通信产生质疑(比如:通信效率低,网络穿透能力差)。不过现在我还是比较看好他的。 先说个成功案例吧--环信。环信就是基于
asmack登录冲突(多端登录冲突)处理
功能:登录冲突;   效果:弹出对话框,您的账号在xxx设备登录,您已下载;   实现步骤: asmack给我们提拱了一整套连接错误方案,其中就包括了登录冲突; 开始的时候,我还自己去写了一个,原理是上线的时候发送一个自定义的packet出去告诉登陆上的那个用户下线,后来发现这个方法行不通,因为另一端已经下线了,根本拿不到这条消息。   后来我想会不会在ConnectionLis...
asmack断线重连实现
在以前的asmack版本中,断线重连是需要我们自己做的,原理很简单,分两种情况,一种是断网了,另外一种就是掉线了。   1.没有网络的情况下。 没有网络的情况下,如果想要在所有页面提示用户开启网络,一个一个页面写会很麻烦,其实我们可以写一个baseActivity,在这个里面做断网相关操作,其他的activity集成了这个类,那么就能在整个应用程序中弹出对话框,要想实现全局的对话框,使用这...
openfire,XMPP,smack,android下离线消息的接收
登录之后呢,先设置离线,不然是收不到离线消息的,处理完离线消息后(比如说保存到数据库),就可以设置为在线了 这里呢,创建一个离线消息工具类 /** * 离线信息管理类. */ public class OfflineMsgManager { private static OfflineMsgManager offlineMsgManager = null; private IActiv
XMPP之添加好友请求报文
Presence.Type有七种 available (默认)用户空闲状态,即在线 unavailable 用户没空看消息,即离线 subscribe 请求订阅别人,即请求加对方为好友 subscribed 统一被别人订阅,也就是确认被对方加为好友 unsubscribe 他取消订阅别人,请求删除某好友 unsubscribed 拒绝被别人订阅,即拒绝对方的添加请求
XMPP系列(七)---获取群组列表
上一篇介绍了如何创建群组,这一篇就介绍一下,如何获取自己的群组列表。在上一篇有提到,如果我们创建的群组是公共的群组,那么获取自己的群组列表时,会获取到自己的群组列表和那些公共的群组。而实际做社交的应用,一般都不会有公共的群组,这样就可以保证获取到的群组都是自己加入的群组啦。
Android基于XMPP Smack Openfire下学习开发IM(六)总结
不管学习什么都应该总结 这里我把关于Xmpp的一些方法整理到一个工具类中了 我就分享给大家 XmppConnection.java package com.techrare.utils; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayInpu
在 Android 的 IM 应用中使用 asmack 库实现用户头像的传输(基于VCard协议)
转载自:http://quietmadman.blog.51cto.com/3269500/1359495 根据 XMPP 的 XEP 标准协议规范,实现 avatar 头像传输与存储的功能主要有三种实现方式,分别对应于协议规范:     + 【XEP-0153】vCard-BasedAvatars     http://xmpp.org/extensions/xep-015
Android XMPP例子(Openfire+asmack+spark)
Android XMPP例子(Openfire+asmack+spark)
android基于xmpp的即时通讯应用
xmpp是一个通信协议。因为这是个开放的协议,为了节俭开发成本,很多即时应用都采用了这个协议。Android上最常用的组合asmack +openfire。Asmack是smack的android版,是对xmpp协议进行了封装,并提供了丰富的api,简化了操作。Openfire是一个开源的IM服务器,基于Xmpp实现。换句话说使用xmpp开发即时通讯应用的话,服务器端已经开发好了,就是openfi
XMPP 最新版本
XAMPP最新版本,无需官网,直接下载,无病毒,一键安装
基于Xmpp,Openfire和Asmack的聊天软件的开发(一)
最近在学习基于Xmpp的android通信软件,现将一些关键的环节分享记录在这里。 在Openfire服务器端配置好后,开始开发android客户端。 (有关Openfire服务器的搭建,可以参考Openfire 的安装和配置) 整体框架: android客户端通过smack与openfire服务器进行通信,从而实现客户端之间的通信功能。Asmack为smack在android环境
使用XMPP响应服务器ping包
IOS使用XMPP做即时聊天,服务器会在yi
android基于xmpp,asmack的消息推送源码
android基于xmpp,asmack的消息推送源码
smack4android
android asmack实现XMPP协议jar 包
即时通讯实现方式(采用openfire和asmack方式)
XMPP协议简介 XMPP协议(Extensible Messaging and PresenceProtocol,可扩展消息处理现场协议)是一种基于XML的协议,目的是为了解决及时通信标准而提出来的,最早是在Jabber上实现的。它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。并且XML很易穿过防火墙,所以用XMPP构建的应用不易受到防火墙的阻碍。利用XMP
asmack(android 上使用 xmpp)
bug较少的asmack版本,用于在android上使用xmpp
#xmpp笔记# Android获取openfire离线消息
Android实现openfire获取离线消息的基本思路: 在用户连接登录openfire之前,先连接一次openfire,并且要配置ConnectionConfiguration,一定要设置SendPresence为false,即将在线状态设置为离线,然后才能接收到离线消息,处理完离线消息之后,记得要通知openfire服务器端,删除接收到的离线消息,并且设置再将状态设置为在线 privat
XMPP系列(五)---文件传输
xmpp 中文件传输的介绍与实现
用asmack框架,openfire服务器实现android 聊天小项目
1,注意:TApplication.connection.login(username,password) 一定要在TApplication.connection.isConnected()==true后执行,因为先要与服务器建立长连接。 解决代码: [code="java"][/code] new Thread(){ run(){ int count=0; while(count...
XMPP协议_smack源码分析(一)
其实基于XMPP协议的smack开源框架
xmpp asmack
android asmack xmpp API最新修改版,可收发文件 asmack包
Asmack之旅(二)packet扩展
(个人理解和翻译,有错误地方请zhiji)
Asmck Api详细文档
android 基于xmpp协议的即时通讯,asmack api文档。
xmpp android asmack 即时通讯
xmpp android asmack 即时通讯 功能 聊天 包括文件传输
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 ios开发xmpp教程 java学习中常见的问题