如何在android smack 4.2.0-beta1中使用MucEnterConfiguration?

时间:2017-02-24 15:45:21

标签: android xmpp smack

我想重新加入空间,不想要任何历史记录,但 DiscussionHistory 已弃用。所以我找到了课程 MucEnterConfiguration 。 但是我无法创建 MucEnterConfiguration 的对象。

  1. MucEnterConfiguration 是一个最终类,因此无法扩展和
    没有公共构造函数。

  2. MucEnterConfiguration.Builder 也是最终类,所以不能是 扩展,没有公共构造函数。

  3. 我如何创建它的对象。

    由于

1 个答案:

答案 0 :(得分:5)

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