如何从其他应用程序打开WhatsApp并与特定联系人聊天?

5

我阅读了如何从我的应用程序中打开WhatsApp的方法,这是从问题如何从其他应用程序打开WhatsApp中解释的 - 但它并没有解释如何与特定联系人打开聊天。是否有任何方法可以打开与特定联系人的聊天?


2个回答

6

你可以通过指定联系人来打开 WhatsApp,但该联系人必须拥有 WhatsApp 帐户。

private void openWhatsApp() {
    String smsNumber = "91xxxxxxxxxx"; //without '+'
    try {
        Intent sendIntent = new Intent("android.intent.action.MAIN");
        sendIntent.setAction(Intent.ACTION_SEND);
        sendIntent.setType("text/plain");
        sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
        sendIntent.putExtra("jid", smsNumber + "@s.whatsapp.net");
        sendIntent.setPackage("com.whatsapp");
        startActivity(sendIntent);
    } catch(Exception e) {
        Toast.makeText(this, "Error\n" + e.toString(), Toast.LENGTH_SHORT).show();
    }
}

以上代码的常见错误:

  1. ACTION_SEND应该是ACTION_SENDTO
  2. 联系电话非常重要,它应该根据国家有"91"或任何其他代码。
  3. 号码之前不应使用任何特殊字符,如+。

打开特定联系人并附带空白消息。 - Abhi

3
private void sendMsg(){
  String msgurl = "https://api.whatsapp.com/send?phone=+9199999999&text=Hello";
  Intent i = new Intent(Intent.ACTION_VIEW);
  i.setData(Uri.parse(msgurl));
  startActivity(i);
  }

我自己也在寻找这个答案,Swift版本是"whatsapp://send?phone=24990.....&abid=12354&text=Hello" - mazenqp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接