
[英]“Permission denied for the attachment” (on Gmail 5.0) trying to attach file to email intent
[英]Email Intent cannot attach attachment
你好
我一直在实施 function,它允许用户在我自己的内部启动电子邮件应用程序。
fun composeEmail(address: Array<String>,message : String, subject: String, attachment : Uri){
val intent = Intent(Intent.ACTION_SENDTO).apply{
data = Uri.parse("mailto:")
putExtra(Intent.EXTRA_EMAIL,address)
putExtra(Intent.EXTRA_SUBJECT,subject)
putExtra(Intent.EXTRA_TEXT,message)
putExtra(Intent.EXTRA_STREAM,attachment)
}
if(intent.resolveActivity(requireActivity().packageManager) != null){
startActivity(intent)
}
}
我想让附加文件成为可能,我为此使用了另一个意图:
private var uriAt : Uri = Uri.EMPTY
fun selectFile()
{
val intent = Intent(Intent.ACTION_GET_CONTENT).apply {
type = "*/*"
}
if (intent.resolveActivity(requireActivity().packageManager) != null)
startActivityForResult(intent,8)
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if(requestCode == 8 && resultCode == Activity.RESULT_OK){
if (data != null) {
uriAt = data.data!!
}
}
}
有代码负责触发 Intent
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val emailText :EditText = binding.emailText
val emailMessage :EditText = binding.emailMessage
val emailSubject : EditText = binding.emailSubject
binding.sendButton.setOnClickListener {
composeEmail(address = arrayOf(emailText.text.toString()),message = emailMessage.text.toString(),subject = emailSubject.text.toString(),attachment = uriAt)
}
binding.attachmentButton.setOnClickListener {
selectFile()
}
}
应用程序已成功启动,但是选择附件并进行活动开始时,email Intent intent启动的电子邮件应用程序发送消息,发送信息,即附件无法附加。
我读过另一篇文章,并在清单中实现了某些权限,例如。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.