Я искал различные ответы, но все они устарели. Всякий раз, когда я пробовал использовать отправку, он только открывает переключатель выбора.Как отправить сообщение конкретному контакту whatsapp программно, используя намерение?
0
A
ответ
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.
Надеюсь, что это сработает для вас. :)
Добро пожаловать в SO. Пожалуйста, посмотрите на [how-to-ask] (http://stackoverflow.com/help/how-to -ask) – swe