我在Android应用中尝试了以下代码来实现Whatsapp的意图。我能够成功发送消息。但是,如果提供的号码不在用户的联系人列表中,则用户将无法将消息发送到该特定号码,而是WhatsApp显示所有联系人的列表。
private void openWhatsApp() {
String smsNumber = "91***********"; // E164 format without '+' sign
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, "My customized message.");
sendIntent.putExtra("jid", smsNumber + "@s.whatsapp.net"); //phone number without "+" prefix
sendIntent.setPackage("com.whatsapp");
if (intent.resolveActivity(getActivity().getPackageManager()) == null) {
Toast.makeText(this, "Error/n" + e.toString(), Toast.LENGTH_SHORT).show();
return;
}
startActivity(sendIntent);
}
如果该号码未保存在联系人列表中,则会收到以下消息。
该号码已在WhatsApp上注册为企业帐户。我尝试使用的非企业帐户也发生了同样的情况。