69MainActivity的透传消息
来源:互联网 发布:淘宝店铺销量排行榜 编辑:程序博客网 时间:2024/05/17 18:26
官方文档的描述:
发送透传消息
透传消息能做什么:头像,昵称的更新等,就是不通知手机端,收到消息可以自定义处理的一种消息。
透传消息发送格式
EMMessage cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);//支持单聊和群聊,默认单聊,如果是群聊添加下面这行cmdMsg.setChatType(ChatType.GroupChat)String action="action1";//action可以自定义,在广播接收时可以收到CmdMessageBody cmdBody=new CmdMessageBody(action);String toUsername="test1";//发送给某个人cmdMsg.setReceipt(toUsername);cmdMsg.setAttribute("a", "a");//支持自定义扩展message.addBody(body); EMChatManager.getInstance().sendMessage(message, new EMCallBack());
CMD消息广播监听
// 注册一个cmd消息的BroadcastReceiverIntentFilter cmdIntentFilter = new IntentFilter(EMChatManager.getInstance().getCmdMessageBroadcastAction());mContext.registerReceiver(cmdMessageReceiver, cmdIntentFilter); /** * cmd消息BroadcastReceiver */private BroadcastReceiver cmdMessageReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {//获取cmd message对象String msgId = intent.getStringExtra("msgid");EMMessage message = intent.getParcelableExtra("message");//获取消息bodyCmdMessageBody cmdMsgBody = (CmdMessageBody) message.getBody();String aciton = cmdMsgBody.action;//获取自定义action//获取扩展属性String attr=message.getStringAttribute("a");}};
/** * * 透传消息能做什么:头像,昵称的更新等,就是不通知手机端,收到消息可以自定义处理的一种消息。 * */private BroadcastReceiver cmdMessageReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {abortBroadcast();LogUtil.d(TAG, "收到透传消息"); // 获取cmd message对象 String msgId = intent.getStringExtra("msgid"); EMMessage message = intent.getParcelableExtra("message");CmdMessageBody cmdMessageBody = (CmdMessageBody) message.getBody();String action = cmdMessageBody.action;Toast.makeText(MainActivity.this, "收到透传:action" + action, 0).show();}};
代码注册:
// 注册一个透传消息的BroadcastReceiver IntentFilter cmdMessageIntentFilter = new IntentFilter(EMChatManager .getInstance().getCmdMessageBroadcastAction()); cmdMessageIntentFilter.setPriority(3); registerReceiver(cmdMessageReceiver, cmdMessageIntentFilter);
这里提到的:
EMMessage message = intent.getParcelableExtra("message");
这种获取数据的方式,下一篇讲解。
0 0
- 69MainActivity的透传消息
- 68MainActivity的消息回执
- MainActivity
- mainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- android ndk c++ 调用 JAVA程序
- 查找主ip地址
- java注解Annotation,的基本作用和用法的简明介绍
- python中半角与全角互相转换
- 搜索引擎的技术架构
- 69MainActivity的透传消息
- MFC Activex与JavaScript的接口交互
- 打印一串数字
- (精)前后端分离的思考与实践(二)
- SSH三大框架的工作原理及流程
- Android 广播大全 Intent Action 事件
- JS弹出窗口窗口的位置和大小
- IOS MD5加密
- LeetCode | Add Two Numbers