2

嗨,我正在为 android sdk 3.5 实现 facebook 共享对话框,但是我没有按照指南获得任何成功。

FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(MyClass.this)
                            .setApplicationName("App Name")
                            .setName("Name")
                            .setLink("mylink")
                            .build();

我把它放在我的触摸方法中没有出现错误但是每当我点击按钮时..也没有出现任何错误~

MyClass.this 错了吗?谢谢回复~

4

3 回答 3

9

这是 Facebook 推荐的。我刚刚从这个链接复制了代码示例,其中还解释了如何处理uiHelper实例。

如果您不关心对话框的结果,则可以不使用 uiHelper。

使用静态方法检查是否可以呈现对话框是谨慎的,因为它仅初始化构建器并在确实可以呈现对话框时创建对话框。

if (FacebookDialog.canPresentShareDialog(getApplicationContext(),
FacebookDialog.ShareDialogFeature.SHARE_DIALOG)) {
    // Publish the post using the Share Dialog
    FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this)
            .setLink("https://developers.facebook.com/android")
            .build();
    uiHelper.trackPendingDialogCall(shareDialog.present());

} else {
    // Fallback. For example, publish the post using the Feed Dialog
    publishFeedDialog();
}

这是提要对话框后备:

private void publishFeedDialog() {
    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");

    WebDialog feedDialog = (
            new WebDialog.FeedDialogBuilder(getActivity(),
                    Session.getActiveSession(),
                    params)).build();
    feedDialog.show();
}
于 2014-02-27T15:26:49.287 回答
7

我遇到了这个确切的问题,结果我忘记在我的 AndroidManifest.xml 中的标签<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>之前添加。</application>

于 2013-09-19T19:15:41.903 回答
0

请看这个:这是一个有用的链接 https://gist.github.com/jacklt/6700201

于 2015-05-02T08:25:49.077 回答