首页 > 解决方案 > Android Intents - 如何使用 Intent 共享文本和图像以在 Android 中发送短信

问题描述

我尝试使用我的应用程序中的 Intent 共享文本并将图像附加到短信中。它采用消息正文,但显示错误,“无法附加文件”作为祝酒词。

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)

我尝试了很多方法,但还没有运气。你认为我错在哪里?用短信分享图像是不可能的吗?非常感谢一些帮助。

标签: androidkotlinandroid-intent

解决方案


您正在使用android.resource Urifor EXTRA_STREAMEXTRA_STREAM应该是持有Uri一个content计划。并非所有应用程序都能够使用您的android.resource Uri,因为它们并不期望该方案。

如果您希望提高兼容性,请使用FileProvider共享您的 PNG 图像FileProvider.getUriForFile(),这样您就content Uri可以使用EXTRA_STREAM.


推荐阅读