当前位置: 首页 > 知识库问答 >
问题:

我们如何在android电子邮件中在intent上附加多个图像

柳鸿信
2023-03-14

我正在努力在发送到gmail或其他电子邮件客户端之前附加一个以上的图像。我想让每个按钮都附加一个图像,例如,我想让用户在第一个按钮上附加身份证副本,然后是另一个按钮,支付证明副本(图像)。

我的java代码

 private void openFolder() {
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    intent.putExtra("return-data", true);
    startActivityForResult(Intent.createChooser(intent, "Complete action using"), PICK_FROM_GALLERY);
}

private void openFolder2() {
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    intent.putExtra("return-data", true);
    startActivityForResult(Intent.createChooser(intent, "Complete action using"), PICK_FROM_GALLERY2);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == PICK_FROM_GALLERY && resultCode == RESULT_OK)
     {
         URI = data.getData();
         tvAttachment.setText(URI.getLastPathSegment());
         tvAttachment.setVisibility(View.INVISIBLE);

         URI2 = data.getData();
         tvAttachment2.setText(URI.getLastPathSegment());
         tvAttachment2.setVisibility(View.INVISIBLE);

    }
}

private void sendEmail() {
    try {
        String recipient = "kondja99@gmail.com";
        subject = etSubject.getText().toString();
        message = "Full Name: " + Name.getText().toString() + "\n" + "Cellphone No: " + Number.getText().toString();
        final Intent emailIntent = new Intent(Intent.ACTION_SEND);
        emailIntent.setType("plain/text");
        emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{recipient});
        emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
        if (URI != null) {
            emailIntent.putExtra(Intent.EXTRA_STREAM, URI);
        }
        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
        this.startActivity(Intent.createChooser(emailIntent, "Sending email..."));
    } catch (Throwable t) {
        Toast.makeText(this, "Request failed, retry! " + t.toString(), Toast.LENGTH_LONG).show();
    }
}

共有1个答案

岳出野
2023-03-14

将您的sendmail功能更改为以下内容:

private void sendEmail() {
    try {
        String recipient = "kondja99@gmail.com";
        subject = etSubject.getText().toString();
        message = "Full Name: " + Name.getText().toString() + "\n" + "Cellphone No: " + Number.getText().toString();
        final Intent emailIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
        emailIntent.setType("*/*");
        emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{recipient});
        emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
        ArrayList<Uri> uris = new ArrayList<Uri>();
        uris.add(URI);
        uris.add(URI2);
        emailIntent.putExtra(Intent.EXTRA_STREAM, uris);
        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
        this.startActivity(Intent.createChooser(emailIntent, "Sending email..."));
    } catch (Throwable t) {
        Toast.makeText(this, "Request failed, retry! " + t.toString(), Toast.LENGTH_LONG).show();
    }
}

正如评论中有人指出的,您的MIME类型无效(相反)最安全的方法是使用“*/*”。由于要附加多个URI,因此还需要对意图操作使用ACTION\u SEND\u MULTIPLE

 类似资料:
  • 我已经成功创建了PDF文件,它存储在内部storage/app_name/files/xyz.PDF中,现在我只想在Gmail的附件中分享那个PDF......更新:在调试器中获取错误“源代码与字节码不匹配” 正在获取异常文件:///storage/emulated/0/storage/emulated/0/android/data/com.example.app_name/files/s.pdf

  • 问题内容: 我想在电子邮件正文中添加图片。我不想将图像附加到电子邮件,但要在电子邮件正文中添加图像。 这个怎么做? 我正在用这个。 要么 然后像这样显示图像 问题答案: 不幸的是,使用Intents不可能做到这一点。 为什么例如粗体文本显示在EditText上,而不是一个形象的原因是StyleSplan 正在实施Parcelable 而ImageSpan 没有。因此,当在新的Activity中检索

  • 我在发送带有多个附件的电子邮件时遇到问题。代码如下: 我收到邮件,但找不到任何附件。有人知道会出什么问题吗? 下面是我在Mail中得到的电子邮件正文:

  • 问题内容: 以下Java代码用于将文件附加到电子邮件。我想通过电子邮件发送 多个 文件附件。任何建议,将不胜感激。 问题答案: 好吧,自从我完成JavaMail工作已经有一段时间了,但是看起来您可以重复多次此代码: 例如,您可以编写一个方法来做到这一点: 然后从您的主要代码中,只需调用: 等等

  • 我正在使用spring Boot从java发送HTML电子邮件。电子邮件包括签名与我们公司的形象标志。它工作得很好。在Gmail上。但在MacOS应用程序电子邮件中,徽标是作为附件发送的,而不是内联的。 代码的非相关部分替换为...

  • 问题内容: 有没有办法将图像附加到用PHP创建的html格式的电子邮件中? 我们需要确保在发送给可能在阅读电子邮件时无法访问Internet的客户的电子邮件上带有公司徽标(显然,他们可以下载文件)。 问题答案: 尝试使用PEARMail_Mime软件包,该软件包可以为您嵌入图像。 您需要使用addHTMLImage()方法并传递内容ID(cid),这是一个唯一的文本字符串,您还将在img的src属