android - 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)
我尝试了很多方法,但还没有运气。你认为我错在哪里?用短信分享图像是不可能的吗?非常感谢一些帮助。
解决方案
您正在使用android.resource
Uri
for EXTRA_STREAM
。EXTRA_STREAM
应该是持有Uri
一个content
计划。并非所有应用程序都能够使用您的android.resource
Uri
,因为它们并不期望该方案。
如果您希望提高兼容性,请使用FileProvider
共享您的 PNG 图像FileProvider.getUriForFile()
,这样您就content
Uri
可以使用EXTRA_STREAM
.
推荐阅读
- python-3.x - 读取 csv 文件行并将它们发送到 azure 服务总线
- redux - 复杂的乐观更新:如何处理不仅仅是二进制元素
- c - 请帮助我理解 RefTest() 中生成的警告。[-Wincompati
- email - 如何导出使用 FormSubmit 捕获的电子邮件地址?
- python - 如何将标签添加到我的 Python 脚本输出?
- math - n/1 + n/2 + n/3 + 的大 O 复杂度
- java - Java:为什么由超类初始化的变量在创建对象后保持值
- c# - Enable-Migrations 不起作用“Exceção ao chamar “LoadFrom” com “1” argumento(s)”
- flutter - 在 Flutter Text Widget 中调整新的行距
- android - 在 Android Studio 北极狐更新之后,Android 工作室花费了很长时间来构建项目