android - Facebook SDK for Android 4.1.0 分享对话框取消

标签 android facebook facebook-sdk-4.0

我正在我的应用程序中实现 Facebook 共享功能。我从示例中获取了代码 https://developers.facebook.com/docs/sharing/android (共享对话框)

FacebookCallback 正在实现 3 个方法 onSuccess、onCancel、onError。

   shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
        @Override
        public void onSuccess(Sharer.Result result) {
            Timber.e("onSuccess " + result.getPostId());
        }

        @Override
        public void onCancel() {
            Timber.e("onCancel");

        }

        @Override
        public void onError(FacebookException e) {
            Timber.e("onError");
        }
    });

我想知道用户是否取消共享对话框而不是共享内容。但由于某些原因,如果用户成功共享内容或取消对话框,则在这两种情况下调用 onSuccess 并且 result.getPostId() 为 null。为什么在用户按下后不会调用 onCancel,为什么即使帖子已成功共享,result.getPostId() 仍为 null?

最佳答案

如果用户已授权您的应用程序(即通过您的应用程序登录 Facebook),您只会获得 onCancel。

只有当您的应用也具有 publish_actions 权限时,您才会获得 postId。

参见 https://developers.facebook.com/docs/android/troubleshooting#onsuccess

关于android - Facebook SDK for Android 4.1.0 分享对话框取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30923052/

相关文章:

ios facebook 登录在取消按钮上崩溃

android - 包含 Robolectric 时 Espresso 测试中的 java.lang.NoClassDefFoundError

php - 通过json在数据库中插入行不起作用

ios - 如何为 Storyboard中按钮名称的文本设置不同的字体大小

ios - 是否可以在 sprite-kit 游戏中使用 Twitter/Facebook 分享按钮?

ios - uitableview 中的异步图像加载

android - Facebook SDK/免费和付费 iOS 应用程序 : should I use one or two app IDs?

android - Android中使用sqlite事务时的多线程问题

android - 现代 Android 小部件开发

ios - 从 iOS 应用程序与 Facebook 分享超链接