注册了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);

解决方案

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

时间: 2024-10-18 20:21:27

注册了receiver ,监听不到cmd消息的相关文章

android 注册成功有监听吗

问题描述 android 注册成功有监听吗 解决方案 注册异步执行try catch 没有报异常的话,就注册成功了

使用xmlhttp和Java session监听改善站内消息系统

session|xml 使用xmlhttp和Java session监听改善站内消息系统 bromon 原创  引自:http://www.javaresearch.org/article/showarticle.jsp?column=106&thread=25340 这个题目含有许多需要解释的概念,最容易说明的是"站内消息",这是很多论坛都有的功能,可以通过web向其他的在线用户发送消息,很多用户都使用过.站内消息的第一个好处是大家都不需要安装客户端,你不用知道对方的MSN或

libevent (三) 事件注册与循环监听

在libevent中为了监听某种事件的发生,设置事件触发后的回调函数,也就是说对该事件注册到当前的IO模型中. 事件注册 事件初始化 使用`event_new`函数来对事件进行初始化. typedef void (*event_callback_fn)(evutil_socket_t, short, void *);/* 回调函数 */ struct event *event_new(struct event_base *base, evutil_socket_t fd, short what,

android监听不到任何消息,求解答

问题描述 进来使用环信,初始化sdk,注册,登录和发送消息都ok了,然后开始监听了接收事件EMEventListener,可是我怎么发消息都不进,少了哪个步骤,要是文档上有具体流程就好了 解决方案 解决方案二:看下你有注册接收消息的监听吗? EMChatManager.getInstance().registerEventListener(                this, new EMNotifierEvent.Event[] {                        EMNo

用xmlhttp和Java session监听改善站内消息系统

session|xml 原文出处:http://www.javaresearch.org/article/showarticle.jsp?column=106&thread=25340 这个题目含有许多需要解释的概念,最容易说明的是"站内消息",这是很多论坛都有的功能,可以通过web向其他的在线用户发送消息,很多用户都使用过.站内消息的第一个好处是大家都不需要安装客户端,你不用知道对方的MSN或者QQ,就能与他联系,称赞他的观点或者是给他一顿臭骂.第二个好处是客户管理方便,利用

关于flex应用程序监听java发送的消息

问题描述 在java中很容易实现这样的功能,比如聊天软件,服务器端将消息发给指定的客户端.而flex中有没有这样监听java发送过来的信息.我说的不是flex去请求然后java返回那种方法.我现在要做的就是一个flash的应用程序,仿webqq那种,后台用java,前台flex.当一个人发给另一个人消息的时候通过java层怎么发送给指定的flex端.有什么监听吗?(自己想到的一种方法是每个flex端每隔一段时间去请求java层看有没有当前这个用户的消息,这种方法很容易实现不过是不是太幼稚了.)希

android如何使用BroadcastReceiver后台实现来电通话记录的监听

android如何使用BroadcastReceiver后台实现来电通话记录的监听并存取到sqllite数据库通过Contentprovilder实现接口 BroadcastReceiver 是android四大组件的一个,本质上是一种全局的监听器 ,用于监听全局的广播消息.下面实现了后台监听android手机通话记录.本demo 分两个程序,第一个程序是设置监听器,然后模拟器重启后就会有一个全局的 service在后台监听你的来电显示,大多数通话管理软件都是这么干的,第二个项 目是获取通话记录

android 电话状态监听(来电和去电)实现代码_Android

实现手机电话状态的监听,主要依靠两个类:TelephoneManger和PhoneStateListener. TelephonseManger提供了取得手机基本服务的信息的一种方式.因此应用程序可以使用TelephonyManager来探测手机基本服务的情况.应用程序可以注册listener来监听电话状态的改变.我们不能对TelephonyManager进行实例化,只能通过获取服务的形式: Context.getSystemService(Context.TELEPHONY_SERVICE);

android获取监听SD Card状态的方法

    android获取监听SD Card状态的方法 本文实例讲述了android获取监听SD Card状态的方法.分享给大家供大家参考.具体分析如下: 1. 注册StorageEventListener来监听SD卡状态即onStorageStateChanged()方法,当sd卡状态改变时,调用该方法. 复制代码 代码如下: public void onStorageStateChanged(String path,String oldState,String newState){ if (