我正在尝试使用facebook SDK在我的Android应用程序中实现共享,并且实现的方式与facebook page上的文档完全相同。我在调用分享对话框之前检查会话和publish_actions权限,如下所示。
if (FacebookDialog.canPresentShareDialog(getApplicationContext(),
FacebookDialog.ShareDialogFeature.SHARE_DIALOG)) {
// Publish the post using the Share Dialog
FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this)
.setName("Hello Facebook")
.setDescription("The 'Hello Facebook' sample application showcases simple Facebook integration")
.setLink("http://developers.facebook.com/android")
.build();
}
分享对话框出现但是没有我在.setLink()等中添加的内容它是空白的。为了确保我没有错过任何配置,我测试了facebook SDK样本中的HelloFacebookSample并且具有相同的问题。当我点击"发布状态更新"我看到一个空的共享框。
我在带有Android 4.4.2和facebook应用版本9.0.0.26.28的Nexus 4手机上运行此功能。我的设置是否需要做些什么来使其工作。奇怪的是我记得看到之前填充的对话框,所以我必须做一些事情来打破它。
任何帮助都将受到赞赏,我已经在这上面打了一个多星期。
答案 0 :(得分:1)
我很确定这是一个facebook错误,因为该分享在Facebook页面上发布得很好,只是在我这样做时,共享对话框显示为空白。事实上,同样的应用程序在其他手机中运行良好,因此我的设置特别适合触发错误。
我提交了一个facebook错误,并希望它得到修复。
感谢大家的答案。
答案 1 :(得分:0)
我的申请示例:
在MainActivity开始时uiHelper的定义:
private UiLifecycleHelper uiHelper;
在onCreate函数中:
uiHelper = new UiLifecycleHelper(this, null);
uiHelper.onCreate(savedInstanceState);
在我的应用程序的相应部分中,显示实际共享对话框的调用:
FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this)
.setLink("Hello Facebook")
.setName("The 'Hello Facebook' sample application showcases simple Facebook integration")
.setCaption("http://developers.facebook.com/android")
.setPicture("imageURL")
.build();
uiHelper.trackPendingDialogCall(shareDialog.present());
以防万一我想提一下你需要将你的Debug Android哈希或公共密钥库哈希添加到Android选项卡下的Facebook控制面板上的应用程序设置中(有关密钥哈希生成的更多信息:Facebook Android Generate Key Hash )。
我希望我的任何建议都有帮助,我在Facebook SDK上遇到了很多问题。
你的logcat是否给出了为什么会发生这种情况的错误或线索?