安卓-WhatsApp群组ID/开放群组聊天



经过长时间的谷歌搜索,但没有带来我希望的结果,我对从另一个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. 我可以打开群聊并粘贴我的文本,只需用群ID替换方法2中的电话号码吗?或者还有其他方法可以打开并预填充群聊吗

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

我使用Tasker来获取组的jid,尤其是我不是管理员的组。你需要手动操作。所以如果你有10组,你需要做10次。在tasker中创建一个任务,单击应用程序,单击快捷方式,单击放大镜,搜索组,单击组,jid将显示在长字符串中。它应该以%40结束,所以手动提取jid

最新更新