2016-11-23 6 views
0

Я искал различные ответы, но все они устарели. Всякий раз, когда я пробовал использовать отправку, он только открывает переключатель выбора.Как отправить сообщение конкретному контакту whatsapp программно, используя намерение?

+1

Добро пожаловать в SO. Пожалуйста, посмотрите на [how-to-ask] (http://stackoverflow.com/help/how-to -ask) – swe

ответ

2
 Intent sendIntent = new Intent("android.intent.action.MAIN"); 
    sendIntent.setComponent(new ComponentName("com.whatsapp","com.whatsapp.Conversation")); 
sendIntent.putExtra("jid",  PhoneNumberUtils.stripSeparators("YOUR_PHONE_NUMBER")+"@s.whatsapp.net");//phone number without "+" prefix 

startActivity(sendIntent); 
1

Вы должны установить имя пакета в Intent как этот

intent.setPackage("com.whatsapp");

Полный пример:

Uri uri = Uri.parse("smsto:" + smsNumber); 
Intent i = new Intent(Intent.ACTION_SENDTO, uri); 
i.putExtra("sms_body", smsText); 
i.setPackage("com.whatsapp"); 
startActivity(i); 
1

Вы просто огонь ниже намерения по щелчку на кнопке:

Uri mUri = Uri.parse("smsto:" + mobile1); 
Intent mIntent = new Intent(Intent.ACTION_SENDTO, mUri); 
     mIntent.setPackage("com.whatsapp"); 
     mIntent.putExtra("sms_body", "The text goes here"); 
     mIntent.putExtra("chat", true); 
     startActivity(Intent.createChooser(mIntent, "")); 

если число доступно на whatsapp, то этот конкретный пользователь cha t, и вы отправляете свое сообщение. Если в этом случае номер недоступен на whatsapp, откроется диалоговое окно предупреждения.

надеюсь, что это поможет вам ;-)

1

Вот решение

private void openWhatsApp(String number) { 
    String whatsAppMessage = "Hello!"; 
    Uri uri = Uri.parse("smsto:" + number); 
    Intent i = new Intent(Intent.ACTION_SENDTO, uri); 
    i.setPackage("com.whatsapp"); 
    startActivity(i); 
    } 

Вызов выше функции и передать номер, с помощью которого нуждой, чтобы открыть чат в WhatsApp Messenger.

Надеюсь, что это сработает для вас. :)

 Смежные вопросы

  • Нет связанных вопросов^_^