【问题标题】:Problems sharing combined text and image with SHARE INTENT on Twitter在 Twitter 上使用 SHARE INTENT 共享组合文本和图像时出现问题
【发布时间】:2012-01-07 22:58:13
【问题描述】:

我想让用户能够与 Twitter 和 Facebook 共享图像和文本。

实际上我的代码可以启动 Android 的分享意图,如果用户选择 Facebook,一切正常,图像已附加,文本显示在新状态的正文上。

但是 Twitter 出了点问题,如果我只放一张图片一切正常,图片会被 twitter 检测到并自动上传到 twipic,然后 twitter 会在推文上发布图片的链接。但是,如果我放了一个图像和一个文本,那么,twitter 不会检测到图像,它只会将文本放在推文上,图像会被忽略。怎么了?

这是我的代码:

Intent sharingIntent = new Intent(Intent.ACTION_SEND);
Uri screenshotUri = Uri.parse("file:///sdcard/image.jpg");
sharingIntent.setType("image/*");
sharingIntent.putExtra(Intent.EXTRA_TEXT, "Body text of the new status");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
startActivity(Intent.createChooser(sharingIntent, "Share image using"));

【问题讨论】:

标签: android twitter android-intent


【解决方案1】:

您仍然可以尝试使用ACTION_SEND,而不使用ACTION_SEND_MULTIPLE

ACTION_SEND_MULTIPLE 导致强制关闭,当我尝试创建新的意图以共享到 Gmail、G+ 等时。

这对我来说很完美:

    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    Uri uri = Uri.parse("file:///sdcard/image.jpg");
    shareIntent.setType("*/*");
    shareIntent.putExtra(Intent.EXTRA_TEXT, "Body text of the new status");
    shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
    return shareIntent; 

【讨论】:

  • 如何构建 uri?
  • @Paschalis:我试试你的鳕鱼,但当我与 facebook 分享时,它会给我敬酒,例如 “请仅附上照片或单个视频” 任何想法我该如何解决它?
  • 嗨@HarshalKalavadiya。我几乎不记得为什么我需要这个。你确定你设置了泛型类型"*/*"
  • @Paschalis 是设置泛型类型"*/*"
【解决方案2】:

同时为文本指定 MIME 类型。 "text/plain" 是文本数据 MIME 的类型。尝试使用"*/*" 作为 MIME,这样您就可以发送任何通用数据类型。

还可以尝试将ACTION_SEND 更改为ACTION_SEND_MULTIPLE,它专门用于传递多个数据。

有关 ACTION_SEND_MULTPLE 和处理 MIME 类型的更多信息:

http://developer.android.com/reference/android/content/Intent.html

【讨论】:

  • 我尝试使用 / 并没有成功。我不能使用 ACTION_SEND_MULTIPLE,因为它不存在,至少在 Android 1.5 上是这样。
  • 现在我尝试了 ACTION_SEND_MULTIPLE 和 Android api 4,但它不起作用。
  • 好吧,研究一下 twitter 应用程序是否可以对其 API 进行多个数据请求......它可以与 facebook 应用程序一起使用吗?
  • 让它工作,使用 ACTION_SEND 和 image/* 作为类型(Android 4.0,需要在较低的 API 版本上进行测试,但希望仍然可以工作。)
  • @brk3 执行此操作时出现“无法加载图像”错误。您能建议我吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-23
  • 1970-01-01
  • 1970-01-01
  • 2015-12-01
  • 1970-01-01
  • 2019-03-28
相关资源
最近更新 更多