如何发送/附加多个图像

时间:2017-07-18 01:27:38

标签: android android-intent kotlin

我想发送多张图片。 我也试过了setType("image/jpeg"),我发现这个问题已在很多地方发布,但没有找到正确的答案

val emailIntent = Intent(android.content.Intent.ACTION_SEND_MULTIPLE, Uri.parse("mailto:" + context?.resources?.getString(R.string.email)))
emailIntent.setType("application/image")
val uris = ArrayList<Uri>()

for (file in filePaths) {
    val fileIn = File(file)
    val u = Uri.fromFile(fileIn)
    uris.add(u)
}
emailIntent.putExtra(Intent.EXTRA_SUBJECT, emailSubject)
emailIntent.putExtra(Intent.EXTRA_TEXT, emailBody)
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris)

context?.startActivity(Intent.createChooser(emailIntent, "Email:"));

1 个答案:

答案 0 :(得分:0)

  • ACTION_SEND_MULTIPLE Intent不接受data参数。所以摆脱构造函数中的Uri.parse("mailto:...参数。将电子邮件地址改为EXTRA_EMAIL。请注意,这个额外的是持有一个字符串数组,而不是一个简单的字符串。
  • 如果所有附件都是JPEG,则使用的正确类型为image/jpeg,否则请使用image/*
  • 分享file:// URI是一个糟糕的Android公民。它要求接收应用程序保留存储权限。请改用FileProvider,不要忘记添加标记FLAG_GRANT_READ_URI_PERMISSION