Kotlin

Empfangen neuer Nachrichten

Sie können eingehende Nachrichten anzeigen, indem Sie den Conversation Listener implementieren.

Suchen Sie nun die getConversation Methode und fügen Sie addMessageEventListener anrufen:

private fun getConversation() {
    client.getConversation(CONVERSATION_ID, object : NexmoRequestListener<NexmoConversation?> {
        override fun onSuccess(conversation: NexmoConversation?) {
            this@MainActivity.conversation = conversation

            conversation?.let {
                getConversationEvents(it)
                it.addMessageEventListener(object : NexmoMessageEventListener {
                    override fun onMessageEvent(messageEvent: NexmoMessageEvent) {
                        conversationEvents.add(messageEvent)
                        updateConversationView()
                    }

                    override fun onTextEvent(textEvent: NexmoTextEvent) {}
                    override fun onAttachmentEvent(attachmentEvent: NexmoAttachmentEvent) {}
                    override fun onEventDeleted(deletedEvent: NexmoDeletedEvent) {}
                    override fun onSeenReceipt(seenEvent: NexmoSeenEvent) {}
                    override fun onDeliveredReceipt(deliveredEvent: NexmoDeliveredEvent) {}
                    override fun onTypingEvent(typingEvent: NexmoTypingEvent) {}
                })
            }
        }

        override fun onError(apiError: NexmoApiError) {
            conversation = null
            Toast.makeText(this@MainActivity, "Error: Unable to load conversation", Toast.LENGTH_SHORT)
        }
    })
}

Jetzt wird jedes Mal, wenn eine neue Nachricht eingeht onMessageEvent(messageEvent: NexmoMessageEvent) Listener aufgerufen wird, wird die neue Nachricht an updateConversation und an die Ansicht über die Methode conversationEvents LiveData (dieselbe LiveData verwendet, um alle Nachrichten nach dem Laden von Konversationsereignissen zu versenden).

Ausführen der App

Sie können die App entweder auf dem physischen Telefon starten (mit USB-Debugging aktiviert) oder erstellen Sie eine neue Virtuelles Android-Gerät. Wenn das Gerät vorhanden ist, drücken Sie Run Taste: