> ## Documentation Index
> Fetch the complete documentation index at: https://cometchat-22654f5b-docs-rn-guide-message-privately.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Leave Group

> Leave CometChat groups with the Android SDK to stop receiving group messages and update group membership state.

<Accordion title="AI Integration Quick Reference">
  ```kotlin theme={null}
  // Leave a group
  CometChat.leaveGroup("GUID", object : CometChat.CallbackListener<String>() {
      override fun onSuccess(message: String) { }
      override fun onError(e: CometChatException) { }
  })

  // Listen for member left events
  CometChat.addGroupListener("LISTENER_ID", object : GroupListener() {
      override fun onGroupMemberLeft(action: Action?, leftUser: User?, leftGroup: Group?) { }
  })
  ```
</Accordion>

## Leave a Group

Use `leaveGroup()` to stop receiving updates and messages for a group.

<Tabs>
  <Tab title="Java">
    ```java theme={null}
    private String GUID = "GUID";

    CometChat.leaveGroup(GUID, new CometChat.CallbackListener<String>() {
      @Override
      public void onSuccess(String successMessage) {
        Log.d(TAG, successMessage);
      }

      @Override
      public void onError(CometChatException e) {
        Log.d(TAG, "Group leaving failed with exception: " + e.getMessage());
      }
    });
    ```
  </Tab>

  <Tab title="Kotlin">
    ```kotlin theme={null}
    val GUID:String="GUID"

    CometChat.leaveGroup(GUID,object :CometChat.CallbackListener<String>(){
      override fun onSuccess(p0: String?) {
        Log.d(TAG, "Group left successfully")
      }

      override fun onError(p0: CometChatException?) {
        Log.d(TAG, "Group leaving failed with exception: " + p0?.message)
      }
    })
    ```
  </Tab>
</Tabs>

| Parameter | Description                                   |
| --------- | --------------------------------------------- |
| `GUID`    | The GUID of the group you would like to leave |

Once a group is left, the user will no longer receive any updates or messages pertaining to the group.

## Real-Time Group Member Left Events

When a user leaves a group, members receive a real-time event in `onGroupMemberLeft()` of the `GroupListener` class. The callback provides an [`Action`](/sdk/reference/messages#action) object, the left [`User`](/sdk/reference/entities#user), and the [`Group`](/sdk/reference/entities#group).

<Tabs>
  <Tab title="Java">
    ```java theme={null}
    CometChat.addGroupListener(UNIQUE_LISTENER_ID, new CometChat.GroupListener() {
      @Override
      public void onGroupMemberLeft(Action action, User leftUser, Group leftGroup) {
        Log.d(TAG, "User left");
      }
    });
    ```
  </Tab>

  <Tab title="Kotlin">
    ```kotlin theme={null}
    CometChat.addGroupListener(UNIQUE_LISTENER_ID, object : GroupListener() {
      override fun onGroupMemberLeft(action: Action?, leftUser: User?, leftGroup: Group?) {
        Log.d(TAG, "User left")
      }
    })
    ```
  </Tab>
</Tabs>

## Missed Group Member Left Events

When fetching message history, if a member left a group the logged-in user is part of, the list will contain an [`Action`](/sdk/reference/messages#action) message with these fields:

1. `action` - `left`
2. `actionBy` - [`User`](/sdk/reference/entities#user) object containing the details of the user who left the group
3. `actionFor` - [`Group`](/sdk/reference/entities#group) object containing the details of the group the user has left

<Warning>
  Always remove group listeners when they're no longer needed (e.g., in `onDestroy()` or when navigating away). Failing to remove listeners can cause memory leaks and duplicate event handling.
</Warning>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Join Group" icon="user-plus" href="/sdk/android/join-group">
    Rejoin groups or join new ones
  </Card>

  <Card title="Delete Group" icon="trash" href="/sdk/android/delete-group">
    Permanently delete groups you own
  </Card>

  <Card title="Retrieve Groups" icon="list" href="/sdk/android/retrieve-groups">
    Fetch list of available groups
  </Card>

  <Card title="Group Listeners" icon="bell" href="/sdk/android/real-time-listeners">
    Handle real-time group events
  </Card>
</CardGroup>
