我已经知道如何通过 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.w4b到com.whatsapp
whatsAppNumber 是您要向 WhatsApp 发送消息的号码
和ImageUrl是内部图像路径的URL。
以上代码将在图像查看器中使用给定号码打开您的 WhatsApp 应用程序,之后您必须按下按钮才能发送消息。
关于java - 如何将 Whatsapp 上的图像和文本分享给特定号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60134327/