我正在使用QuickBlox Android SDK。
在获取对话框的所有消息时,我不想将消息标记为已读。我试过这种方式,但它没有用。
QBRequestGetBuilder customObjectRequestBuilder = new QBRequestGetBuilder();
HashMap<String,Object> map = new HashMap<>();
map.put("mark_as_read",1);
customObjectRequestBuilder.fillParametersMap(map);
ArrayList<QBChatMessage> messages = QBChatService.getDialogMessages(dialog, customObjectRequestBuilder, new Bundle());
有没有办法实现这个目标?或者我错过了什么?
答案 0 :(得分:0)
管理这种方式的正确方法:
$_SERVER[‘REQUEST_URI’]
其他参数
QBRequestGetBuilder customObjectRequestBuilder = new QBRequestGetBuilder();
customObjectRequestBuilder.addRule("mark_as_read", "", 0);
答案 1 :(得分:0)
使用方法markMessagesAsRead。 如果您只需要将许多消息标记为已读。可以将所有消息标记为已读 - 只是不传递messagesIDs(messagesIDs = null)。
StringifyArrayList<String> messagesIDs = "ids";
QBChatService.markMessagesAsRead(dialogId, messagesIDs, new QBEntityCallback<Void>() {
@Override
public void onSuccess(Void result, Bundle params) {
}
@Override
public void onError(QBResponseException responseException) {
}
});