How to send message on WhatsApp in Android - GeeksforGeeks

10 Jul, 2020
Whatsapp is the one of most popular messaging App. Many android applications need the functionality to share some messages directly from their app to WhatsApp. For example, if a user wants to share the app or share a message from the app then this functionality comes in use. Either user can send a text or a predefined text can also be sent through this. This article demonstrates how an android application can send messages on WhatsApp. Whatsapp must be installed on the user’s device.
Approach
Step 1:Open the activity_main.xml file and add the layout code. A message input container as EditText and a Button to send this message is added.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity"    android:orientation="vertical">     <!-- EditText to take message input from user-->   <EditText       android:id="@+id/message"       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_margin="16dp"       android:hint="Enter you message here"       android:lines="8"       android:inputType="textMultiLine"       android:gravity="left|top"       />     <!-- Button to send message on Whatsapp-->   <Button       android:id="@+id/submit"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_gravity="center_horizontal"       android:text="Submit"       android:background="@color/colorPrimary"       android:textColor="@android:color/white"/>  </LinearLayout>
Step 2: Take the reference of EditText and Button in Java file. References are taken using the ids with the help of findViewById() method.
Taking reference to EditTextEditText messageEditText = findViewById(R.id.message);
EditText messageEditText = findViewById(R.id.message);
Taking reference to ButtonButton submit = findViewById(R.id.submit);
Button submit = findViewById(R.id.submit);
Step 3: Write function to send message to whatsapp. Create an intent with ACTION_SEND and specify the whatsapp package name to this so that it opens whatsapp directly.
com.whatsapp is the package name for official whatsapp application.
private void sendMessage(String message){      // Creating new intent    Intent intent        = new Intent(Intent.ACTION_SEND);      intent.setType("text/plain");    intent.setPackage("com.whatsapp");      // Give your message here    intent.putExtra(        Intent.EXTRA_TEXT,        message);      // Checking whether Whatsapp    // is installed or not    if (intent            .resolveActivity(                getPackageManager())        == null) {        Toast.makeText(                 this,                 "Please install whatsapp first.",                 Toast.LENGTH_SHORT)            .show();        return;    }      // Starting Whatsapp    startActivity(intent);}
Step 4: Set onClickListener to the button. It takes the text entered by the user and calls the function sendMessage in which the text message is sent as a parameter.
submit.setOnClickListener(    new View.OnClickListener() {        @Override        public void onClick(View view)        {              // Getting the text            // from edit text            String message                = messageEditText                      .getText()                      .toString();              // Calling the function            // to send message            sendMessage(message);        }    });
Below is the complete MainActivity.java file:
MainActivity.java
package com.gfg;  import androidx.appcompat    .app.AppCompatActivity;  import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;  public class MainActivity    extends AppCompatActivity {      @Override    protected void onCreate(        Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);          // Taking reference of Edit Text        final EditText messageEditText            = findViewById(R.id.message);          // Taking reference to button        Button submit            = findViewById(R.id.submit);          submit.setOnClickListener(            new View.OnClickListener() {                @Override                public void onClick(View view)                {                      // Getting the text                    // from edit text                    String message                        = messageEditText                              .getText()                              .toString();                      // Calling the function                    // to send message                    sendMessage(message);                }            });    }      private void sendMessage(String message)    {          // Creating new intent        Intent intent            = new Intent(                Intent.ACTION_SEND);          intent.setType("text/plain");        intent.setPackage("com.whatsapp");          // Give your message here        intent.putExtra(            Intent.EXTRA_TEXT,            message);          // Checking whether Whatsapp        // is installed or not        if (intent                .resolveActivity(                    getPackageManager())            == null) {            Toast.makeText(                     this,                     "Please install whatsapp first.",                     Toast.LENGTH_SHORT)                .show();            return;        }          // Starting Whatsapp        startActivity(intent);    }}
Output:
android
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Object Oriented Programming (OOPs) Concept in Java
HashMap in Java with Examples
How to iterate any Map in Java
Initialize an ArrayList in Java
Interfaces in Java
ArrayList in Java
Multidimensional Arrays in Java
Stack Class in Java
Singleton Class in Java
LinkedList in Java