gpt4 book ai didi

Android Facebook SDK 4.0.0 分享回调不正常

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:39 24 4
gpt4 key购买 nike

我正在使用以下代码在 Facebook 上分享链接。当用户在共享对话框界面上单击取消时,有时会调用 onSuccess() 回调方法而不是 onCancel()。并获取帖子 ID 为空。请帮我看看出了什么问题?

ShareButton btn;
CallbackManager callbackManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(this);
callbackManager = CallbackManager.Factory.create();
setContentView(R.layout.activity_share);

btn = (ShareButton) findViewById(R.id.btn_share);

btn.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
Log.e("Tag","Successfully posted");
Log.e("Post id",result.getPostId());
}

@Override
public void onCancel() {

Log.e("Tag","Canceled by user");

}

@Override
public void onError(FacebookException error) {

Log.e("Tag",error.getLocalizedMessage());
}
});
ShareLinkContent content = new ShareLinkContent.Builder()
.setContentUrl(Uri.parse("My Custom URL"))
.setContentTitle("Test")
.build();

btn.setShareContent(content);

}

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

最佳答案

好吧,也许我迟到了,但几周前我遇到了同样的问题。我注意到,如果您在基于 Web 的共享对话框中按取消,则会调用 onSuccess() 方法,但 Share.Result 对象包含一个空 postId,因此您可以通过检查来控制用户何时按下取消或共享分享。结果回应。

我注意到的另一件事是,如果您在安装 native 应用程序的情况下共享内容,postId 字段始终为空...因此您必须检查用户是否安装了该应用程序以检查 postId 字段。

关于Android Facebook SDK 4.0.0 分享回调不正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30030097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com