打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Android Studio使用smack进行ejabberd创建用户

我使用的是smack4.1.2,引用方法我之前在ejabberd的连接、登录、收发消息这部分介绍过了

Android studio使用smack连接xmpp服务器收发消息

在使用注册功能之前,也需要对ejabberd服务器的配置进行一些小的修改,或者使用创建功能却遇到了403 -auth错误的朋友也可以参考一下。具体方法如下:

ejabberd16.09创建用户的403-auth(Denied by ACL)错误解决方法

完成了上述的准备工作后,我们就可以进行ejabberd用户的创建了。具体方法如下:

  1. private void XmppRegister(String username){  
  2.     AccountManager account = AccountManager.getInstance(con);  
  3.     account.sensitiveOperationOverInsecureConnection(true);  
  4.     try {  
  5.         boolean tag = account.supportsAccountCreation();  
  6.         if(tag){  
  7.             Log.d("PushTest", "you can register");  
  8.         }  
  9.         account.createAccount(username, "123456");  
  10.         Log.d("PushTest", "register successfully");  
  11.     } catch (SmackException.NoResponseException e) {  
  12.         e.printStackTrace();  
  13.     } catch (XMPPException.XMPPErrorException e) {  
  14.         e.printStackTrace();  
  15.     } catch (SmackException.NotConnectedException e) {  
  16.         e.printStackTrace();  
  17.     }  
  18. }  


消息如下:

  1. 10-26 09:47:39.382 13717-16309/ly.asynctasktest D/SMACK: SENT (0): <presence id='4ZMQm-6'><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://www.igniterealtime.org/projects/smack' ver='NfJ3flI83zSdUDzCEICtbypursw='/></presence>  
  2. 10-26 09:47:39.384 13717-16310/ly.asynctasktest D/SMACK: RECV (0): <iq from='admin@hsoft.com' to='admin@hsoft.com/Smack' id='4ZMQm-5' type='result'><query xmlns='jabber:iq:roster'/></iq>  
  3. 10-26 09:47:39.384 13717-16310/ly.asynctasktest D/SMACK: RECV (0): <presence from='admin@hsoft.com/Smack' to='admin@hsoft.com/Smack' xml:lang='en' id='4ZMQm-6'><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://www.igniterealtime.org/projects/smack' ver='NfJ3flI83zSdUDzCEICtbypursw='/></presence>  
  4. 10-26 09:47:42.145 13717-16309/ly.asynctasktest D/SMACK: SENT (0): <iq to='hsoft.com' id='4ZMQm-9' type='get'><query xmlns='jabber:iq:register'></query></iq>  
  5. 10-26 09:47:42.147 13717-16310/ly.asynctasktest D/SMACK: RECV (0): <iq from='hsoft.com' to='admin@hsoft.com/Smack' id='4ZMQm-9' type='result'><query xmlns='jabber:iq:register'><instructions>Choose a username and password to register with this server</instructions><username>admin</username><password/><registered/></query></iq>  
  6. 10-26 09:47:42.148 13717-13717/ly.asynctasktest D/PushTest: you can register  
  7. 10-26 09:47:42.148 13717-16309/ly.asynctasktest D/SMACK: SENT (0): <iq to='hsoft.com' id='4ZMQm-11' type='set'><query xmlns='jabber:iq:register'><username>1234</username><password>123456</password><registered></registered></query></iq>  
  8. 10-26 09:47:42.150 13717-16310/ly.asynctasktest D/SMACK: RECV (0): <iq from='hsoft.com' to='admin@hsoft.com/Smack' id='4ZMQm-11' type='result'/>  
  9. 10-26 09:47:42.151 13717-13717/ly.asynctasktest D/PushTest: register successfully  


    需要注意的是:

1、需要先建立连接,再进行创建用户

2、连接的账号需要具备创建用户的权限


如果有什么问题,欢迎大家不吝指教!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
XMPP协议服务器之Ejabberd
Smack 体系结构
Google的非官方博客 Blog Archive Smack–支持googletal...
常用开源Jabber(XMPP) IM服务器介绍_XMPP Jabber即时通讯开发实践_...
Choosing An XMPP Server
SmackAPI中文版 Smack帮助文档中文版
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服