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