如何从 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的主要内容,如果未能解决你的问题,请参考以下文章

将纯文本文件中的 MySQL 转储导出为 JSON

如何使用 NestJS 将纯文本作为我的请求正文传递?

Spring Cloud Config Server 如何将纯文本文件推送到 Config Client Application?

如何将数据(纯文本)从 S3 转储到雪花表

是否可以将文本、图像和文件共享到使用 Nativescript 编写的 Android 或 iOS 应用程序中?

Python将纯文本显示为html [重复]