java - 在 Android 中同时共享文本和图像

标签 java android image text share

几个小时以来,我一直在尝试使用 Intent.ACTION_SEND 共享文本和图像(同时)。尽管我尽了一切努力让它发挥作用,但我仍然做不到。

我在 Google 上搜索过,这可能很奇怪,但我只找到 2 篇讨论如何同时分享文本和图像的帖子,我试过了,但都没有他们工作了。我尝试使用一种方法,结果如下:

Uri imageToShare = Uri.parse("android.resource://com.example.application/drawable/invite"); //Image to be shared
String textToShare = "Text to be shared"; //Text to be shared

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_SUBJECT, textToShare);
shareIntent.setType("*/*");
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shareIntent.putExtra(Intent.EXTRA_TEXT, imageToShare);
startActivity(Intent.createChooser(shareIntent, "Share with"));
  • 上面的代码显示了一条错误消息“分享失败,请重试。”
  • 我要发送的图像是 invite.png,它位于 drawable 文件夹中。
  • 我使用的是搭载 Android O (8.0) 的手机。

希望以上信息对您有所帮助。我仍然是 Java 的初学者,非常感谢任何帮助!

最佳答案

首先,没有要求任何应用程序都支持通过ACTION_SEND 共享文本和图像。

其次,图像的 Uri 进入 EXTRA_STREAM as notyou pointed out .

第三,很少有应用知道如何将 android.resource 作为 Uri 方案来处理。毕竟那不是the documented scheme for an EXTRA_STREAM Uri .它必须是 content,您可以在其中通过 ContentProvider(例如 FileProvider)提供您的内容。

第四,如果您指定实际的 MIME 类型而不是使用通配符,您可能会更幸运。

关于java - 在 Android 中同时共享文本和图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48736704/

相关文章:

mysql - WordPress 迁移损坏的图像 - 即使在更新数据库后

html - 我如何加载彼此之外的div

java - Spring 测试多次关闭嵌入式数据库

java - 谷歌云存储: 401 unauthorized error

android - Listview错误无法运行;强制关闭

java - 扩展SupportMapFragment - 如何实例化新 fragment ?

html - 使 Div 容器在加载到不同大小的设备之前匹配图像的大小

java - PrinterJob 与 DocPrintJob

java - 如何执行以 jar 文件形式提供的源代码?

android - 将较大的文件上传到 Parse 时可能出现 OutOfMemoryException