在我的应用程序中,我在运行时创建一个位图并让用户共享它。我正在使用ACTION_SEND来共享位图(图像)。它工作得很好,但我注意到,很少有应用程序像Whats App等,会降低图像质量(如果超过100 KB),最终用户会得到模糊的图像。如果我选择像Gmail这样的电子邮件客户端,则图像在接收端看起来很好。我知道WhatsApp会压缩图片以便克服这个问题我想发送多个图像而不是一个大图像。
我想要的是, 如果APP必须发送三个图像,它应该只询问用户一次选择应该用于发送图像的应用程序,然后在代码中,我将识别哪个应用程序用户已选择,然后使用相同的应用程序将发送剩下两张图片。
由于
答案 0 :(得分:2)
我幸运地想出了自己
这是代码
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
ArrayList<Uri> files = new ArrayList<Uri>();
files.add(bmpUri1); // uri of my bitmap image1
files.add(bmpUri2); // uri of my bitmap image2
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, files);
答案 1 :(得分:0)
我可以使用以下代码以编程方式将多个图像发送给联系人。
String smsNumber = "91809XXXXXXX"; //Remove + from number
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra("jid", smsNumber + "@s.whatsapp.net");
sendIntent.setType("image/jpeg");
sendIntent.setPackage("com.whatsapp");
sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUriArray);
sendIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
sendIntent.addFlags(FLAG_ACTIVITY_NEW_TASK);
try {
getApplicationContext().startActivity(sendIntent);
} catch (android.content.ActivityNotFoundException ex) {
ex.printStackTrace();
Toast.makeText(getApplicationContext(),"Whatsapp have not been installed.", Toast.LENGTH_SHORT).show();
}
catch (Exception e)
{
e.printStackTrace();
}
如果有问题,请告诉我