- Android
- iOS
- JavaScript
- Flutter
- ReactNative
- HarmonyOS
Only messages sent by the current user can be recalled. After a successful recall, other users in the conversation receive the onMessageRecall callback (requires a message listener).
Parameters
| Name | Type | Description | Version |
|---|---|---|---|
| messageId | String | Message ID | 1.0.0 |
| extras | Map<String, String> | Extension information | 1.0.0 |
| callback | IRecallMessageCallback | Callback | 1.0.0 |
Code Example
Map<String, String> extras = new HashMap<>();
extras.put("key1", "value1");
JIM.getInstance().getMessageManager().recallMessage("messageId1", extras, new IMessageManager.IRecallMessageCallback() {
@Override
public void onSuccess(Message message) {
}
@Override
public void onError(int errorCode) {
}
});
Only messages sent by the current user can be recalled. After a successful recall, other users in the conversation receive the messageDidRecall: callback (requires a message listener).
Parameters
| Name | Type | Description | Version |
|---|---|---|---|
| messageId | NSString | Message ID | 1.0.0 |
| extras | NSDictionary <NSString *, NSString *> | Extension information. Both key and value must be NSString. | 1.0.0 |
| successBlock | Success callback | 1.0.0 | |
| errorBlock | Failure callback | 1.0.0 |
Code Example
NSMutableDictionary *extras = [NSMutableDictionary dictionary];
[extras setObject:@"value1" forKey:@"key1"];
[JIM.shared.messageManager recallMessage:@"messageId1" extras:extras success:^(JMessage *message) {
} error:^(JErrorCode errorCode) {
}];
Only messages sent by the current user can be recalled; group administrators can recall all group messages. When A recalls a message sent to B, A's other devices and B receive a notification message after the recall succeeds.
Parameters
| Name | Type | Required | Description | Version |
|---|---|---|---|---|
| message | Object | Yes | Message object. It can be obtained from message history. | 1.0.0 |
| message.conversationType | Number | Yes | Conversation type | 1.0.0 |
| message.conversationId | String | Yes | Conversation ID. For PRIVATE conversations, it is the recipient userId; for GROUP conversations, it is the group ID. | 1.0.0 |
| message.messageId | String | Yes | ID of the message to recall | 1.0.0 |
| message.sentTime | Number | Yes | Send time of the message to recall | 1.0.0 |
| message.exts | Object | No | Extension information for the recalled message | 1.7.0 |
Success Callback
No parameters are returned. The callback indicates success when invoked.
Failure Callback
| Name | Type | Description | Version |
|---|---|---|---|
| error | Object | A status code is provided when sending fails. Check error.msg directly or see status codes. | 1.0.0 |
Code Example
let { ConversationType } = JIM;
// In a production project, pass the message object returned by the SDK directly to recallMessage
let message = {
conversationType: ConversationType.PRIVATE,
conversationId: 'userid01',
messageId: 'xxxdkadhdsa',
sentTime: 1702180128970,
exts: {
name: 'xiaoshan',
custom1: 'HaHa',
//... more custom properties
}
};
jim.recallMessage(message).then((result) => {
console.log('recall message successfully');
}, (error) => {
console.log(error);
});
Only messages sent by the current user can be recalled. After a successful recall, other users in the conversation receive the onMessageRecall callback (requires a message listener).
Parameters
| Name | Type | Description | Version |
|---|---|---|---|
| conver | Conversation | Containing conversation | 1.0.0 |
| msgId | string | Message ID | 1.0.0 |
| extras | Map<string, string> | Extension information | 1.0.0 |
| callback | IRecallMessageCallback | Callback | 1.0.0 |
Code Example
let conver = new Conversation("userid1",1)
let extras:HashMap<string,string> = new HashMap()
extras.set("key1","value1")
JuggleIm.instance.getMessageManager().recallMessage(conver,"messageid",extras,(code,msg)=>{
})
Only messages sent by the current user can be recalled; group administrators can recall all group messages. When A recalls a message sent to B, A's other devices and B receive a notification message after the recall succeeds.
Parameters
| Name | Type | Description | Version |
|---|---|---|---|
| messageId | String | ID of the message to recall | 1.0.0 |
| extras | Object | Extension information | 1.0.0 |
Code Example
import JuggleIM from 'juggleim-rnsdk';
const messageId = 'messageId1';
const extras = {
key1: 'value1'
};
const success = await JuggleIM.recallMessage(messageId, extras);
console.log('recallMessage success:', success);