草庐IT

java - facebook android sdk shareddialog回调总是成功的

coder 2023-12-15 原文

使用 Facebook android sdk 版本 4.1.1,我设法打开一个 shareDialog 并使用以下代码共享内容:

if (ShareDialog.canShow(ShareLinkContent.class)) {
        ShareLinkContent linkContent = new ShareLinkContent.Builder()
                .setContentTitle("Hello Facebook")
                .setContentDescription(
                        "The 'Hello Facebook' sample  showcases simple Facebook integration")
                .setContentUrl(Uri.parse("http://developers.facebook.com/android"))
                .build();

        shareDialog.show(linkContent);
        shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {

            @Override
            public void onSuccess(Result result) {
                //always gets called

            }

            @Override
            public void onCancel() {
                //do something

            }

            @Override
            public void onError(FacebookException error) {
                // TODO Auto-generated method stub

            }

        });
    }

和 ActivityResult 代码的回调:

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

无论用户是否按下对话框的后退发布 按钮,resultCode 始终为 -1,即 RESULT_OK。并且回调的 onSuccess 函数总是被调用,无论内容是发布还是取消,postId 总是 null。有谁知道为什么会这样?

最佳答案

根据 THIS这是 Facebook 开发人员错误部分上报告的错误,这是已知的,根据给出的答案,似乎在设计中任何形式的关闭对话框都被视为成功。

关于java - facebook android sdk shareddialog回调总是成功的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30155059/

有关java - facebook android sdk shareddialog回调总是成功的的更多相关文章

随机推荐