融云java后台发送消息_融云 IMkit 拦截或监听所有发送消息

融云 IMkit 拦截或监听所有发送消息

最近集成融云 IMkit 的 SDK, 有一个需求是要监听所有发出去的消息, 根据消息类型拦截或者进行修改.

在官方文档上着了一遍, 都没有找到, 偶然在看 API 文档的时候看见了一个监听然后做了尝试, 是可以满足需求的, 所以再次记录一下.

具体的方法是 RongIM 类下的  setSendMessageListener 方法.

代码如下.

/**

* 设置发送消息的监听。

*

* @param listener 发送消息的监听。

*/

RongIM.setSendMessageListener(new OnSendMessageListener() {

@Override

public Message onSend(Message message) {

// 发送消息之前会走此方法. message 为要发送的消息,

// 如果返回 null 的话, 就不会发送此消息了.

return message;

}

@Override

public boolean onSent(Message message, SentMessageErrorCode sentMessageErrorCode) {

发送成功之后会走方法. 返回 true , 就会走 SDK 的后续逻辑. 返回 false 就拦截了.         return true;

}

}).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,我无法提供完整的代码,但是我可以为您提供一些有用的资源和指导: 1. 首先,您需要在融云官网注册账号并创建应用。在创建应用后,您需要获取应用的 App Key 和 App Secret,在后续的代码中会用到。 2. 接下来,您需要在您的 Android 项目中添加融云 SDK 的依赖。可以在项目的 build.gradle 文件中添加以下代码: ``` dependencies { implementation 'io.rong.imlib:rong-imlib:3.3.3' implementation 'io.rong.imlib:rong-imlib-websocket:3.3.3' implementation 'io.rong.imlib:rong-imlib-voice:3.3.3' implementation 'io.rong.imlib:rong-imlib-emoji:3.3.3' implementation 'io.rong:rc-voice-message:1.0.0-alpha3' implementation 'io.rong:rc-emoji:1.0.0-alpha3' implementation 'io.rong:rc-location:1.0.0-alpha3' } ``` 3. 在您的 Android 项目中添加融云 SDK 的配置。可以在 AndroidManifest.xml 文件中添加以下代码: ```xml <application> <meta-data android:name="RONG_CLOUD_APP_KEY" android:value="your_app_key" /> <meta-data android:name="RONG_CLOUD_APP_SECRET" android:value="your_app_secret" /> <activity android:name="io.rong.imkit.activity.RongConversationListActivity" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|screenSize" android:launchMode="singleTop"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="your_scheme" /> </intent-filter> </activity> <activity android:name="io.rong.imkit.activity.RongConversationActivity" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|screenSize" android:windowSoftInputMode="stateHidden" android:launchMode="singleTop" /> </application> ``` 其中,`your_app_key` 是您在融云官网注册应用后获取到的 App Key,`your_app_secret` 是您在融云官网注册应用后获取到的 App Secret,`your_scheme` 是您的 App 自定义的 scheme。 4. 在您的 Android 项目中实现在线交流功能。可以使用融云 SDK 提供的各种 API 实现在线交流,例如: ```java // 连接融云服务器 RongIMClient.connect("your_token", new RongIMClient.ConnectCallback() { @Override public void onSuccess(String s) { // 连接成功 } @Override public void onError(RongIMClient.ErrorCode errorCode) { // 连接失败 } @Override public void onTokenIncorrect() { // Token 错误 } }); // 发送文本消息 TextMessage textMessage = TextMessage.obtain("Hello, world!"); Message message = Message.obtain("target_id", Conversation.ConversationType.PRIVATE, textMessage); RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() { @Override public void onAttached(Message message) { // 消息发送前的回调 } @Override public void onSuccess(Message message) { // 消息发送成功的回调 } @Override public void onError(Message message, RongIMClient.ErrorCode errorCode) { // 消息发送失败的回调 } }); ``` 以上仅是一个简单的示例,您可以根据需求使用融云 SDK 提供的更多 API 实现更复杂的交流功能。 希望这些信息能帮到您!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值