android中XMPP Asmack的问题

问题描述

android中XMPP Asmack的问题
对XMPP Asmack不太熟,刚开始用

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

我用下面的代码实现:

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

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

谢谢

解决方案

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 away3 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;        }

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

解决方案二:
用这段代码:

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;}

解决方案三:
返回的是在线或者不在线,怎么获得,申请状态,如subscribe,unsubscribe,unsubscribed?

时间: 2024-12-30 21:48:59

android中XMPP Asmack的问题的相关文章

Android中基于XMPP协议实现IM聊天程序与多人聊天室_Android

简单的IM聊天程序由于项目需要做一个基于XMPP协议的Android通讯软件.故开始研究XMPP. XMPP协议采用的是客户端-服务器架构,所有从一个客户端发到另一个客户端的消息和数据都必须经过XMPP服务器转发,而且支持服务器间DNS的路由,也就是说可以构建服务器集群,使不同的 服务器下的客户端也可以通信,XMPP的前身是一个开源组织制定的网络通信协议--Jabber,XMPP的核心是在网络上分片段发送XML流的协议,这个协议是XMPP的即时通讯指令的传递手段.       为了防止服务器间发

Android中基于XMPP协议实现IM聊天程序与多人聊天室

简单的IM聊天程序 由于项目需要做一个基于XMPP协议的Android通讯软件.故开始研究XMPP. XMPP协议采用的是客户端-服务器架构,所有从一个客户端发到另一个客户端的消息和数据都必须经过XMPP服务器转发,而且支持服务器间DNS的路由,也就是说可以构建服务器集群,使不同的 服务器下的客户端也可以通信,XMPP的前身是一个开源组织制定的网络通信协议--Jabber,XMPP的核心是在网络上分片段发送XML流的协议,这个协议是XMPP的即时通讯指令的传递手段.       为了防止服务器间

异常处理:android中添加按钮事件,出现NullPointerException

问题描述 异常处理:android中添加按钮事件,出现NullPointerException 解决方案 在maincsactivity的oncreate的72行找,有没有对象为null 解决方案二: 对象为空,要么你的按钮对象还没初始化,要么点击代码里有空对象,你调试一下便知 解决方案三: 空指针异常,没什么难找的,Debug一下即可很快找到: 解决方案四: 空指针异常,按钮对象没有初始化 解决方案五: 可能你声明了一个View,但是你没有findViewById,或者findViewById

android-关于webp图片格式在Android中的应用

问题描述 关于webp图片格式在Android中的应用 我现在在做一个类似壁纸的应用,app获取服务端图片展示,有一半图片是webp格式.我们提供下载和分享功能.但是webp图片下载到手机本地不能打开,同时分享webp图片都会出错.求助,该怎么解决.是要把服务端的图片格式都转换为jpg或者png吗?有代码能实现转换吗 解决方案 Android优化-webp图片格式 解决方案二: 你的参考答案在哪啊? 解决方案三: app端的图片格式一般都是**Jpg**和**png**的. 没有用webp的.

android中如何实现在静音状态下播放警报

问题描述 android中如何实现在静音状态下播放警报 我想做一个防盗应用在手机静音的状态下也能报警,这和闹钟原理应该一样 请帮我解答 谢谢 解决方案 闹钟到时打开音量,用户确定后恢复到静音. 解决方案二: setVolumeControlStream(AudioManager.STREAM_SYSTEM);试试

应用-android中设置支持javascript会引入xss变量到你的程序中,请检查清楚

问题描述 android中设置支持javascript会引入xss变量到你的程序中,请检查清楚 Using setJavaScriptEnabled can introduce XSS vulnerabilities into you application, review carefully. 如何理解上面这句英语啊?? 解决方案 你指的是在webView上设置支持JavaScript么? 解决方案二: @SuppressLint("SetJavaScriptEnabled") 忽略

android中String转换成16进制的方法

问题描述 android中String转换成16进制的方法 想请教一下?把一个24个字节的字符串转换成16进制,并把结果打印出来要怎么写,网上有一些方法但是没有说转换完的16进制串打印出来要用哪个参数?求指点 解决方案 byte[] b = ""字符串"".getBytes();foreach (byte i : b){if (i < 16) System.out.print(""0"" + Integer.toHexS

Android中跑马灯既能水平滚动,又能上下滚动。。

问题描述 Android中跑马灯既能水平滚动,又能上下滚动.. 就是有三条数据,三条数据字数比较多,我想利用跑马灯,既能三条数据上下循环滚动,又能每条数据水平滚动,请问这个可以实现吗? 解决方案 水平的用marquee,垂直的用js设置下容器的scrollTop来循环滚动或者反过来也行,反过来容器要设置scrollLeft 解决方案二: HTML里的标签可以实现你的要求 解决方案三: 用marquee,垂直的用js设置下容器的scrollTop来滚动

Android中selector设置

问题描述 Android中selector设置 android中怎么在mainactivity中动态设置textview 字体颜色的selector 解决方案 android 设置selector无效android selector下的设置背景属性值android selector下的设置背景属性值 解决方案二: 做不同的xml文件,动态设置backgroundresourceid