Как поделиться текстом и изображением с помощью намерения для отправки смс сообщения в Android - PullRequest
0 голосов
/ 03 апреля 2020

Я попытался поделиться текстом и прикрепить изображение к смс-сообщению, используя намерение из моего приложения. Он принимает тело сообщения, но показывает ошибку: «невозможно прикрепить файл» в качестве тоста.

val intent = Intent(Intent.ACTION_SEND)
intent.putExtra("sms_body", message)
intent.putExtra(Intent.EXTRA_STREAM, attachment)
intent.type = "image/*"
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
activity?.startActivity(intent)

Я перепробовал много способов, но пока не повезло. Как вы думаете, я ошибаюсь? Разве нельзя обмениваться изображениями с смс сообщениями? Некоторая помощь очень ценится.

1 Ответ

1 голос
/ 03 апреля 2020

Вы используете android.resource Uri для EXTRA_STREAM. EXTRA_STREAM должен содержать Uri со схемой content . Не все приложения смогут использовать ваш android.resource Uri, потому что они не ожидают этой схемы.

Если вы хотите sh улучшить совместимость, используйте FileProvider, чтобы поделиться вашим PNG-изображением, используя FileProvider.getUriForFile(), поэтому у вас есть content Uri для использования с EXTRA_STREAM.

...