我搜索了各种答案,但所有答案都已过时了。 每当我尝试使用发送时,只打开联系人选择器。
答案 0 :(得分:4)
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 :(得分: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);
答案 2 :(得分: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上有可用号码,那么该特定用户聊天打开并发送您的消息。如果whatsapp上没有号码,那么就会打开警报。
希望这能帮到你; - )
答案 3 :(得分: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中的聊天。
希望它对你有用。 :)