Android - WhatsApp群组ID /群组聊天

时间:2017-02-07 19:27:23

标签: android whatsapp groupchat

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

首先,我想解释一下我目前的发展状况:

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

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

谷歌搜索和谷歌搜索所以我找到了一种方法(代码片段)来打开一个特定的个人聊天,并预先填写我想要分享的文字:

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吗?或者是否有另一种打开和预填充群聊的方式?

1 个答案:

答案 0 :(得分:4)

您必须使用群组链接 当用户安装您的应用时,您应该让他们从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);