我想发送多张图片。
我也试过了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:"));
答案 0 :(得分:0)
ACTION_SEND_MULTIPLE
Intent不接受data
参数。所以摆脱构造函数中的Uri.parse("mailto:...
参数。将电子邮件地址改为EXTRA_EMAIL
。请注意,这个额外的是持有一个字符串数组,而不是一个简单的字符串。image/jpeg
,否则请使用image/*
。file://
URI是一个糟糕的Android公民。它要求接收应用程序保留存储权限。请改用FileProvider
,不要忘记添加标记FLAG_GRANT_READ_URI_PERMISSION
。