Sending message through WhatsApp By intent

Abdullah AlHazmy picture Abdullah AlHazmy · Jul 21, 2013 · Viewed 26.5k times · Source

How I can send massage from my app to Special number in whatsapp , I know this code to share massage to group or contact on whatsapp

Intent waIntent = new Intent(Intent.ACTION_SEND);
waIntent.setType("text/plain");
String text = "Sorry For Interruption,I'm Just Trying Something";
waIntent.setPackage("com.whatsapp");

if (waIntent != null) {
    waIntent.putExtra(Intent.EXTRA_TEXT, text);//
    startActivity(Intent.createChooser(waIntent,"Share with"));

but I want send massage to Special number like "966xxxxxxx" how I can do that ?

Answer

Abdullah AlHazmy picture Abdullah AlHazmy · Jul 23, 2013

this is a Solution :

private void openWhatsApp(String id) {

Cursor c = getSherlockActivity().getContentResolver()
            .query(ContactsContract.Data.CONTENT_URI,
                  new String[] { ContactsContract.Contacts.Data._ID },  
                  ContactsContract.Data.DATA1 + "=?",
                  new String[] { id }, 
                  null);

c.moveToFirst();
Intent i = new Intent(Intent.ACTION_VIEW, 
              Uri.parse(
                   "content://com.android.contacts/data/" +           
                    c.getString(0)));

startActivity(i);
c.close();
}

Where id is what's app uri like [email protected]