Java

Eine Nachricht senden

Zeit, die erste Nachricht zu senden.

Um eine Nachricht zu senden, registrieren Sie einen Rückruf in onCreate Methode:

findViewById(R.id.sendMessageButton).setOnClickListener(it -> sendMessage());

hinzufügen sendMessage innere Methode MainActivity:

private  void sendMessage() {
    String message = messageEditText.getText().toString();

    if (message.trim().isEmpty()) {
        Toast.makeText(this, "Message is blank", Toast.LENGTH_SHORT).show();
        return;
    }

    messageEditText.setText("");
    hideKeyboard();

    conversation.sendMessage(NexmoMessage.fromText(message), new NexmoRequestListener<Void>() {
        @Override
        public void onError(@NonNull NexmoApiError apiError) {
            Toast.makeText(MainActivity.this, "Error sending message", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onSuccess(@Nullable Void aVoid) {

        }
    });
}

Die obige Methode blendet die Tastatur aus, löscht das Textfeld und sendet die Nachricht.

Jetzt im MainActivity fügen Sie die fehlende hideKeyboard Methode - die Utility-Methode, die die Android-Systemtastatur ausblendet:

private void hideKeyboard() {
    InputMethodManager inputMethodManager = ContextCompat.getSystemService(this, InputMethodManager.class);

    View view = getCurrentFocus();

    if (view == null) {
        view = new View(this);
    }

    inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

Sie werden feststellen, dass die Nachricht zwar gesendet wurde, aber nicht in der Unterhaltung enthalten ist. Das wollen wir im nächsten Schritt nachholen.