如何在 android smack 4.2.0-beta1 中使用 MucEnterConfiguration?
Posted
技术标签:
【中文标题】如何在 android smack 4.2.0-beta1 中使用 MucEnterConfiguration?【英文标题】:How to use MucEnterConfiguration in android smack 4.2.0-beta1? 【发布时间】:2017-02-24 15:45:21 【问题描述】:我想重新加入房间并且不想要任何历史记录,但 DiscussionHistory 已被弃用。所以我找到了 MucEnterConfiguration 类。 但我无法创建 MucEnterConfiguration 的对象。
MucEnterConfiguration 是最终类,因此它不能被扩展和 没有公共构造函数。
MucEnterConfiguration.Builder 也是 final 类,所以不能是 扩展并且没有公共构造函数。
我如何创建它的对象。
谢谢
【问题讨论】:
阅读 MucEnterConfiguration 的 javadoc 对不起,我找不到 Java 文档,如果有链接或示例,请分享 download.igniterealtime.org/smack/dailybuilds/javadoc/org/… 感谢您的宝贵时间。 @NomanAhmedKhan 你能找到解决办法吗? 【参考方案1】:EntityBareJid mucJid = JidCreate.entityBareFrom(roomJid);
Resourcepart nickname = Resourcepart.from(nickname);
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(connection);
MultiUserChat muc = manager.getMultiUserChat(mucJid);
MucEnterConfiguration.Builder mec = muc.getEnterConfigurationBuilder(nickname);
String lastDate = "yourLastDate";
if(lastDate!=null)
try
Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(lastDate);
int secondsBetween = (int) ((new Date().getTime() - date.getTime()) / 1000);
mec.requestHistorySince(secondsBetween - 1);
catch (Exception e)
mec.requestNoHistory();
else
mec.requestNoHistory();
MucEnterConfiguration mucEnterConfig = mec.build();
muc.join(mucEnterConfig);
【讨论】:
以上是关于如何在 android smack 4.2.0-beta1 中使用 MucEnterConfiguration?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 smack-android 连接到禁用安全功能的 ejabberd?
我们如何在 smack 或来自 android 的 xmpp 中获得对发件人的消息读取/看到确认
asmack/Smack 4.1 on android 设置
如何使用 Smack 从 android 客户端获取 openfire 在线注册用户?