android - 在 quickblox 中未收到未读消息计数

标签 android quickblox quickblox-android

我正在将 quickblox android sdk 用于群聊应用程序,它运行良好,但如果在我离线时发送消息,我将无法接收推送通知。所以我决定查询未读消息数,但我从服务器得到 0。我不知道我必须做些什么才能让用户在用户不在线时能够接收到通知的群聊对话框。

这是我用来查询未读消息的代码:

Set<String> dialogIds = new HashSet<String>();
String groupChatId = groupChat.getDialogId();
System.out.println("GroupChat Id: "+groupChatId);
dialogIds.add(groupChatId);  
QBChatDialog chatDialog = new QBChatDialog(groupChatId);
QBMessageGetBuilder messageGetBuilder = new QBMessageGetBuilder();
messageGetBuilder.setLimit(500);
messageGetBuilder.sortDesc("date_sent");
QBRestChatService.getTotalUnreadMessagesCount(dialogsIds).performAsync(new QBEntityCallback<Integer>() {
@Override
public void onSuccess(Integer total, Bundle params) {
    Log.i(TAG, "total unread messages: " + total);
    // if you have more then one dialog you can get each value with params.getInt(dialog_id)
}

@Override
public void onError(QBResponseException e) { 
    e.printStackTrace();
}
});

最佳答案

第一部分是正确的:

Set<String> dialogIds = new HashSet<String>();
String groupChatId = groupChat.getDialogId();
dialogsIds.add(groupChatId);

但是,在那之后您就没有使用 dialogIds。而且,您需要使用 getTotalUnreadMessagesCount() 而不是 getDialogMessages (),如下所示:

QBRestChatService.getTotalUnreadMessagesCount(dialogIds).performAsync(new QBEntityCallback<Integer>() {
    @Override
    public void onSuccess(Integer total, Bundle params) {
        Log.i(TAG, "totat messages: " + total);
        // if you have more then one dialog you can get each value with params.getInt(dialog_id)
    }

    @Override
    public void onError(QBResponseException e) { }
});

关于android - 在 quickblox 中未收到未读消息计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41406905/

相关文章:

java - 日历对象数组

java - 将参数从 Activity.onCreate 传递到其他方法

php - Quickblox:用户图像或头像已通过 API 成功上传,但无法在 Quickblox 管理面板中预览?

java - Quickblox: sample 不会开始

Android QuickBlox SDK 客户端未连接或不再连接

maven - Android Studio Gradle错误:无法解决:com.quickblox:quickblox-android-sdk-core:2.5.1

java - 如何设置主 Activity 中定义的 View 文本(无 XML)

java - 如何从 Quickblox 中的消息中检索用户名?

android - 依靠聊天无法正常工作 QuickBlox

Android数据库访问设计方法