android - 使用 smack 和 open fire 服务器在聊天列表中阻止用户的问题

标签 android xmpp smack asmack

我想用 XMPP 从我的聊天列表中屏蔽一个特定的 friend 。代码工作正常。没有异常(exception),但我无法阻止用户。 我正在使用明火服务器。我应该在服务器上进行哪些更改?

你们有什么想法吗?

我的代码:

public void XMPPAddNewPrivacyList(Connection connection, String userName) {

    String listName = "newList";

    // Create the list of PrivacyItem that will allow or
    // deny some privacy aspect

    List<PrivacyItem> privacyItems = new Vector<PrivacyItem>();

    PrivacyItem item = new PrivacyItem(PrivacyItem.Type.jid.toString(),
            false, 1);
    item.setValue(userName);
    privacyItems.add(item);

    // Create the new list.

    try {
        PrivacyListManager privacyManager = new PrivacyListManager(connection);
        privacyManager = PrivacyListManager
                .getInstanceFor(connection);
        privacyManager.createPrivacyList(listName, privacyItems);

    } catch (XMPPException e) {
        System.out.println("PRIVACY_ERROR: " + e);
    }
}

最佳答案

试试这个……

public boolean blockFriend(String friendName) {

    PrivacyItem item=new PrivacyItem(PrivacyItem.Type.jid,friendName, false, 7);
    PrivacyListManager privacyManager = PrivacyListManager.getInstanceFor(connection);
    List<PrivacyItem> list=new ArrayList<PrivacyItem>();
    list.add(item);

    try {
        privacyManager.updatePrivacyList(NEWLIST, list);
        privacyManager.setActiveListName(NEWLIST);
        return true;
    } catch (SmackException.NoResponseException |XMPPException.XMPPErrorException | SmackException.NotConnectedException e) {
        e.printStackTrace();
        return false;
    }


}

解锁 只需在 privacyitem 的对象中将 false 替换为 true `

关于android - 使用 smack 和 open fire 服务器在聊天列表中阻止用户的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18610788/

相关文章:

xmpp - 启用流管理 xmpp 连接 smack 4.1

android - 在 Ejabberd/XMPP 中禁止用户同时从多个设备登录

android - 如何将用户添加到 xmpp 中的名册?

android - smack packet listener 和 message listener 的区别

android - 何时在您的应用中检查 Google Play 服务

ios - xmppStreamDidConnect 没有被调用

android - 微调器对话框的自定义主题

java - 使用 XMPP 获取非 SASL 身份验证问题

android - Android Proguard问题

java - Android : How to OnConflictStrategy. 替换但保留一个特定字段