如何在Android电子邮件中附加多个文件?

时间:2012-11-10 13:46:39

标签: android

我正在尝试使用intent附加多个文件。

在我的代码下面。

        Intent mSendIntent = new Intent(android.content.Intent.ACTION_SEND);
        mSendIntent.setType("plain/text");
        mSendIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
                new String[] { "" });
        mSendIntent.putExtra(android.content.Intent.EXTRA_CC, "");
        mSendIntent.putExtra(android.content.Intent.EXTRA_BCC, "");
        mSendIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
                "InfoMe Profile Request");
        ArrayList<String> yList = new ArrayList<String>();
        yList.add(path+filename);
        yList.add(path+"save.ime");
        ArrayList<Uri> y = new ArrayList<Uri>();
        for(String a:yList){
            y.add(Uri.fromFile(new File(a)));
        }
        mSendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,
                y);
        mSendIntent.putExtra(android.content.Intent.EXTRA_TEXT,
                Html.fromHtml(bodypart));
        context.startActivity(Intent.createChooser(mSendIntent,
                "Send mail..."));

但是当我发送它时没有找到任何附件。请提前帮助我。

2 个答案:

答案 0 :(得分:3)

这是一个很好的教程,介绍如何通过附件发送多个图像:http://android-er.blogspot.hk/2012/10/start-activity-to-send-multi-images.html

仅供参考,ACTION_SEND是一个附件。对于多个文件,您需要ACTION_SEND_MULTIPLE

它的要点是,当您点击按钮调用Intent发送电子邮件时,您需要这样的内容:

intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, arrayUri);
intent.setType("image/*");
startActivity(Intent.createChooser(intent, "Choice App to send email:"));

此处arrayUri的声明如下:ArrayList<Uri> arrayUri = new ArrayList<Uri>();

按照教程获取完整的功能示例。他们还可以下载整个项目。

答案 1 :(得分:1)

你的代码一直很干净

 Intent mailIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);