Facebook SDK 4 Android不能共享回调

保罗·弗里兹

我最近将我的应用程序移至FB SDK 4.0,并且在共享时遇到了一些怪异的麻烦。共享对话框效果很好-我可以与Facebook应用程序和WebDialog共享。但是,在成功/失败共享之后,我的回调根本不起作用-因此,我什至无法显示敬酒或记录任何内容。这是我的做法:

shareDialog.registerCallback(fbManager, new FacebookCallback<Sharer.Result>() {
            @Override
            public void onSuccess(Sharer.Result result) {
                // This doesn't work
                Toast.makeText(f.getActivity(), "You shared this post", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onCancel() {
            }

            @Override
            public void onError(FacebookException e) {
                // This doesn't work
                e.printStackTrace();
            }
        });

我什至尝试调试该应用程序-无效-甚至没有调用此代码。

那么,您能指出我做错了什么还是我想念什么?

更新

由于我使用特殊的类来使用FB SDK,因此这是其中的一部分:

private static CallbackManager fbManager;

public static CallbackManager init(Activity c) {
    if (!FacebookSdk.isInitialized()) {
        FacebookSdk.sdkInitialize(c);
    }

    return fbManager = CallbackManager.Factory.create();
}

 ...

 public static void share(final Fragment f, final String title, final String description, final String link) {
    ShareDialog shareDialog = new ShareDialog(f);
    shareDialog.registerCallback(fbManager, new FacebookCallback<Sharer.Result>() {
        @Override
        public void onSuccess(Sharer.Result result) {
            Toast.makeText(f.getActivity(), "You shared this post", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onCancel() {
        }

        @Override
        public void onError(FacebookException e) {
            e.printStackTrace();
        }
    });
    shareDialog.show(f, composeContent(title, description, link));

这里是片段的样子:

 private CallbackManager callbackManager;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    callbackManager = FacebookHelper.init(getActivity());
}

...

  @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    callbackManager.onActivityResult(requestCode, resultCode, data);
}

 private void publishStory() {
    FacebookHelper.share(this,
            "Title",
            getResources().getString(R.string.sharing_text),
            sharingLink);
}
鹤山桑迪帕

您必须重写onActivityResult方法,如下更新您的方法,

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  callbackManager.onActivityResult(requestCode, resultCode, data);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Facebook上的Android共享(SDK 4)

来自分类Dev

登录Facebook SDK 4 Android

来自分类Dev

Android Facebook SDK-“共享”对话框不响应取消回调

来自分类Dev

使用4.x Facebook SDK在Libgdx中共享Facebook

来自分类Dev

在Facebook SDK 4(Android)中创建请求

来自分类Dev

Eclipse中的Android Facebook SDK 4

来自分类Dev

Facebook PHP SDK 4

来自分类Dev

Facebook SDK 4.x Android Post作为Facebook页面

来自分类Dev

facebook android sdk sharedialog回调总是成功的

来自分类Dev

Facebook Android SDK 3.5.2回调无法解析为变量

来自分类Dev

Facebook SDK V4

来自分类Dev

Android Facebook SDK v4 LikeView问题

来自分类Dev

使用Facebook SDK 4(Android)的自定义按钮

来自分类Dev

注销Facebook Android SDK

来自分类Dev

Android Facebook SDK登录

来自分类Dev

Android + Facebook SDK

来自分类Dev

没有Facebook应用的Android Facebook SDK 4登录无法正常工作

来自分类Dev

如何使用Facebook Android SDK 4.x将视频上传到Facebook?

来自分类Dev

用户墙上的Android Facebook SDK共享

来自分类Dev

Android Facebook SDK检查共享是否成功

来自分类Dev

如何使用Android版Facebook SDK在Facebook上共享图像?

来自分类Dev

Facebook PHP SDK4-FQL请求

来自分类Dev

带Composer的CodeIgniter Facebook SDK 4

来自分类Dev

适用于Android的Unity的Facebook SDK-关于FB.Login回调的问题

来自分类Dev

如何获取Facebook iOS SDK Like动作的回调?

来自分类Dev

Facebook SDK和WebPlayer。初始化不会回调

来自分类Dev

Facebook iOS Swift SDK:未收到回调

来自分类Dev

获取Facebook访问令牌的参考-Facebook SDK 4.X

来自分类Dev

在Facebook PHP SDK 4中找不到类“ Facebook \ GraphObject”