android融云自定义消息界面大小,融云自定义消息通知栏显示

融云自定义消息通知栏显示

第一步 首先要注册个自定义的广播,代码如下:

public classCharNotificationReceiverextendsPushMessageReceiver {

@Override

public booleanonNotificationMessageArrived(Context context,PushNotificationMessage message) {

return false;//返回false,会弹出融云SDK默认通知;返回true,融云SDK不会弹通知,通知需要由您自定义。

}

@Override

public booleanonNotificationMessageClicked(Context context,PushNotificationMessage message) {

return false;//返回false,会走融云SDK默认处理逻辑,即点击该通知会打开会话列表或会话界面;返回true,则由您自定义处理逻辑。

}

}

第二步 要在你的 AndroidManifest.xml文件中注册你刚刚创建的广播

android:exported="true">

经过以上的两步之后你成功了一半,但是你还是收不到消息的通知,这个问题也是困惑我了许久,最后发现我没有设置融云接受消息的监听

public class RongCloudEvent implements RongIMClient.OnReceiveMessageListener, RongIMClient.ConnectionStatusListener, RongIM.OnSendMessageListener {

private static RongCloudEvent mRongCloudInstance;

private final Context mContext;

//开始的时候是2000 改成1s了

long time = 1000*60*30;

static SplashActivity act;

AHandler.Task task;

@Override

public boolean onReceived(Message message, int i) {

Log.d("",message.toString());

//如果接受到了消息就需要把定时任务关闭

task.cancel();

return false;

}

/**

* 初始化 RongCloud.

*

* @param context 上下文。

*/

public static void init(Context context) {

if (mRongCloudInstance == null) {

synchronized (RongCloudEvent.class) {

if (mRongCloudInstance == null) {

mRongCloudInstance = new RongCloudEvent(context);

}

}

}

}

/**

* 构造方法。

*

* @param context 上下文。

*/

private RongCloudEvent(Context context) {

mContext = context;

initDefaultListener();

}

/**

* 获取RongCloud 实例。

*

* @return RongCloud。

*/

public static RongCloudEvent getInstance() {

return mRongCloudInstance;

}

/**

* RongIM.init(this) 后直接可注册的Listener。

*/

private void initDefaultListener() {

RongIM.getInstance().setOnReceiveMessageListener(this);//设置消息接收监听器

RongIM.getInstance().setSendMessageListener(this);

RongIM.setConnectionStatusListener(this);

}

@Override

public void onChanged(ConnectionStatus connectionStatus) {

}

@Override

public Message onSend(Message message) {

Log.d("",message.toString());

AHandler.runTask(task = new AHandler.Task() {

@Override

public void update() {

//关闭咨询的接口请求

}

}, time);

return null;

}

@Override

public boolean onSent(Message message, RongIM.SentMessageErrorCode sentMessageErrorCode) {

Log.d("",message.toString());

return false;

}

}

第四步 要在你的application中初始化下RongCloudEvent这个类 ,这样的话就可以监听到融云发过来的消息了

//初始化融云 和融云消息的监听器

RongIM.init(this);

RongCloudEvent.init(this);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值