我已经知道如何在whatsapp上发送它,但不是发送到一个号码,我的方式我得到了一个联系人列表,我需要选择我应该发送哪一个。但是我需要将消息发送到一个特定的号码。
private void WhatsAppShare(ChannelEvent event){
Intent IntentW = new Intent(Intent.ACTION_SEND);
IntentW.setType("text/plain");
IntentW.putExtra(Intent.EXTRA_TEXT, "Denúncia :" + "nn" + model.getMessage() + "nn" + 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"用于商业WhatsApp应用程序,如果你想使用普通的WhatsApp,那么你只需要将com.whatsapp.w4b更改为com.whatsapp
whatsAppNumber是您要向 WhatsApp 发送消息的号码
ImageUrl是内部图像路径的 URL。
上面的代码将在图像查看器中以给定的数字打开您的WhatsApp应用程序,之后您必须按按钮发送消息。