Android - WhatsApp Group ID/打开群聊

标签 android whatsapp groupchat

经过长时间的谷歌搜索并没有带来我希望的结果,我有两个关于从另一个 Android 应用程序访问 WhatsApp 的问题。

首先我想说明一下我目前的发展状况:

编写了一个应用程序,您可以通过 WhatsApp 与它共享一些文本。该应用程序正在做它应该做的事情(因为我是 Android 开发的新手)。我发现的第一种方法在 WhatsApp 的“Android 开发人员常见问题解答”中有所描述。它创建一个新的 Intent ,预填充应该发送的文本并打开联系人选择器:

int pos = 0; //0 is just an example value
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
PushAlert pa = pushAlerts.get(pos); //get my text object from ArrayList
sendIntent.setPackage("com.whatsapp"); //directly choose WhatsApp as sharing app
sendIntent.putExtra(Intent.EXTRA_TEXT, "*" + pa.getTitle() + " * \n +" + pa.getContent()); //filling 
sendIntent.setType("text/plain");
startActivity(sendIntent); //Open contact picker

Google 搜索了又搜索,所以我找到了一种方法(代码 fragment )来打开特定的个人聊天并用我想分享的文本预先填充它:

private void openWhatsAppChat(){
  Intent sendIntent = new Intent("android.intent.action.SEND");
  sendIntent.setComponent(new ComponentName("com.whatsapp","com.whatsapp.ContactPicker"));
  sendIntent.setType("text");
  sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators("phone number")+"@s.whatsapp.net"); //number without '+' prefix and without '0' after country code
  sendIntent.putExtra(Intent.EXTRA_TEXT,"sample text you want to send along with the image");
  startActivity(sendIntent);
}

所以我的问题是:

  1. 如何获取 WhatsApp 群组的 WhatsApp ID?
  2. 我可以打开群聊并粘贴我的文本,只需将方法 2 中的电话号码替换为群 ID 即可吗?或者是否有其他方法可以打开和预填充群聊?

最佳答案

你必须使用群组链接。
当用户安装您的应用程序时,您应该要求他们从 whatsapp 群组信息中复制群组链接,然后将其存储起来以直接从您的应用程序访问该群组。
此链接仅对组管理员可见,因此如果用户不是管理员,您应该指示他们向管理员询问链接。
尽管此链接是 whatsapp 用于邀请群组的,但它可以打开所需的群组聊天。

Intent intentWhatsapp = new Intent(Intent.ACTION_VIEW);
String url = "https://chat.whatsapp.com/<group_link>";
intentWhatsapp.setData(Uri.parse(url));
intentWhatsapp.setPackage("com.whatsapp");
startActivity(intentWhatsapp);

关于Android - WhatsApp Group ID/打开群聊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42098286/

相关文章:

android - 黑白模式负片滤镜

whatsapp - 与 IP 地址分享 whatsapp 链接

ios - 使用预填的新电话号码在 iOS 上打开 whatsapp

android - 从组中获取加入的成员列表,xmpp;

xmpp - 使用(a)Smack在XMPP中创建类似WhatsApp,BBM的组

java - 无法通过 Intent 将自制的可序列化对象传递给另一个 Activity

安卓 JNI : 32-bit compatability with 64-bit devices?

android - 调用 setProgress(0, 0, true) 不会更新 > API 19 上的通知

ios - whatsapp 如何在 iOS 中更快地从通讯录中获取更新的联系人?