1

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

在我的代码下方。

        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..."));

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

4

2 回答 2

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>();

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

于 2012-11-10T14:02:58.023 回答
1

在此之前,您的代码是干净的

 Intent mailIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
于 2012-11-10T14:01:53.670 回答