如何在应用中处理收到的后台通知4.X

在应用进程中处理收到的后台通知:

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事件。