【问题标题】:Facebook SDK for Android 4.1.0 share dialog cancelFacebook SDK for Android 4.1.0 共享对话框取消
【发布时间】:2015-06-18 18:30:11
【问题描述】:

我正在我的应用中实现 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?

【问题讨论】:

    标签: android facebook facebook-sdk-4.0


    【解决方案1】:

    只有在用户授权您的应用程序(即通过您的应用程序登录 Facebook)时,您才会获得 onCancel。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 2014-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多