android融云监听消息,关于android:融云-IMkit-拦截或监听所有发送消息

本文档介绍了如何使用融云IMkit的setSendMessageListener方法来监听并拦截发送的消息。通过实现OnSendMessageListener接口,可以在消息发送前进行处理,如阻止或修改消息内容。当返回null时,消息不会被发送;返回true则允许SDK继续执行后续逻辑。
摘要由CSDN通过智能技术生成

融云 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;

}

}).

抱歉,我无法提供完整的代码,但是我可以为您提供一些有用的资源和指导: 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、付费专栏及课程。

余额充值