gpt4 book ai didi

android - quickblox,如何在聊天中检索自定义参数?

转载 作者:行者123 更新时间:2023-11-30 03:06:58 25 4
gpt4 key购买 nike

我正在使用 quickblox api 开发一个 android 应用程序。我正在使用聊天 SMACK 功能(一对一聊天),我尝试从聊天中接收消息。我可以检索消息文本,但我无法获取海关参数。

这是关于我的消息变量的屏幕:

enter image description here

我需要的值是存储在“ map ”中的值:tempo、telefono、stato、nome、prefisso.. 我如何检索它?我只是尝试搜索 quickblox 文档,但在尝试实现 DefaultPacketExtension 时出现 api 错误。

谢谢

最佳答案

这是一个如何使用 QuickBlox Android SDK 1.1 执行此操作的示例

发送带有附加参数的消息:

Map<String, Object> addinfoParams = new HashMap<String, Object>();
addinfoParams.put(Consts.AGE, 22);
addinfoParams.put(Consts.TYPE, "actor");

final String BODY = "Hey QuickBlox!";

Message message = createMsgWithAdditionalInfo(USER_ID, BODY, addinfoParams);

Log.i(TAG, "message: " + message.toXML());
try {
qbPrivateChat.sendMessage(USER_ID, message);
} catch (XMPPException e) {
e.printStackTrace();
}

...

private Message createMsgWithAdditionalInfo(int userId, String body, Map<?, ?> addinfoParams){
Message message = new Message(QBChatUtils.getChatLoginFull(userId), Message.Type.chat);
String addInfo = ToStringHelper.toString(addinfoParams, "", Consts.ESCAPED_AMPERSAND);
MessageExtension messageExtension = new MessageExtension(Consts.QB_INFO, "");
try {
messageExtension.setValue(Consts.ADDITIONAL_INFO, addInfo);
} catch (BaseServiceException e) {
e.printStackTrace();
}
message.addExtension(messageExtension);
message.setBody(body);
return message;
}

接收消息并获取自定义参数:

chatMessageListener = new ChatMessageListener() {
@Override
public void processMessage(Message message) {
String from = message.getFrom();
String messageBody = message.getBody();

List<MessageExtension> messageExtensions = message.getExtensions();

}

@Override
public boolean accept(Message.Type type) {
switch (type) {
case normal:
case chat:
case groupchat:
return true;
default:
return false;
}
}
};

聊天 fragment 中的更多信息 https://github.com/QuickBlox/quickblox-android-sdk/blob/master/snippets/src/com/quickblox/snippets/modules/SnippetsChat.java

关于android - quickblox,如何在聊天中检索自定义参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21644794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com