我正在尝试将多个图片附加到电子邮件中。
我已经尝试了下一个代码,但我不知道自己做错了什么。
我需要通过您将看到的整数数组调用图像,并将它们附加到电子邮件中。
有些课程看起来像这样:
Integer[] images = {
R.drawable.image1,
R.drawable.image2,
R.drawable.image3,
R.drawable.image4 };
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.bSendEmail:
Intent emailintent2 = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailintent2.setType("plain/text");
emailintent2.putExtra(Intent.EXTRA_EMAIL, emailaddress2);
emailintent2.putExtra(Intent.EXTRA_SUBJECT, corsub);
emailintent2.putExtra(Intent.EXTRA_TEXT, message2);
ArrayList<Uri> uris = new ArrayList<Uri>();
uris.add(Uri.parse("android.resource://" + getPackageName() + "/" + images[0]));
uris.add(Uri.parse("android.resource://" + getPackageName() + "/" + images[1]));
uris.add(Uri.parse("android.resource://" + getPackageName() + "/" + images[2]));
uris.add(Uri.parse("android.resource://" + getPackageName() + "/" + images[3]));
emailintent2.putExtra(Intent.EXTRA_STREAM, uris);
startActivity(emailintent2);
break;
答案 0 :(得分:1)
坏消息。它根本不受支持。
您是否考虑过创建附件的ZIP存档,并附上存档?
(注意:即使对我来说这对我来说还不够好,但很多人似乎能够忍受它。)
答案 1 :(得分:0)
使用
emailintent2.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
而不是
emailintent2.putExtra(Intent.EXTRA_STREAM, uris);
使用文件
private String root = Environment.getExternalStorageDirectory().getPath()
+ Tags.DIRECTORY_PATH;
path = new ArrayList<String>();
File f = new File(root);
File[] files = f.listFiles();
if (!root.equals(root))
{
item.add(root);
path.add(root);
item.add("../");
path.add(f.getParent());
}
for (int i = 0; i < files.length; i++)
{
File file = files[i];
path.add(file.getPath());
if (file.isDirectory())
item.add(file.getName() + "/");
else
item.add(file.getName());
ArrayList<Uri> uris = new ArrayList<Uri>();
for (String file : path) {
File fileIn = new File(file);
Uri u = Uri.fromFile(fileIn);
uris.add(u);
}