【问题标题】:Android - WhatsApp Group ID / Open group chatAndroid - WhatsApp 群组 ID / 打开群组聊天
【发布时间】:2017-02-07 19:27:22
【问题描述】:

经过长时间的 Google 搜索并没有带来我希望的结果,我有两个关于从另一个 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

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

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吗?或者还有其他方法可以打开和预填群聊吗?

【问题讨论】:

    标签: android whatsapp groupchat


    【解决方案1】:

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

    【讨论】:

    • 正确的是这段代码打开了指定的群聊。但我无法将文本预填充到聊天中。有没有办法填充文本呢?尝试与帖子(intent.putExtra(Intent.EXTRA_TEXT, "myText"))中的相同,但这不起作用。
    • 目前的whatsapp“api”恐怕做不到。这是最接近自动化群聊的方法。我理解 Facebook 的人们试图阻止 whatsapp 垃圾邮件等等,但他们应该明白我们的程序员需要一个更开放的 API。
    • 不过还是谢谢!如果您将来找到一种方法来做到这一点,如果您在这里分享它会很棒。
    • 有什么更新吗?我也想达到同样的效果,但它只会打开群组,不会发送任何消息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 2014-08-27
    相关资源
    最近更新 更多