Android环信2.x透传无法接收的问题
按照Android环信2.x的文档中的说法来使用透传,A端发送透传后进入onSuccess告知我发送成功,但B端却无法收到透传消息。透传是否需要二者为好友关系?为什么文档写得这么简单,用起来却并不简单?
(发送端)代码如下:
(发送端)代码如下:
EMMessage cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);(接收端)代码如下:
//支持单聊和群聊,默认单聊,如果是群聊添加下面这行
cmdMsg.setChatType(EMMessage.ChatType.GroupChat);
String action="action1";//action可以自定义,在广播接收时可以收到
CmdMessageBody cmdBody=new CmdMessageBody(action);
cmdMsg.setReceipt(currentAccount);
cmdMsg.setAttribute("abc", "Are you ready?");//支持自定义扩展
cmdMsg.addBody(cmdBody);
EMChatManager.getInstance().sendMessage(cmdMsg, new EMCallBack() {
@Override
public void onSuccess() {
Log.e("Tag", "success");
}
@Override
public void onError(int i, String s) {
Log.e("Tag", "onError");
}
@Override
public void onProgress(int i, String s) {
Log.e("Tag", "onProgress");
}
});
// 注册一个cmd消息的BroadcastReceiver发送端与接收端分别两个不同账号,两台不同手机,两个不同Fragment中。。。望告知解决方法,已崩溃!!!
IntentFilter cmdIntentFilter = new IntentFilter(EMChatManager.getInstance().getCmdMessageBroadcastAction());
getActivity.registerReceiver(cmdMessageReceiver, cmdIntentFilter);
//监听方法后初始化透传
EMChat.getInstance().setAppInited();
/**
* cmd消息BroadcastReceiver
*/
private BroadcastReceiver cmdMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//获取cmd message对象
String msgId = intent.getStringExtra("msgid");
EMMessage message = intent.getParcelableExtra("message");
//获取消息body
CmdMessageBody cmdMsgBody = (CmdMessageBody) message.getBody();
String aciton = cmdMsgBody.action;//获取自定义action
//获取扩展属性
String attr=message.getStringAttribute("a");
}
};
没有找到相关结果
已邀请:
4 个回复
假装是AA
可还是无法收到消息,账号也没错,发的群聊邀请都能收到
假装是AA
假装是AA
Wxin