Android 分享意图 - Facebook 的问题

Android Share intent - issue with Facebook

我需要通过共享意图从我的应用程序共享文本和一张图像。我阅读了 this 篇文章。我认为创建共享意图很容易。但这并不容易,因为通过 Facebook 分享有问题。

我需要分享存储在设备中的一些文字和一张图片。我的第一次尝试是这样的:

第一次尝试

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File("/sdcard/img.jpg")));
shareIntent.putExtra(Intent.EXTRA_TEXT, "My custom text...");
shareIntent.setType("image/jpg");
startActivity(Intent.createChooser(shareIntent, getString(R.string.label_share)));

我试过这段代码,在 Gmail、Google+、GoogleKeep 等应用程序中,一切正常。但是 Facebook 并没有很好地工作。

此屏幕截图中没有我的文字 ("My custom text...")。所以我尝试了别的东西。

第二次尝试

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File("/sdcard/img.jpg")));
shareIntent.putExtra(Intent.EXTRA_TEXT, "My custom text...");
shareIntent.setType("text/plain");
startActivity(Intent.createChooser(shareIntent, getString(R.string.label_share)));

结果如下:

此屏幕截图中没有文字,也没有图像。

我也尝试将类型更改为 image/**/*,但没有帮助。我不知道出了什么问题。我只需要通过 Facebook 分享一些文字和图片。 第一次尝试 适用于其他应用程序,但不适用于 Facebook。

有人可以帮我吗?

你的第一次尝试没问题,Facebook 不允许以这种方式分享文本,他们说 "Pre-filling these fields erodes the authenticity of the user voice."