由于使用标准SharePhoto不允许您添加自己的说明,标题和其他内容。我正在使用OpenGraphStories共享对话框。现在问题是facebook文档说:
BUT !!!我无法在任何地方找到addPhoto()
。我已经搜索了他们的参考文献甚至是4.0之前的文档。
代码段:
ShareOpenGraphObject place = new ShareOpenGraphObject.Builder()
.putString("og:type", "place")
.putString("og:title", "sample title")
.putString("og:description", "sample description")
.putString("place:location:latitude", "Sample Location: Latitude")
.putString("place:location:longitude", "Sample Location: Longitude")
.build();
ShareOpenGraphAction publish = new ShareOpenGraphAction.Builder()
.setActionType("news.publishes")
.putObject("place", place)
.build();
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(mCombinedBitmap)
.setUserGenerated(true)
.build();
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("news")
.setAction(publish)
.build();
mShareDialog.show(ShareActivity.this, content);
- 编辑 -
我发现这个putPhoto(String key, SharePhoto photo)
可以在ShareOpenGraphObject
中使用,但我还不知道密钥。只有"og:image"
,但它的类型只接受网址。
答案 0 :(得分:2)
显然,密钥"og:image"
可以接受SharePhoto对象。
所以你可以这样做:
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(bitmap)
.build();
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putPhoto("og:image", photo)
.build();
答案 1 :(得分:0)
您需要将文件添加到操作中,如文档中所述。关键是“图像”,看看它是如何在样本中使用的:https://github.com/facebook/facebook-android-sdk/blob/master/samples/Scrumptious/src/com/facebook/scrumptious/SelectionFragment.java#L361-L362