java - 如何将 Whatsapp 上的图像和文本分享给特定号码?

标签 java android

我已经知道如何通过 Whatsapp 发送它,但不知道如何发送到号码,按照我的方式,我得到了一份联系人列表,我需要选择应该发送哪一个。但我需要将消息发送到特定号码。

private void WhatsAppShare(ChannelEvent event){
    Intent IntentW = new Intent(Intent.ACTION_SEND);
    IntentW.setType("text/plain");
    IntentW.putExtra(Intent.EXTRA_TEXT, "Denúncia :" + "\n\n" + model.getMessage() + "\n\n" + model.getTitle());
    IntentW.putExtra("jid", event.getId() +"@s.whatsapp.net");
    IntentW.setType("image/jpg");
    IntentW.putExtra(Intent.EXTRA_STREAM, getImageUri(getApplicationContext(),selectedImage));
    //IntentW.setComponent(new ComponentName("com.whatsapp", "com.whatsapp.Conversation"));
    IntentW.setPackage("com.whatsapp");
    IntentW.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    try {
        startActivity(IntentW);
    } catch (android.content.ActivityNotFoundException ex) {
        Toast.makeText(this, "Error", Toast.LENGTH_SHORT).show();
    }
}

如果我选择ComponentName工作正常,并且我可以与该号码进行 Whatsapp 聊天,但没有图像或文本!

最佳答案

您可以使用以下代码向特定用户发送消息,

Intent sendIntent = new Intent("android.intent.action.MAIN");
        sendIntent.putExtra(Intent.EXTRA_STREAM, FileProvider.getUriForFile(context1, BuildConfig.APPLICATION_ID + ".provider", new File("ImageUrl")));
         sendIntent.putExtra("jid", whatsAppNumber + "@s.whatsapp.net");
         sendIntent.putExtra(Intent.EXTRA_TEXT, "whatsAppMessage");
         sendIntent.setAction(Intent.ACTION_SEND);
         sendIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
         sendIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         sendIntent.setPackage("com.whatsapp.w4b");
         sendIntent.setType("image/*");
         startActivity(sendIntent);

此处“com.whatsapp.w4b”用于 Business WhatsApp 应用程序,如果您想使用普通 WhatsApp,则只需更改 com.whatsapp.w4bcom.whatsapp

whatsAppNumber 是您要向 WhatsApp 发送消息的号码

ImageUrl是内部图像路径的URL。

以上代码将在图像查看器中使用给定号码打开您的 WhatsApp 应用程序,之后您必须按下按钮才能发送消息。

关于java - 如何将 Whatsapp 上的图像和文本分享给特定号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60134327/

相关文章:

java - 多线程程序永远不会停止执行

java - 是否有使用 Hamcrest 'describeMismatch' 功能的 JUnit assertThat 版本?

android - 套接字连接和轮询。就电池生命周期而言,哪个是更好的解决方案?

java - 无法对非静态方法进行静态引用 (Android getApplicationContext())

java - 从 com.google.android.gms.vision.CameraSource 访问相机并增加/减少预览亮度

java - 给定字节数的最大字符串长度

java - 等待在 eclipse rcp 应用程序退出时运行作业

java - JDBC - phpMyAdmin MySQL 无法登录数据库?

android - 如何通过 ACTION_SEND Intent 将文件上传到 webview

android - 如果 Activity 正在运行,则获取额外的 Intent