如何通过Android分享意图在Facebook上分享带有标题的照片?

12
我想通过共享意图,将带有预先填充标题的照片与我的应用程序分享到Facebook上。
我知道如何分享照片或分享文本,但如何同时分享它们呢?
示例代码:
Intent shareCaptionIntent = new Intent(Intent.ACTION_SEND);
    shareCaptionIntent.setType("image/*");

    //set photo
    shareCaptionIntent.setData(examplePhoto);
    shareCaptionIntent.putExtra(Intent.EXTRA_STREAM, examplePhoto);

    //set caption
    shareCaptionIntent.putExtra(Intent.EXTRA_TEXT, "example caption");
    shareCaptionIntent.putExtra(Intent.EXTRA_SUBJECT, "example caption");

    startActivity(Intent.createChooser(shareCaptionIntent,getString(R.string.share)));

如果设置类型为image/*,则上传的照片不会预填标题。如果设置为text/plain,则只上传标题而不上传照片.....
我猜测问题是安卓版Facebook应用程序在过滤类型为image/*ACTION_SEND意图进行上传照片时没有查找Intent.EXTRA_TEXT。因此,如果安卓版Facebook应用程序查找该值并插入到图片的说明中,则可以解决此问题。

Share caption via Android Intent


你解决了这个问题吗? - ekawas
@ekawas 我没有。官方的Facebook应用程序不支持在分享照片时添加文本。我找到的替代解决方案是将Facebook API集成到您的应用程序中,并通过该API带有标题地分享照片,但这比意图要复杂得多。 - siamii
此外,我不太喜欢有一个单独的菜单按钮只用于分享到Facebook,而其他应用程序(如Twitter、Gmail、Flickr)支持带有标题的照片的通用共享意图。 - siamii
你尝试过使用存档MIME类型,例如application/zip,并将图像和文本放在其中吗?我想知道那会如何处理? - FrinkTheBrave
请问我如何在编程中以程序化的方式分享图片或文本到Facebook? - Harsha
你是如何在Facebook上设置照片的?我已经在Twitter、Instagram、Falcon Pro和其他所有平台上都设置好了,但是Facebook却无法显示图片。 - Phil Andrews
2个回答

10

在您现有的代码中添加这行:

shareCaptionIntent.putExtra(Intent.EXTRA_TITLE, "my awesome caption in the EXTRA_TITLE field");

EXTRA_TITLE、EXTRA_SUBJECT和EXTRA_TEXT之间没有明确的差异。因此,也没有明确的共享协议。我们可以尝试它们所有的功能。 :-)


谢谢!它可用了!虽然Intent.EXTRA_TITLE的定义是“在使用ACTION_CHOOSER时提供给用户的CharSequence对话框标题”,而Intent.EXTRA_TEXT则是“与Intent相关联的常量CharSequence,与ACTION_SEND一起使用,用于提供要发送的文字数据”。 - siamii
你能给我一个链接或示例链接,这样我就可以在我的应用程序中应用。谢谢。 - Rahul Baradia
1
Tech.Rahul,你还需要帮助吗? - n00b programmer
这个不再起作用了。Facebook 不允许它。 - Greg Ennis
不起作用。参见 https://developers.facebook.com/bugs/332619626816423/ 真遗憾! - j.c

8
这个问题似乎是 Facebook 应用长期存在的“特性”。它对意图的处理从未处于完全功能状态。请查看 http://forum.developers.facebook.net/viewtopic.php?id=93900 上的链接。这需要与 Facebook 的开发人员升级。依赖客户端 API 而不是修复明显问题正在对他们产生负面影响。

一个真正的解决方案应该是来自Facebook代表的回复,但由于缺乏这一点,我将授予您赏金。 - siamii
这个链接可能会澄清正在发生的事情:https://developers.facebook.com/bugs/332619626816423/ Facebook没有耳朵。 - j.c

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接