如何从 android 应用程序将纯文本共享到 facebook messenger

Posted

技术标签:

【中文标题】如何从 android 应用程序将纯文本共享到 facebook messenger【英文标题】:How to share plain text to facebook messenger from an android app 【发布时间】:2015-07-26 10:34:05 【问题描述】:

我正在尝试使用 facebook sdk 4.x 从我的应用程序中将纯文本共享给 messenger 应用程序,但我无法为此配置 contentUri,但是当我发送图像时它可以工作。

如何处理纯文本?

Uri contentUri = Uri.parse("android.resource://in.darpankulkarni.l33ttxtformessenger/mipmap/ic_launcher");
// contentUri points to the content being shared to Messenger
   ShareToMessengerParams shareToMessengerParams =
        ShareToMessengerParams.newBuilder(contentUri, "image/png").setExternalUri(Uri.parse("https://montanaflynn-l33t-sp34k.p.mashape.com/encode?text=Hello+How+the+hell+are+you!&mashape-key=AD8dVisiLdmshFoLegK2hzNoDQI4p1BDlshjsn50fOqenOnPY7"))
                        .build();

// Sharing from an Activity
   MessengerUtils.shareToMessenger(
                this,
                REQUEST_CODE_SHARE_TO_MESSENGER,
                shareToMessengerParams);

如何使用上述代码发送纯文本?

【问题讨论】:

这是设计使然。我们现在只允许图像和视频 MIME 类型。 github.com/facebook/facebook-android-sdk/blob/… 只分享图片和视频是什么意思?...没有什么比分享文字更简单... 【参考方案1】:

支持的 MessengerUtils 方法不允许共享文本。以下对我有用:

ShareLinkContent.Builder shareLinkContentBuilder = new ShareLinkContent.Builder()
        .setContentTitle(contentTitle)
        .setContentDescription(contentDescription)
        .setContentUrl(Uri.parse(url));
shareLinkContentBuilder.setImageUrl(Uri.parse(imageUrl));
MessageDialog messageDialog = new MessageDialog(activity);
messageDialog.registerCallback(callbackManager, callback);
messageDialog.show(shareLinkContentBuilder.build());

分享链接内容来自:https://developers.facebook.com/docs/sharing/android

【讨论】:

这很好用。太糟糕了 Facebook 决定弃用 setImageUrl()

以上是关于如何从 android 应用程序将纯文本共享到 facebook messenger的主要内容,如果未能解决你的问题,请参考以下文章