TAGS :Viewed: 14 - Published at: a few seconds ago

[ Text not passing to Whatsapp application using Intent ]

I am trying to launch whatsapp app from my app and passing some text to a particular number. Whatsapp App is launching and but text is not able to pass.

String smsNumber = "98*******3";
Uri uri = Uri.parse("smsto:" + smsNumber);
Intent i = new Intent(Intent.ACTION_SENDTO, uri);
i.putExtra(Intent.EXTRA_TEXT, textWithClickableLink);
i.setPackage("com.whatsapp");
mContext.startActivity(i);

Is there anything missing in my code? Please help me on this.

Thanks in advance!

Answer 1


Try this one:

Uri uri = Uri.parse("smsto:" + mobileno);
Intent whatsappIntent = new Intent(Intent.ACTION_SENDTO, uri);
whatsappIntent.setPackage("com.whatsapp");

String str = "https://play.google.com/store/apps/details?id=com.example.activity&hl=en";
whatsappIntent.putExtra("sms_body", str);
      try {
          activity.startActivity(whatsappIntent);
          } catch (android.content.ActivityNotFoundException ex) {
                // Whatsapp have not been installed
         }

Answer 2


you can try this method, it should work. I have tested

private void shareWhatsApp() {
      Intent shareIntent = new Intent(Intent.ACTION_SEND);
      shareIntent.putExtra(Intent.EXTRA_TEXT, "text to share");
      //if you have any images to share sue this, uri is the uri of image
      //shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
      //shareIntent.setType("image/*"); for image sharing
      shareIntent.setType("text/plain");
      shareIntent.setPackage("com.whatsapp");
      startActivity(shareIntent);
   }

This will launch WhatsApp application and you have to manually select the contacts and send. since they dont provide any SDK we cant send automatically.

Answer 3


I tried this code. It makes my app to open list of all app by which I can send messages. After selecting any app now I am able to send the message that I am attaching with intent.

Intent intent = new Intent(Intent.ACTION_SEND);
                    intent.setType("text/plain");
                    intent.putExtra(Intent.EXTRA_SUBJECT, "From Stockal App");
                    intent.putExtra(Intent.EXTRA_TEXT, text);
                    mContext.startActivity(intent);

Thank you all for your response.