Android(安卓)Studio使用smack进行ejabberd创建用户
16lz
2021-01-24
我使用的是smack4.1.2,引用方法我之前在ejabberd的连接、登录、收发消息这部分介绍过了
CSDN文章地址:
Android studio使用smack连接xmpp服务器收发消息
文章地址:
Android studio使用smack连接xmpp服务器收发消息
在使用注册功能之前,也需要对ejabberd服务器的配置进行一些小的修改,或者使用创建功能却遇到了403 -auth错误的朋友也可以参考一下。具体方法如下:
CSDN文章地址:
ejabberd16.09创建用户的403-auth(Denied by ACL)错误解决方法
文章地址:
ejabberd16.09创建用户的403-auth(Denied by ACL)错误解决方法
完成了上述的准备工作后,我们就可以进行ejabberd用户的创建了。具体方法如下:
private void XmppRegister(String username){ AccountManager account = AccountManager.getInstance(con); account.sensitiveOperationOverInsecureConnection(true); try { boolean tag = account.supportsAccountCreation(); if(tag){ Log.d("PushTest", "you can register"); } account.createAccount(username, "123456"); Log.d("PushTest", "register successfully"); } catch (SmackException.NoResponseException e) { e.printStackTrace(); } catch (XMPPException.XMPPErrorException e) { e.printStackTrace(); } catch (SmackException.NotConnectedException e) { e.printStackTrace(); } }
消息如下:
10-26 09:47:39.382 13717-16309/ly.asynctasktest D/SMACK: SENT (0): 10-26 09:47:39.384 13717-16310/ly.asynctasktest D/SMACK: RECV (0): 10-26 09:47:39.384 13717-16310/ly.asynctasktest D/SMACK: RECV (0): 10-26 09:47:42.145 13717-16309/ly.asynctasktest D/SMACK: SENT (0): 10-26 09:47:42.147 13717-16310/ly.asynctasktest D/SMACK: RECV (0): Choose a username and password to register with this server admin 10-26 09:47:42.148 13717-13717/ly.asynctasktest D/PushTest: you can register 10-26 09:47:42.148 13717-16309/ly.asynctasktest D/SMACK: SENT (0): 1234 123456 10-26 09:47:42.150 13717-16310/ly.asynctasktest D/SMACK: RECV (0): 10-26 09:47:42.151 13717-13717/ly.asynctasktest D/PushTest: register successfully
需要注意的是:
1、需要先建立连接,再进行创建用户
2、连接的账号需要具备创建用户的权限
如果有什么问题,欢迎大家不吝指教!
更多相关文章
- Android(安卓)Notification 的使用
- Android(安卓)图片放大缩小
- Ubuntu中useradd和adduser的区别
- android开发系列之消息机制
- Android的视频通话的Java代码
- Android(安卓)5.0 Uicc框架分析
- 浅谈Android的Message机制
- Android(安卓)持续集成实践(一)——从0开始搭建 Gitlab 服务器
- Layout开发小技巧(三)