【问题标题】:How to Send/attach multiple images如何发送/附加多个图像
【发布时间】:2017-07-26 10:55:38
【问题描述】:

我想发送多张图片。 我也试过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:"));

【问题讨论】:

标签: android android-intent kotlin


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

【讨论】:

    猜你喜欢
    • 2017-03-30
    • 2022-08-17
    • 2011-06-08
    • 2019-08-09
    • 1970-01-01
    • 2020-10-01
    • 2018-08-04
    • 1970-01-01
    • 2018-03-09
    相关资源
    最近更新 更多