我试图使用privacyList阻止quickblox中的用户。当用户在线时,哪个工作正常。一旦用户离线,另一个被阻止的用户就能够发送消息。
即使用户处于离线状态,失败的用户也不应该在阻止后发送消息。
这是阻止用户的代码。
private void blockUser() {
QBPrivacyList list = new QBPrivacyList();
list.setName("public");
list.setActiveList(true);
ArrayList<QBPrivacyListItem> items = new ArrayList<>();
QBPrivacyListItem item1 = new QBPrivacyListItem();
item1.setAllow(false);
item1.setType(QBPrivacyListItem.Type.USER_ID);
item1.setValueForType(String.valueOf(qbChatDialog.getRecipientId()));
item1.setMutualBlock(true);
items.add(item1);
list.setItems(items);
try {
privacyListsManager.setPrivacyList(list);
privacyListsManager.setPrivacyListAsDefault("public");
blockedSuccess = true;
isBlocked = false;
} catch (SmackException.NotConnectedException | XMPPException.XMPPErrorException | SmackException.NoResponseException e) {
Log.e(TAG,"Failed to block: "+ e);
}
}