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 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.
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: