繁体   English   中英

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM