Не прикрепляйте файл и отправляйте по электронной почте - PullRequest
0 голосов
/ 23 мая 2019

Я определяю FileProvider в манифесте:

<provider
  android:name="android.support.v4.content.FileProvider"
  android:authorities="root"
  android:exported="false"
  android:grantUriPermissions="true">
  <meta-data
    android:name="android.support.FILE_PROVIDER_PATHS"
    android:resource="@xml/filepaths"/>
</provider>

и пути записи:

<files-path path="files/" name="files_name" />

Я положил файл "1.txt" в "root" /files/1.txt

.

Создано намерение отправить файл по электронной почте:

val intentToSendToBd = Intent(Intent.ACTION_SEND)

val file = File(context.filesDir,"files/1.txt")

val ur = FileProvider.getUriForFile(context, "root", file )

intentToSendToBd.setType("text/plain")

intentToSendToBd.putExtra(Intent.EXTRA_STREAM, ur)

intentToSendToBd.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)

intentToSendToBd.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION)

И, наконец, я получаю сообщение «не могу прикрепить файл» в EmailApp.

1 Ответ

0 голосов
/ 23 мая 2019

Я использую этот код для отправки mp3 файла, используя send_imtent

    val sdCard = Environment.getExternalStorageDirectory()
    val directory = File(sdCard.absolutePath + "/Demo Mobile/VoiceMail")
    val f = File(directory, sharingFileName + ".mp3") //or any other format supported
    **val uri = Uri.parse("file://" + f.absolutePath)**
    val share = Intent(Intent.ACTION_SEND)
    share.putExtra(Intent.EXTRA_STREAM, uri)
    share.setType("audio/mp3")
    share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
    startActivity(Intent.createChooser(share, "Share Voicemail File"))

Спасибо, Счастливого Кодирования ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...