如何检查用户是否成功完成了Facebook共享

问题描述:

我在我的应用中使用了Facebook android sdk v4.10.0,并且我实现了shareDialog并且工作正常,我想要做的是检查用户是真正共享还是只需点击后退按钮/取消共享过程。如何检查用户是否成功完成了Facebook共享

我有这样的代码:

FacebookSdk.sdkInitialize(getApplicationContext()); 

    callbackManager = CallbackManager.Factory.create(); 
    shareDialog = new ShareDialog(this); 

    shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() { 
     @Override 
     public void onSuccess(Sharer.Result result) { 

       Toast.makeText(getBaseContext(), 
         "Share success!", 
         Toast.LENGTH_SHORT).show(); 

       UserShared(); 

     } 

     @Override 
     public void onCancel() { 
      UserCanceled(); 
     } 

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

而且我重写onActivityResult:

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

,但我仍然无法验证用户真正共享或刚刚取消,在这两种情况下UserShared ()方法被调用。

任何帮助?

谢谢。

+1

为什么你需要知道用户是否共享? – WizKid

The Sharer.Result result has the post Id.

如果文章ID不存在职位已被取消。否则您的用户已发布。

干杯!

+0

这仅适用于未在设备上安装Facebook本机应用程序。 – Thaer

+0

你是什么意思?你没有得到结果对象中的帖子的id?如果它不是null,它就有id。 _Helper对象用于处理共享对话框的结果或从文档*享操作_ –

+0

是的,我不明白它,它总是返回null,请在此处查看[链接](http://*.com/a/34611347/3756596) – Thaer