博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android asmack调用MultiUserChat.getHostedRooms方法出现空指针的异常解决方案
阅读量:7155 次
发布时间:2019-06-29

本文共 1031 字,大约阅读时间需要 3 分钟。

今天在做即时通讯群聊时,调用MultiUserChat.getHostedRooms(conn, SmackTools.getInstance().conn.getServiceName());方法获取服务列表时总是出现空指针的情况。

当时出现这个错误的时候感觉是非怪的,因为参数:conn和服务名都不为空。而MultiUserChat.getHostedRooms也不可能为空。但是错误的异常却是空指针,郁闷。

 

找了好长时间都没找到到底是什么原因引起的异常,最后在stackoverflow上找到了灵感。

问题链接:http://stackoverflow.com/questions/10296022/cannot-get-list-of-public-rooms-from-xmpp-server-on-android/11664266#11664266

以上博客提出了针对此问题的解决方案:

在初始化XMPPConnection之前初始化ServiceDiscoveryManager类即可

以下是初始化代码:

config = new ConnectionConfiguration(server, 5222);            Class.forName("org.jivesoftware.smackx.ServiceDiscoveryManager", true, SmackTools.class.getClassLoader());            // 是否启用压缩//            config.setCompressionEnabled(true);            // 是否启用安全认证            config.setSASLAuthenticationEnabled(false);            config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);            // 是否启用调试            config.setDebuggerEnabled(false);            // 创建连接            conn = new XMPPConnection(config);

具体为什么这样做我现在还没弄清楚,有哪位朋友弄清楚这个问题,就贴出来分享一下呗。

转载地址:http://mqhgl.baihongyu.com/

你可能感兴趣的文章
cobbler default文件说明
查看>>
raid policy io scheduler
查看>>
分析日志的工具: 日志易
查看>>
JS基础【JS语法、运算符、语句、对象、方法等】
查看>>
3dsMax多孔空心球建模教程
查看>>
Lua简明教程(转发)
查看>>
命令收集
查看>>
《0bug-C/C++商用工程之道》节选01--内存栈-1
查看>>
写好一个项目不容易
查看>>
类似微信5.x朋友圈的弹出框评论功能
查看>>
检测到会话cookie中缺少HttpOnly属性
查看>>
Centos 6.5 python 2.6.6 升级到 2.7.3,并安装easy_install和pip工具过程
查看>>
我的友情链接
查看>>
嵌套循环连接,哈希连接,排序合并连接(2015-2-4学习日记)
查看>>
jquery each的用法
查看>>
git 入门第一节 创建版本库 及 相关命令使用
查看>>
mysql 5.7 初始密码问题
查看>>
读《HeadFirst设计模式》笔记之单例模式
查看>>
我的友情链接
查看>>
vs下.def文件使用无效问题
查看>>