Delete a message for everyone
The Nexconn SDK supports deleting a sent message for everyone. After deletion, the message is marked as deleted for all participants.
tip
- Use
deleteMessageForAll()to delete a message for everyone. - Only successfully sent messages can be deleted.
- Set your own time limit (e.g., within 2 minutes).
Listen for message deletion events
Use MessageHandler to listen for message deletion events.
- Kotlin
- Java
kotlin
NCEngine.addMessageHandler("myHandler", object : MessageHandler {
override fun onMessageDeleted(event: MessageDeletedEvent) {
event.messages.forEach { message ->
Log.d("Recall", "Message ${message.messageId} was recalled")
}
}
})
Java
NCEngine.addMessageHandler("myHandler", new MessageHandler() {
@Override
public void onMessageDeleted(MessageDeletedEvent event) {
for (Message message : event.getMessages()) {
Log.d("Recall", "Message " + message.getMessageId() + " was recalled");
}
}
});
Delete a message
Use deleteMessageForAll() to delete a message for everyone. Pass the Message object directly.
- Kotlin
- Java
kotlin
val channel = DirectChannel("userId")
// Basic recall
channel.deleteMessageForAll(message) { updatedMessage, error ->
if (error == null) {
Log.d("Recall", "Message recalled")
}
}
Java
DirectChannel channel = new DirectChannel("userId");
channel.deleteMessageForAll(message, (updatedMessage, error) -> {
if (error == null) {
Log.d("Recall", "Message recalled");
}
});
Parameters
deleteMessageForAll
| Parameter | Type | Description |
|---|---|---|
message | Message | The message to delete. |
handler | OperationHandler<Message?> | Callback returning the updated message on success. |
Important notes
- Deletion affects all participants' message history.
- Implement your own time limit (e.g., 2 minutes).
- Use
isAdminto allow admins to delete other users' messages. - Recipients receive the
onMessageDeletedcallback on deletion.