Android 向特定联系人发送文本和图像(whatsapp)

Android 向特定联系人发送文本和图像(whatsapp),android,android-intent,whatsapp,Android,Android Intent,Whatsapp,我想知道如何向特定的whatsapp联系人发送文本和图像。我找到一些代码来查看特定联系人,但不发送数据 Uri uri = Uri.parse("smsto:" + smsNumber); Intent i = new Intent(Intent.ACTION_SENDTO, uri); i.putExtra("sms_body", smsText); i.setPackage("com.whatsapp"); startActivity(i); 但该代码只是打开聊天历史记录,而不是获

我想知道如何向特定的whatsapp联系人发送文本和图像。我找到一些代码来查看特定联系人,但不发送数据

Uri uri = Uri.parse("smsto:" + smsNumber);
Intent i = new Intent(Intent.ACTION_SENDTO, uri);
i.putExtra("sms_body", smsText);  
i.setPackage("com.whatsapp");  
startActivity(i);
但该代码只是打开聊天历史记录,而不是获取文本和图像并发送

我也尝试下面的代码通过whatsApp发送图像和文本,但要求选择发送联系人

Intent shareIntent = new Intent();
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
    | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("*/*");
shareIntent.putExtra(Intent.EXTRA_TEXT, sendString);
shareIntent.putExtra(Intent.EXTRA_STREAM, bmpUri);
shareIntent. setPackage ("com. whatsapp");
startActivity(shareIntent);
如果该功能可行,请给我一个建议。

解决方案:

        Intent sendIntent = new Intent("android.intent.action.SEND");
        File f=new File("path to the file");
        Uri uri = Uri.fromFile(f);
        sendIntent.setComponent(new ComponentName("com.whatsapp","com.whatsapp.ContactPicker"));
        sendIntent.setType("image");
        sendIntent.putExtra(Intent.EXTRA_STREAM,uri);
        sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators("919xxxxxxxxx")+"@s.whatsapp.net");
        sendIntent.putExtra(Intent.EXTRA_TEXT,"sample text you want to send along with the image");
        startActivity(sendIntent);
有关详细解释,请参阅我的回答。

你试过了吗:是的,我试过了,但没用,我也用了这个代码或者发送了一条短信。是的,“jid”仍然有效。但是如果我们想分享这张照片,我试过了,但没有成功。你找到解决办法了吗?