在Twitter上与SHARE INTENT共享文本和图像的问题

时间:2011-11-28 13:38:46

标签: android twitter android-intent

我想让用户可以通过Twitter和Facebook分享图片和文字。

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

但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"));

2 个答案:

答案 0 :(得分:22)

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

当我尝试创建新的意图以便与Gmail,G +等共享时,

ACTION_SEND_MULTIPLE导致了一个强制关闭。

这对我来说很完美:

    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; 

答案 1 :(得分:14)

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

还可以尝试将ACTION_SEND更改为专门用于投放多个数据的ACTION_SEND_MULTIPLE

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

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