注册

注册了receiver ,监听不到cmd消息

Logcat打印如下:D/chat: chat listener receive msg from:admin@easemob.com body:{"from":"admin","to":"100000","bodies":[{"type":"cmd","action":"fuck"}],"ext":{"type":4,"nickname":"系统通知","avatar":""}}
 
可是进不到receiver的 onReceive方法 
/** * 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 EMLog.d(TAG, "receive the event id : " + message.getMsgId()); ToastUtil.showTextToast(appContext, aciton); //获取扩展属性 // String attr=message.getStringAttribute("a"); } };

// 注册一个cmd消息的BroadcastReceiver
IntentFilter cmdIntentFilter = new IntentFilter(EMChatManager.getInstance().getCmdMessageBroadcastAction());
appContext.registerReceiver(cmdMessageReceiver, cmdIntentFilter);
已邀请:

♨drayge - 80后IT男

已解决 添加notifyForRecevingEvents即可
用我们提供的调rest的示例代码给客户端的demo发一下透传消息,看看能不能接收到,同时也测试下安卓端给安卓端发透传消息看看能不能正常接收。

要回复问题请先登录注册