gpt4 book ai didi

android - 使用 Facebook android SDK ShareDialog。单击 shareddialog 的交叉按钮返回到带有 onSuccess 回调的应用程序

转载 作者:太空狗 更新时间:2023-10-29 13:51:36 25 4
gpt4 key购买 nike

我正在使用 Facebook Android SDK 版本 4.25 和 ShareLinkContent、ShareDialog 代表使用我的应用程序的用户发布到 Facebook。

这是当用户点击我的应用的共享功能时打开的对话框

enter image description here

如图所示,shareddialog 中有两个十字图标。当我单击上方的十字图标时,shareddialog 关闭并调用 onCancel 回调。

问题是,当我单击下方的十字图标时,onSuccess 回调的调用与我单击“发布”按钮时相同。当他分享帖子到 Facebook 时,我想给用户一些积分。但我也在较低的十字图标上获得成功回调。该怎么办?谢谢你。

这是我正在使用的回调代码:-

shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {

@Override
public void onSuccess(Sharer.Result result) {

Log.e(LOG_TAG, "Facebook share success " + result.getPostId());

}

@Override
public void onCancel() {

Log.e(LOG_TAG, "Facebook share cancel");

}

@Override
public void onError(FacebookException error) {

Log.e(LOG_TAG, "Facebook share error");

}

});

最佳答案

当您单击上方的十字时,您实际上是在关闭您自己的调用 onCancel 的对话框。但是当点击下面的十字时,它实际上是在 facebook View 中。所以回调是从 facebook 返回的,而不是你的对话框。尝试:

@Override
public void onSuccess(Sharer.Result result) {
Log.e(LOG_TAG, "Facebook share success " + result.getPostId());
//Notice this post id in both, cross click and when the status is updated successfully
//So, if you don't get a valid post id returned, you can count it as a cancel.
}

关于android - 使用 Facebook android SDK ShareDialog。单击 shareddialog 的交叉按钮返回到带有 onSuccess 回调的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46341617/

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