因为我发现了一些更老的帖子,告诉whatsapp不支持这一点,我想知道是不是有什么改变了,是否有办法打开一个whatsapp‘聊天’,我通过意向发送一个号码?
发布于 2014-04-18 23:16:23
使用此代码,您可以打开具有给定号码的whatsapp聊天。
void openWhatsappContact(String number) {
Uri uri = Uri.parse("smsto:" + number);
Intent i = new Intent(Intent.ACTION_SENDTO, uri);
i.setPackage("com.whatsapp");
startActivity(Intent.createChooser(i, ""));
}
发布于 2013-07-30 08:24:40
我找到了以下解决方案,首先您需要whatsapp id:
与这里和其他论坛中一些其他帖子的报告相匹配,我找到的登录名是某种形式的:国际区号,开头不带0或+,电话号码不带前0+ @s.whatsapp.net
例如,如果您住在荷兰,电话号码为0612325032,则荷兰的电话号码为31612325023@s.whatsapp.net -> +31,不带0或+,电话号码不带0。
public void sendWhatsAppMessageTo(String whatsappid) {
Cursor c = getSherlockActivity().getContentResolver().query(ContactsContract.Data.CONTENT_URI,
new String[] { ContactsContract.Contacts.Data._ID }, ContactsContract.Data.DATA1 + "=?",
new String[] { whatsappid }, null);
c.moveToFirst();
Intent whatsapp = new Intent(Intent.ACTION_VIEW, Uri.parse("content://com.android.contacts/data/" + c.getString(0)));
c.close();
if (whatsapp != null) {
startActivity(whatsapp);
} else {
Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT)
.show();
//download for example after dialog
Uri uri = Uri.parse("market://details?id=com.whatsapp");
Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
}
}
发布于 2017-09-30 13:02:51
简单的解决方案,试试这个。
String phoneNumberWithCountryCode = "+62820000000";
String message = "Hallo";
startActivity(
new Intent(Intent.ACTION_VIEW,
Uri.parse(
String.format("https://api.whatsapp.com/send?phone=%s&text=%s", phoneNumberWithCountryCode, message)
)
)
);
https://stackoverflow.com/questions/15462874
复制相似问题