0

I want to send a message using whatsapp only to a particular contact without the user having to select it from his contact list. I am using the below code to fire an intent

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.setPackage("com.whatsapp");
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);

But this opens the whatsapp contact screen from which the user has to select the contact name.

Android Geek
  • 598
  • 1
  • 5
  • 20
Ayaanp
  • 327
  • 1
  • 12

1 Answers1

1

Try the below code.

try {
   String num= "+918888888888"; // contains spaces.
            num= num.replace("+", "").replace(" ", "");

            Intent sendIntent = new Intent("android.intent.action.MAIN");
            sendIntent.putExtra("jid", num+ "@s.whatsapp.net");
            sendIntent.putExtra(Intent.EXTRA_TEXT, "Test");
            sendIntent.setAction(Intent.ACTION_SEND);
            sendIntent.setPackage("com.whatsapp");
            sendIntent.setType("text/plain");
            startActivity(sendIntent);
} catch (Exception e) {
   app.showSnackBar(parentView, "Whatsapp have not been installed.");
}
Mickael Maison
  • 25,067
  • 7
  • 71
  • 68