【问题标题】:Android Facebook share dialog callbackAndroid Facebook 分享对话框回调
【发布时间】:2015-02-07 02:15:07
【问题描述】:

我正在尝试使用 Facebook sdk 在我的应用程序中包含一个简单的 Facebook 共享对话框。 我做了分享教程中描述的所有事情:https://developers.facebook.com/docs/android/share?locale

在 onActivityResult 回调中我使用 uiHelper 回调

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    uiHelper.onActivityResult(requestCode, resultCode, data, new FacebookDialog.Callback() {
        @Override
        public void onError(FacebookDialog.PendingCall pendingCall, Exception error, Bundle data) {
            Log.e("Activity", String.format("Error: %s", error.toString()));
        }

        @Override
        public void onComplete(FacebookDialog.PendingCall pendingCall, Bundle data) {
            boolean didCancel = FacebookDialog.getNativeDialogDidComplete(data);
            String completionGesture = FacebookDialog.getNativeDialogCompletionGesture(data);
            String postId = FacebookDialog.getNativeDialogPostId(data);
            Log.i("Activity", "Success!");
        }
    });

}

didCancel 总是正确的——不管我是否在墙上发帖。 completionGesture 和 postId 始终为空。 有没有办法在不请求许可的情况下获取用户在他的墙上发布的回调天气?

【问题讨论】:

    标签: android facebook share


    【解决方案1】:

    来自 javadocs - https://developers.facebook.com/docs/reference/android/current/class/FacebookDialog#getNativeDialogDidComplete - 如果本机对话框正常完成(没有错误或异常),此方法将返回 true。因此,如果用户单击“共享/发布”按钮或“取消”,对话框将正常完成。这个方法只有在出错的时候才会返回false。

    至于完成手势,请参阅 Android 共享文档的处理响应部分 - https://developers.facebook.com/docs/android/share#linkshare-handlingresponses - 只有当用户通过您的应用使用 Facebook 登录登录时,您才会获得这些字段。如果用户没有通过您的应用登录,则不可用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      • 2015-09-27
      • 2015-06-13
      相关资源
      最近更新 更多