How to send message on WhatsApp in Android
Last Updated : 12 Sep, 2023
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 EditText
EditText messageEditText = findViewById(R.id.message);
- Taking reference to Button
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.
Java 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.
Java 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: