0
我在我的Android應用程序中使用SendBird聊天API,並且在元數據中獲得超過1個值時遇到問題。Android - SendBird元數據問題
這就是groupchannel元數據創建:
final HashMap<String, String> data = new HashMap<String, String>();
data.put("owner", "Daniel");
data.put("address", "Else Street");
groupChannel.createMetaData(data, new BaseChannel.MetaDataHandler() {
@Override
public void onResult(Map<String, String> map, SendBirdException e) {
if(e != null) {
Toast.makeText(ctx, "" + e.getCode() + ":" + e.getMessage(), Toast.LENGTH_SHORT).show();
return;
}
如果我重複在onResult地圖,我會說:「丹尼爾」和「否則街」。到目前爲止,這很好,對吧?現在
問題是,當我需要的元數據:
List<String> keys = new ArrayList<String>();
keys.add("owner");
keys.add("address");
mGroupChannel.getMetaData(keys, new BaseChannel.MetaDataHandler() {
@Override
public void onResult(Map<String, String> map, SendBirdException e) {
if (e != null) {
Toast.makeText(ChatActivity.this, "" + e.getCode() + ":" + e.getMessage(), Toast.LENGTH_SHORT).show();
return;
}
Toast.makeText(getBaseContext(), String.valueOf(map.size()), Toast.LENGTH_LONG).show();
}
});
map.size()methos將返回0時,它實際上應該返回2的問題是,如果我刪除地址或所有者,它返回1,這是正確的。
嗨兄弟,我更新到3.0.2在我的build.gradle再次嘗試,仍然無法正常工作,我做的是完全相同的,因爲它是在文檔中。你能幫我麼? ): –
您是否在createMetaData通過調用其回調處理程序完成後調用getMetaData? –
你可以看看代碼嗎?轉到initGroupChannel()方法http://pastebin.com/SED3Qydp –