Skip to main content

Documentation Index

Fetch the complete documentation index at: https://cometchat-22654f5b-docs-android-v6-beta2.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

// Add login listener
CometChat.addLoginListener("LISTENER_ID", object : LoginListener() {
    override fun loginSuccess(user: User) { /* Login successful */ }
    override fun loginFailure(e: CometChatException) { /* Login failed */ }
    override fun logoutSuccess() { /* Logout successful */ }
    override fun logoutFailure(e: CometChatException) { /* Logout failed */ }
})

// Remove listener
CometChat.removeLoginListener("LISTENER_ID")
This page covers Android-specific lifecycle patterns for LoginListener. For the basic add/remove API, see Authentication.

Android Activity/Fragment Example

Register the listener in onCreate() and remove it in onDestroy() to follow the Android lifecycle. Callbacks provide User objects on success and CometChatException on failure:
public class MainActivity extends AppCompatActivity {

    private static final String LISTENER_ID = "LOGIN_LISTENER";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        CometChat.addLoginListener(LISTENER_ID, new CometChat.LoginListener() {
            @Override
            public void loginSuccess(User user) {
                Log.d("LoginListener", "loginSuccess: " + user.getName());
                // Initialize user-specific data, navigate to main screen, etc.
            }

            @Override
            public void loginFailure(CometChatException e) {
                Log.d("LoginListener", "loginFailure: " + e.getMessage());
            }

            @Override
            public void logoutSuccess() {
                Log.d("LoginListener", "logoutSuccess");
                // Clean up resources, navigate to login screen, etc.
            }

            @Override
            public void logoutFailure(CometChatException e) {
                Log.d("LoginListener", "logoutFailure: " + e.getMessage());
            }
        });
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        CometChat.removeLoginListener(LISTENER_ID);
    }
}
Always remove login 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.

Next Steps

Authentication

Login methods, Auth Key vs Auth Token, and logout

Real-Time Listeners

Register listeners for messages, users, groups, and calls

Connection Status

Monitor connection status to CometChat servers

Setup SDK

Initialize the SDK before logging in users