我引用了facebook sdk3.0的示例代码,使用webdialog在我的墙上发布文章。
示例代码演示了用于构造WebDialog.FeedDialogBuilder的Bundle对象

Bundle params = new Bundle();
params.putString("name", "Facebook SDK for Android");
params.putString("caption", "Build great social apps and get more installs.");
params.putString("description", "The Facebook SDK for Android makes it easier and faster to develop Facebook integrated Android apps.");
params.putString("link", "https://developers.facebook.com/android");
params.putString("picture", "https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/iossdk_logo.png");

所以我在我的项目中改了几个词来测试:
Bundle params = new Bundle();
params.putString("name", "Push test");
params.putString("caption", "hello");
params.putString("description", "hello");
params.putString("link", "");
params.putString("picture", "");

但是webdialog.feeddialogbuilder上“name”、“caption”、“description”的结果是
消失
然后我发现params.putString("picture", "");
如果URL无效或字符串为空,则WebDialog.FeedDialogBuilder将无法工作。
空字符串:
Bundle params = new Bundle();
params.putString("name", "Test");
params.putString("caption", "hello");
params.putString("description", "hello");
params.putString("link", "");
params.putString("picture", "");

URL无效:
Bundle params = new Bundle();
params.putString("name", "Test");
params.putString("caption", "hello");
params.putString("description", "hello");
params.putString("link", "");
params.putString("picture", "null");

使用任何有效的URL:
Bundle params = new Bundle();
params.putString("name", "test");
params.putString("caption", "hello");
params.putString("description", "hello");
params.putString("link", "");
params.putString("picture", "http://www.technobuffalo.com/wp-content/uploads/2012/12/Google-Apps.jpeg");

只使用三个参数:
Bundle params = new Bundle();
params.putString("name", "test");
params.putString("caption", "hello");
params.putString("description", "hello");

那么,我应该如何将正确的值传递给params.putString("picture", "");
没有图片就行吗?

最佳答案

实际的问题是你没有“link”的任何值。
“名称”、“标题”、“说明”和“图片”都适用于链接字段。我不知道为什么当你有一个值为“picture”而不是“link”时会显示任何东西,但我很确定问题是因为你没有“link”。

10-02 13:25