我们如何从Android应用程序直接将图像发送到whatsapp?我尝试使用
Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
Uri imageuri = getImageUri(getApplicationContext(), b);
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.setPackage("com.whatsapp");
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.putExtra(Intent.EXTRA_STREAM, imageuri);
sendIntent.setType("image/*");
startActivity(sendIntent);

上面的代码打开了whatsapp的发送窗口。有没有其他方法可以直接发送图像而无需打开什么应用程序窗口?
答案 0 :(得分:2)
Android意向系统
与Android上的大多数社交应用程序一样,WhatsApp会倾听分享媒体和文本的意图。例如,只需创建一个共享文本的意图,WhatsApp将由系统选择器显示:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);
但是,如果您希望直接与WhatsApp共享并绕过系统选择器,则可以在意图中使用setPackage:
sendIntent.setPackage("com.whatsapp");
This would simply be set right before you call startActivity(sendIntent);
同样,如果你只想发送给WhatsApp,你可以使用Android的意图系统再次通过WhatsApp发送媒体,使用setPackage将包限制为WhatsApp。有关详细信息,请查看此developer page。
自定义网址计划
WhatsApp提供了与WhatsApp交互的自定义URL方案:
如果您有一个网站并想要使用预先填写的消息打开WhatsApp聊天,您可以使用我们的自定义URL方案来执行此操作。打开whatsapp:// send?text =后跟要发送的文本,将打开WhatsApp,允许用户选择联系人,并使用指定的文本预填充输入字段。
以下是如何在您的网站上撰写此内容的示例:
<a href="whatsapp://send?text=Hello%20World!">Hello, world!</a>
// NOT ORIGINAL TEXT:您也可以通过Java代码调用此端点