8

I am trying to email PDF file using Gmail. However, Gmail app is showing toast:

Unable to attach file

PDF file is not-corrupt and is generated successfully in application's cache directory.

Code: (Please comment below if you need code in Java.):

    val photoURI: Uri = FileProvider.getUriForFile(this, "com.packagename.provider",
            File(this.cacheDir.path + "/Report.pdf"))

    val emailIntent = Intent(Intent.ACTION_SENDTO)
    emailIntent.data = Uri.parse("mailto:")
    emailIntent.putExtra(Intent.EXTRA_STREAM, photoURI)
    emailIntent.putExtra(Intent.EXTRA_EMAIL, arrayOf("some@domain.com"))
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject")
    emailIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
    emailIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
    startActivity(emailIntent)

Please help

Malwinder Singh
  • 6,644
  • 14
  • 65
  • 103

1 Answers1

1

As per Android Documentation, you need to use the ACTION.SEND intent action in the Intent constructor for attachments. Common Intents - Android Documentation

ACTION_SENDTO (for no attachment) or ACTION_SEND (for one attachment) or ACTION_SEND_MULTIPLE (for multiple attachments)

Pratik Banodkar
  • 105
  • 1
  • 10