如何在Android Studio中实现向Facebook时间线上传文本?
问题原因
- 你当前使用的
ShareLinkContent是Facebook分享SDK中专门用于分享链接的类,仅支持传入链接参数生成分享卡片,本身就不支持纯文本内容的分享,所以不传链接的场景下调用会失效。 - 自2018年Facebook更新平台政策后,所有第三方应用调用分享接口时都不允许预先填充分享文本,所有分享的文案内容必须由用户手动在分享对话框中输入,无论用哪种调用方式都无法绕过这个限制。
可行实现方案
- 如果仅需调起Facebook纯文本分享入口,可使用系统隐式Intent调用,示例代码如下:
Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setType("text/plain"); shareIntent.setPackage("com.facebook.katana"); // 注:此处传入的EXTRA_TEXT在新版Facebook客户端中会被忽略,仅作为旧版本兼容保留 shareIntent.putExtra(Intent.EXTRA_TEXT, "待分享文本"); if (shareIntent.resolveActivity(getPackageManager()) != null) { startActivity(shareIntent); } else { // 处理未安装Facebook客户端的场景 }
- 如果需要分享带预览卡片的链接内容,依然可以使用
ShareLinkContent,但链接对应的预览标题、描述、配图需要提前配置在链接页面的OpenGraph meta标签中,无法在App端动态传入。
内容的提问来源于stack exchange,提问作者Demo
相关产品推荐
相关产品推荐

