如何自定义通知栏的显示?

收到消息通知时,想自定义通知栏的显示形式。
发布时间: 2015-08-12 12:08

回答:

2.6.0 之后的版本,自定义通知请参考文档:http://www.rongcloud.cn/docs/android_push.html#常见问题   


2.6.0 之前的版本,请参考下文:


首先,需要了解的是通知栏包括两种类型的通知,分别是推送消息的通知和后台消息的通知(推送通知,是指某个账户和融云disconnect()之后,另一个账号给它发消息时收到的通知; 后台通知则是指按home键退到手机后台后收到的消息通知)。所以在自定义通知栏的时候,需要对这两种通知分别处理。


一   Push消息的通知自定义:

首先在app里面设置RongIM.getInstance().setOnReceivePushMessageListener(); 

然后在onReceivePushMessage()里面return true;

      这里需要注意的是:setOnReceivePushMessageListener必须保证在application onCreate()的时候能调用到。


二  后台消息的通知自定义:

connect成功之后,设置RongIM.getInstance().getRongIMClient().setOnReceiveMessageListener(); 

然后在onReceived(Message message, int left)里返回true.


三  经过以上两个步骤后,来消息的时候就不会走到融云的通知显示部分了。后面你需要做的就是在这两个回调里面,根据自身需求,自定义自己的消息显示了。(注意: 在OnReceiveMessageListener的 onReceived()里,需要根据你需要弹通知的场景,加上条件判断,再弹出你的自定义通知。比如你只是想在应用退到后台的时候,弹后台消息通知,就需要判断你的应用是否在后台,只有在后台的时候才sendNotification. )


我对此仍有疑问!继续追问