IM 即时通讯 (438)
Android (207)
- 初始化&链接 (8)
- 事件&监听处理 (7)
- 用户信息 (13)
- 会话列表 (15)
- 聊天会话 (26)
- 消息处理 (35)
- 自定义消息 (6)
- 音视频 (2)
- 推送&通知 (33)
- 扩展功能 (4)
- 第三方地图 (3)
- 依赖&配置 (9)
- 升级说明 (3)
- 其他 (43)
iOS (166)
- SDK 导入 (8)
- 连接 (8)
- 事件处理 (2)
- 用户信息 (3)
- 会话列表 (14)
- 聊天会话 (44)
- 消息处理 (25)
- 自定义消息 (8)
- 推送&通知 (19)
- 扩展功能 (5)
- 国际化 (3)
- 音视频 (4)
- 其他 (23)
Web (36)
Server (29)
如何在应用中处理收到的后台通知
此时应用主进程存活,收到后台通知。
发布时间: 2018-04-13 16:06
回答:
在应用进程中处理收到的后台通知:
1.首先收到消息后会透传给用户处理,在需要收到消息的组件中调用下面方法来注册监听。
RongIM.setOnReceiveMessageListener(RongIMClient.OnReceiveMessageListener listener);
这样在收到消息后,会先调用中用户设置的 OnReceiveMessageListener来处理,在其中onReceived方法,如果用户处理完毕消息则返回true,表示消费掉该消息并终止处理,否则返回false表示需要sdk继续处理。
2.根据具体情况,如果用户需要拦截消息,则调用RongIM中用户设置的MessageInterceptor 来拦截处理,如果拦截后处理完毕则返回true,继续传递则返回false。
RongIM.setMessageInterceptor(MessageInterceptor messageInterceptor);
3.如果需要在会话界面接收消息处理,可以监听EventBus的onReceiveMessageEvent事件。因为sdk在收到消息后,经过1,2两个步骤的处理,如果传递到第3步,则会通过EventBus.post(onReceiveMessageEvent)发送一个onReceiveMessageEvent事件。