2015-02-05 73 views
1

我想包括一个简单的Facebook在我与Facebook的SDK应用程序共享对话框。 我不喜欢在共享教程中所描述的一切:https://developers.facebook.com/docs/android/share?localeAndroid的Facebook分享对话框回调

在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始终为空。 有没有要求获得用户在墙上发布的回调天气的许可方式?

回答

1

从的javadoc - https://developers.facebook.com/docs/reference/android/current/class/FacebookDialog#getNativeDialogDidComplete - 如果本地对话框正常完成(没有错误或异常),此方法将返回true。因此,如果用户点击共享/发布按钮或取消,则对话框会正常完成。只有当出现错误时,此方法才会返回false。

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

相关问题