2012-09-05 33 views
2

我想通过XMPP阻止来自我的聊天列表中的特定朋友。我的代码是这样做的:使用smack库和开放式消息服务器阻止用户在聊天列表中的问题

public void blockUser(String userName) 
{ 
    String listName = "newList"; 
    List<PrivacyItem> privacyItems = new Vector<PrivacyItem>(); 
    PrivacyItem item=new PrivacyItem(PrivacyItem.Type.jid.toString(), false, 1); 
    item.setValue(userName);  
    privacyItems.add(item); 

    privacyManager = PrivacyListManager.getInstanceFor(mXMPPConnection); 

    try 
    { 
    privacyManager.createPrivacyList(listName,privacyItems); 
    } 
    catch(Exception e) 
    { 
    Log.e("PRIVACY_ERROR: "," "+e.toString()); 
    e.printStackTrace(); 
    } 
} 

代码工作正常。没有例外,但我无法阻止用户。谁能帮我?我得到了

啪日志:

<main><iq type="set" id="373-3717" to="[email protected]/smack"><query xmlns="jabber:iq:privacy"><list name="newList"/></query></iq> 
09-04 19:00:38.368: D/SMACK(3895): 07:00:38 PM SENT (1149259528): <iq id="373-3717" type="result"></iq> 
09-04 19:00:38.658: D/SMACK(3895): 07:00:38 PM RCV (1149259528): <iq type="result" id="LvJcf-9" to="[email protected]/smack"><query xmlns="jabber:iq:privacy"><list name="newList"><item action="deny" order="1" type="jid" value="[email protected]"/></list></query></iq></main> 
+0

代码和XMPP节看起来不错。你是否证实服务器执行隐私清单?它看起来像一个服务器问题给我。 – Flow

+0

我使用明火服务器。我应该在服务器上做出什么样的改变,以便得到理想的结果。 – kadhirvel

+0

嗨,大家好,我面临同样的问题,如果任何变化需要在服务器端。如果它是任何变化,请让我知道。 –

回答

1

您需要设置您创建为活动列表中的隐私列表。

+0

请您详细说明答案... –

+0

请执行[XEP-0016](http://xmpp.org/extensions/xep-0016.html) – Stan

相关问题